using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace SAL_OUTSTOCK.Request { public class GP_FPKJ { [JsonProperty(propertyName: "REQUEST_COMMON_FPKJ")] public REQUEST_COMMON_FPKJ FPKJ { get; set; } public class REQUEST_COMMON_FPKJ { /// /// 设备编号 /// public string SBLX { get; set; } /// /// 设备类型 必填 /// 1-税控盘 2-金税盘 3-Ukey 4-老税控服务器 6-数电 /// public string SBBH { get; set; } /// /// 发票请求流水号 必填 /// 企业内部唯一请求开票流 /// 水号,每个请求流水号只能 /// 开一次, 流水号前面以公司 /// 名称前缀例如国信电票: /// GXDP201604201454001 /// public string FPQQLSH { get; set; } /// /// 开票终端代码 /// public string KPZDDM { get; set; } /// /// 发票类型代码 /// 026增值税普票(电票) /// 004增值税专票(纸票) /// 028增值税专票(电票) /// 007增值税普票(纸票) /// 030数电普票 /// 032数电专票 /// public string FPLXDM { get; set; } /// /// 开票类型 必填 /// 0-蓝字发票;1-红字发票 /// public string KPLX { get; set; } public string BMB_BBH { get; set; } /// /// 征税方式 必填 /// 0:普通征税 /// 1:减按计征 /// 2:差额征税 /// public string ZSFS { get; set; } /// /// 征税方式信息 数电 /// 需要开具减按计征/差额征税的票此节点必填,否则可省略 /// 报文结构见:八、征税方式报文 /// public ZSFSXX ZSFSXX { get; set; } /// /// 销售方纳税人识别号 /// public string XSF_NSRSBH { get; set; } /// /// 销售方名称 /// public string XSF_MC { get; set; } /// /// 销售方地址 电话 /// public string XSF_DZDH { get; set; } /// /// 销售方银行账号 /// 销售方开户行销售方银行账号(以空格分隔开户行账号) /// public string XSF_YHZH { get; set; } /// /// 购买方纳税人识别号 /// public string GMF_NSRSBH { get; set; } /// /// 购买方名称 /// public string GMF_MC { get; set; } /// /// 购买方地址 电话 /// public string GMF_DZDH { get; set; } /// /// 购买方银行账号 /// 购买方开户行购买方银行账号(以空格分隔开户行账号) /// public string GMF_YHZH { get; set; } /// /// 购买方手机号 /// public string GMF_SJH { get; set; } /// /// 购买方电子邮箱 /// public string GMF_DZYX { get; set; } /// /// 购买方发票通平台账户 /// 发票通平台(Fapiao.com)注册账户名,用于接收和归集电子发票 /// public string FPT_ZH { get; set; } public string WX_OPENID { get; set; } /// /// 开票人 必填 /// public string KPR { get; set; } /// /// 收款人 /// public string SKR { get; set; } /// /// 复核人 /// public string FHR { get; set; } /// /// 原发票代码 /// 红字票时必填(数电不需要填) /// public string YFP_DM { get; set; } /// /// 原发票号码 /// 红字发票时必填 /// public string YFP_HM { get; set; } /// /// 价税合计 必填 /// 单位:元(2位小数) /// public string JSHJ { get; set; } /// /// 合计金额 必填 /// 不含税,单位:元(2位小数) /// public string HJJE { get; set; } /// /// 合计税额 必填 /// 单位:元(2位小数) /// public string HJSE { get; set; } /// /// 扣除额 /// 小数点后2位,当ZSFS为2时扣除额为必填项 /// public string KCE { get; set; } /// /// 备注 长度240 /// 电普备注长度应减去”对应正数发票代码:XXXXXXXXXXXX号码:YYYYYYYY\n”字样长度,长度剩余160。 /// 专票,最大长度为184。若zsfs同时为2,备注长度为160。 /// 普票,最大长度138。若zsfs同时为2,备注长度为114。 /// 蓝票差额216 /// 蓝票无差额240 /// 红票差额181 /// 红票无差额205 /// public string BZ { get; set; } /// /// 原发票类型 /// 红字发票时必填(数电不需要填) /// public string YFP_LX { get; set; } /// /// 原发票日期 /// 若使用金税盘盘柜,则YFP_RQ格式为YYYYMM; /// 若SBLX=4,红字发票时必填,YYYYMMDD /// 若SBLX = 6,数电红字发票时必填,yyyy-MM-ddHH:mm:ss /// public string YFP_RQ { get; set; } /// /// 冲红原因代码 /// SBLX=4(旧税控) SBLX=6(数电) /// 红字发票时必填 1-销货退回 2-开票有误 /// public string CHYYDM { get; set; } /// /// 3%税率开具发票理由 /// 2、前期已开具3%征收率发票,发生销售折让、中止或者退回等情形需要开具红字发票,或者开票有误需要重新开具。 /// 3、因为实际经营业务需要,放弃享受减按1%征收率征收增值税政策。 /// public string SSLKJLY { get; set; } public string BY1 { get; set; } /// /// 备用字段2 订单号 /// public string BY2 { get; set; } public string BY3 { get; set; } public string BY4 { get; set; } public string BY5 { get; set; } public string BY6 { get; set; } public string BY7 { get; set; } public string BY8 { get; set; } public string BY9 { get; set; } public string BY10 { get; set; } public string WX_ORDER_ID { get; set; } public string WX_APP_ID { get; set; } public string ZFB_UID { get; set; } /// /// 特殊代码标识 见:6.3.特殊票种(特定要素类型)代码 /// public string TSPZ { get; set; } public TSPZXX TSPZXX { get; set; } /// /// 全局唯一订单ID /// 通过税号、内部唯一流水号等做MD5后的值 /// public string QJ_ORDER_ID { get; set; } /// /// 清单标志 /// 纸票字段 0无清单 1有清单 /// public string QDBZ { get; set; } /// /// 通知单编号 /// 非数电专票字段:16位数字,通知单编号 /// 数电专票或普票字段:代表信息表编号(XXBBH) /// 数电开具红票,若已申请红字确认单,则必填 /// public string TZDBH { get; set; } /// /// 红字确认单UUID /// 数电非必填 /// 数电开具红票,若已申请红 /// 字确认单,则必填 /// public string HZQRDUUID { get; set; } /// /// 经办人证件号码 数电 /// public string JBRZJHM { get; set; } /// /// 经办人证件种类代码 数电 /// 见:6.1经办人证件种类代码码表 /// public string JBRZJZLDM { get; set; } /// /// 经办人国籍代码 数电 /// 见:6.2经办人国籍代码 /// public string JBRGJDM { get; set; } /// /// 经办人纳税人识别号 数电 /// public string JBRZRRNSRSBH { get; set; } /// /// 经办人姓名 数电 /// public string JBRXM { get; set; } /// /// 购买方自然人标识 数电 /// 默认N Y-是N-否 /// public string GMF_ZRRBS { get; set; } /// /// 是否展示购买方银行账号 数电 /// Y-是N-否 /// public string SFZSGMFYHZH { get; set; } /// /// 是否展示销售方银行账号 数电 /// Y-是N-否 /// public string SFZSXSFYHZH { get; set; } /// /// 项目明细(最大100条) /// public List COMMON_FPKJ_XMXX { get; set; } /// /// 回调地址 500 仅异步返回时生效 /// public string CALLBACK_URL { get; set; } /// /// 流水号 36 供异步返回或异步推送时使用,请求唯一,除非是二次查询结果的重复请求 /// public string LSH { get; set; } } public class ZSFSXX { } public class TSPZXX { public object[] TDYS { get; set; } } public class COMMON_FPKJ_XMXX { /// /// 发票行性质 必填 0正常行、1折扣行、2被折扣行 /// public string FPHXZ { get; set; } /// /// 商品编码 必填 /// public string SPBM { get; set; } /// /// 自行编码 /// public string ZXBM { get; set; } /// /// 优惠政策标识 /// 0:不使用,1:使用 /// public string YHZCBS { get; set; } /// /// 零税率标识 /// 空:非零税率,1:免税,2:不征收,3普通零税率 /// public string LSLBS { get; set; } /// /// 增值税特殊管理 /// public string ZZSTSGL { get; set; } /// /// 项目名称 必填 /// 如果为折扣行,商品名称须与被折扣行的商品名称相同,不能多行折扣。 /// public string XMMC { get; set; } /// /// 规格型号 /// public string GGXH { get; set; } /// /// 计量单位 /// 若TSPZ为08,此项必填,必须为“吨”或者“升” /// public string DW { get; set; } /// /// 项目数量 /// 总长度包含小数点不能超过15位;若TSPZ为08,此项必填,不能为0。 /// public string XMSL { get; set; } /// /// 项目单价 /// 卷票为含税,其他不含税。 /// 总长度包含小数点不能超过15位(只有当ZSFS为1时,此处填含税单价) /// 若TSPZ为08,此项必填,不能为0。 /// public string XMDJ { get; set; } /// /// 项目金额 必填 /// 卷票为含税,其他不含税。单位:元(最多保留2位小数) /// (只有当ZSFS为1时,此处填含税金额) /// public string XMJE { get; set; } /// /// 税率 必填 /// 2位小数,例1%为0.01 /// public string SL { get; set; } /// /// 税额 必填 /// 单位:元(2位小数) /// public string SE { get; set; } public string BY1 { get; set; } public string BY2 { get; set; } public string BY3 { get; set; } public string BY4 { get; set; } public string BY5 { get; set; } } } }