发票开具
接口规范包括通 用规范和业务规范。通用规范描述所有接口必须遵守的公共部分,业务规范根据具体业务交 互内容不同,描述实际业务需要的详细数据内容。
请求地址:
| 环境 | http请求地址 | 请求方式 | 接口编码 |
|---|---|---|---|
| 正式环境 | http://IP:port/OpenApi/InvoiceOpenApi/v2.0/InvoiceIssue | POST |
请求报文(DATA):
请求参数说明:
| 参数 | 参数名称 | 类型 | 是否必须 | 长度 | 说明 |
|---|---|---|---|---|---|
| FPQQLSH | 请求流水号 | String | 是 | 50 | 流水号(生成规则:税号 + 随机数 长度为30 唯一值) |
| ORDERNO | 企业订单号 | String | 否 | 50 | |
| GHFMC | 购货方名称 | String | 是 | 100 | 必填 |
| GHFNSRSBH | 购货方纳税人识别号 | String | 否 | 20 | |
| GHFDZ | 购货方地址 | String | 否 | 100 | |
| GHFDH | 购货方电话 | String | 否 | 100 | |
| GHFKHYH | 购货方开户行 | String | 否 | 100 | |
| GHFKHYHZH | 购货方开户银行账号 | String | 否 | 100 | |
| GHFSJ | 购货方手机 | String | 否 | 20 | 消息推送 |
| GHFYX | 购货方邮箱 | String | 否 | 100 | 消息推送 |
| JSHJ | 价税合计 | Decimal | 是 | 20 | 保留2位小数,开票类型为 1:对应正数发票金额 * -1 |
| HJSE | 合计税额 | Decimal | 是 | 20 | 保留2位小数,开票类型为 1:对应正数发票金额 * -1 |
| HJJE | 合计金额 | Decimal | 是 | 20 | 保留2位小数,开票类型为 1:对应正数发票金额 * -1 |
| KPLX | 开票类型 | String | 是 | 1 | 1:红票,0:正票 |
| ORIGINFPDM | 原发票代码 | String | 否 | 12 | 开票类型为1时,必填,对应的正数发票代码 |
| ORIGINFPHM | 原发票号码 | String | 否 | 8 | 开票类型为1时,必填,对应的负数发票号码 |
| XHFMC | 销货方名称 | String | 否 | - | 默认为空 |
| XHFNSRSBH | 销货方纳税人识别号 | String | 否 | - | 默认为空 |
| XHFDZ | 销货方地址 | String | 否 | - | 默认为空 |
| XHFDH | 销货方电话 | String | 否 | - | 默认为空 |
| XHFKHYH | 销货方开户银行 | String | 否 | - | 默认为空 |
| XHFKHYHZH | 销货方开户银行账号 | String | 否 | - | 默认为空 |
| KPR | 开票人 | String | 否 | - | 默认为空 |
| FHR | 复合人 | String | 否 | - | 默认为空 |
| SKR | 收款人 | String | 否 | - | 默认为空 |
| QDBZ | 清单标志 | String | 是 | 1 | 默认为 0 普通电子发票,其他类型参考扩展说明:清单标志 |
| SGBZ | 收购标志 | String | 否 | - | 默认为空,成品油发票填: C |
| DKXX | 代开信息 | String | 否 | - | |
| BZ | 备注 | String | 否 | 200 | 开票类型为1 或者开具 差额票时:参照扩展说明:备注说明规范 |
| 发票明细信息 | |||||
| SPMC | 商品名称 | String | 是 | 90 | 如果存在折扣行,折扣行商品名称和被折扣行商品名称要一致,折扣行要紧挨着被折扣行 |
| SPBM | 商品编码 | String | 是 | 19 | 商品编码,根据商品编码表获得,长度19位(不足末位补0) |
| SPBMJM | 商品简码 | String | 是 | 50 | 商品简码,根据商品编码表获得 格式如:”*服务费*” ;前后用”*“+商品简码连接 |
| SPSLV | 税率 | Decimal | 是 | 10 | 保留2位小数 |
| SPSL | 数量 | Decimal | 否 | 20 | |
| SPDJ | 单价 | Decimal | 否 | 20 | |
| SPSE | 税额 | Decimal | 是 | 20 | 单位:元(2位小数) |
| SPJE | 金额 | Decimal | 是 | 16 | 单位:元(2位小数) |
| SPGGXX | 规格型号 | String | 否 | 20 | |
| SPJLDW | 计量单位 | String | 否 | 22 | |
| SPHXZ | 发票行性质 | String | 是 | 1 | 0:正常行1:折扣行2:被折扣行 |
| SPZKHBH | 折扣编号 | String | 否 | 5 | 行性质为 2 或 1 时必填,被折扣行与折扣行的折扣编号一致(编号示例:“ZK001”长度为5)同一行商品不能被多次折扣 |
| LSLBS | 零税率标识 | String | 否 | 1 | 空:非零税率0:出口零税1:免税2:不征税3:普通零税率 |
| YHZCBS | 优惠政策内容 | String | 是 | 1 | 0:不使用,1:使用零税率必享受优惠政策 |
| ZZSTSGL | 增值税特殊管理 | String | 否 | 500 | YHZCBS:1时必填参照扩展说明:增值税特殊管理 |
| HSBZ | 含税标志 | String | 是 | 1 | 默认填写: 1 ;0:不含税,1:含税 |
| KCE | 扣除额 | Decimal | 否 | - | 空:不处理,不为空:按差额发票处理,参照扩展说明:差额征税 |
异步请求响应参数:
响应参数说明:
| 参数 | 参数名称 | 类型 | 是否必须 | 长度 | 说明 |
|---|---|---|---|---|---|
| RETURNCODE | 返回状态码 | String | 是 | - | 200 接收成功 |
| RETURNMESSAGE | 返回描述 | String | 是 | - |
异步结果响应参数:
异步结果响应参数说明:
| 参数 | 参数名称 | 类型 | 是否必须 | 长度 | 说明 |
|---|---|---|---|---|---|
| RETURNCODE | 返回码 | String | 是 | - | 0000 成功,其他失败 |
| RETURNMESSAGE | 返回描述 | String | 否 | - | |
| FPQQLSH | 流水号 | String | 是 | - | 与请求提交流水号一致 |
| FPHM | 发票号码 | String | 是 | - | |
| FPDM | 发票代码 | String | 是 | - | |
| KPRQ | 开票日期 | String | 是 | - | yyyy-MM-dd hh:mm:ss |
| JQBH | 机器编号 | String | 是 | - | |
| FPMW | 发票密文 | String | 是 | - | |
| JYM | 校验码 | String | 是 | - | |
| EWM | 二维码 | String | 是 | - | |
| QZRQ | 签章日期 | String | 否 | - | yyyy-MM-dd hh:mm:ss为空时:签章失败 |
| PDFURL | Pdf下载地址 | String | 否 | - | 签章日期为空时:显示签章失败异常原因 |
开票报文:
差额征税报文:
带折扣行报文:
成品油发票报文: