发票冲红接口
需授权 预计阅读时间: 23 分钟公共参数
名称 | 说明 |
---|---|
appCode | 由电子发票平台分配的 appCode |
cmdName | chinaeinv.api.invoice.v3.ch_async |
sign | 数字签名字符串,调用方需要使用电子发票服务平台供的数字证书对 请求报文进行签名并作 Base64 编码,生成数字签名字符串 |
请求参数说明
名称 | 类型 | 必传 | 长度 | 描述 |
---|---|---|---|---|
serialNo | String | 是 | 50 | 操作流水号。传入重复的操作流水号则认为是重复操作。 |
postTime | String | 是 | 19 | 请求发送时间。格式为yyyy-MM-dd HH:mm:ss。 |
originalCode | String | 是 | 20 | 原发票代码+原发票号码。 |
reason | String | 是 | 250 | 冲红原因。原因必须为以下内容之一:销货退回;开票有误;服务中止;销售折让;如原因不为以上四项,则默认为”开票有误“; |
items | Array | 否 | 100 | 发票项目明细列表。每张发票最多一百条。如果为空则按照原发票金额和明细全额冲红。如果不为空则按照该明细和金额进行部分冲红。 |
├ type | String | 是 | 1 | 发票行性质 固定为0。 |
├ code | String | 否 | 50 | 商品编码。 |
├ name | String | 是 | 90 | 商品名称。 |
├ spec | String | 否 | 40 | 规格型号。 |
├ price | Number | 两者要么都为空,要么都不为空。 | 18(整)6(小) | 商品单价。必须等于amount/quantity的四舍五入值。 |
├ quantity | Number | 两者要么都为空,要么都不为空。 | 18(整)6(小) | 数量。必须小于等于-0.000001。 |
├ uom | String | 否 | 20 | 单位。 |
├ taxRate | Number | 是 | 6(小) | 税率。只能为0或0.03或0.04或0.06或0.11或0.13或0.17。 |
├ amount | Number | 是 | 18(整)2(小) | 税价合计金额。必须小于等于-0. 01。 |
├ catalogCode | String | 是 | 50 | 商品分类编码。目前的分类编码为19位,不足19位的在后面补0。 |
├ preferentialPolicyFlg | String | 否 | 1 | 优惠政策标识。0:不使用,1:使用。 |
├ addedValueTaxFlg | String | 当优惠政策标识为1时必填 | 1 | 增值税特殊管理。 |
└ zeroTaxRateFlg | String | 否 | 1 | 零税率标识。1:免税,2:不征税,3:普通零税率。税率为零的情况下,如果不传,则默认为1。 |
notices | Array | 否 | 3 | 通知方式列表。 |
├ type | String | 是 | 通知类型。短信:sms;电子邮件:email。 | |
└ value | String | 是 | 通知类型为短信时,必须为手机号码;通知类型为电子邮件时,必须为邮件地址。 | |
extendedParams | Object | 否 | 20 | 扩展参数。一组Key-Value形式的数据,会在响应报文中回传给调用方,由调用者和瑞宏网双方根据实际情况协商使用。 |
返回参数说明
名称 | 类型 | 描述 |
---|---|---|
serialNo | String | 操作流水号。 |
postTime | String | 响应发送时间。格式为yyyy-MM-dd HH:mm:ss。 |
code | String | 处理结果代码。 |
message | String | 处理结果消息。 |
请求报文示例
{
"serialNo": "操作流水号",
"postTime": "请求发送时间。格式为yyyy-MM-dd HH:mm:ss。",
"order": {
"account": "消费者的用户名",
"address": "货物配送地址",
"email": "消费者电子邮件地址",
"tel": "消费者电话号码",
"orderNo": "订单编号"
},
"invoice": {
"taxpayerCode": "销货方纳税人识别号",
"taxpayerAddress": "销货方地址",
"taxpayerTel": "销货方电话",
"taxpayerBankName": "销货方开户银行",
"taxpayerBankAccount": "销货方银行账号",
"customerName": "购货方名称,即发票抬头",
"customerCode": "购货方纳税人识别号",
"shopCode" : "站点/门店/店铺编号",
"shopName" : "站点/门店/店铺名称",
"drawer": "开票人",
"totalAmount": "税价合计金额",
"remark": "发票备注",
"customerAddress": "购货方地址",
"customerTel": "购货方电话",
"customerBankName": "购货方开户银行",
"customerBankAccount": "购货方银行账号",
"payee": "收款人",
"reviewer": "复核人",
"items": [
{
"amount": "税价合计金额",
"code": "商品编码",
"name": "商品名称",
"price": "商品单价",
"quantity": "数量",
"taxRate": "税率",
"uom": "单位",
"type": "发票行性质",
"spec": "规格型号",
"catalogCode": "商品分类编码",
"preferentialPolicyFlg": "优惠政策标识",
"addedValueTaxFlg": "增值税特殊管理",
"zeroTaxRateFlg": "零税率标识"
}
]
},
"notices": [
{
"type": "通知类型",
"value": "通知类型对应的值"
}
] ,
"extendedParams": {
"扩展参数1的key": "扩展参数1的value",
"扩展参数2的key": "扩展参数2的value"
}
"dynamicParams": {
"callbackUrl": "扩展参数1的value"
}
}
响应报文示例
{
"serialNo": "操作流水号",
"postTime": "响应发送时间。格式为yyyy-MM-dd HH:mm:ss",
"code": "处理结果代码",
"message": "处理结果消息"
}
返回错误说明
代码 | 说明 |
---|---|
0 | 处理成功。 |
1 | 系统内部错误,如出现该错误请及时联系电子发票服务平台。 |
2 | 参数校验未通过,详情请参考处理结果消息。 |
3 | appCode不存在或数字证书不可用。 |
4 | 数字签名错误,请检查数字证书、字符编码格式等是否正确。 |
5 | 重复操作,即serialNo重复。 |
6 | 正在处理中。 |
400 | 纳税人不存在或不可用,可能是传入的纳税人识别号错误。 |
401 | 要冲红或者查询的发票不存在。 |