订单发票冲红接口
需授权 预计阅读时间: 22 分钟公共参数
名称 | 说明 |
---|---|
appCode | 由电子发票平台分配的 appCode |
cmdName | chinaeinv.api.order.v11.ch_async |
sign | 数字签名字符串,调用方需要使用电子发票服务平台供的数字证书对 请求报文进行签名并作 Base64 编码,生成数字签名字符串。 |
请求参数说明
名称 | 类型 | 必填 | 长度 | 描述 |
---|---|---|---|---|
orderNo | String | 是 | 50 | 订单编号。 |
subOrderNo | String | 如果开票时传入了子订单编号,则必须填写 | 50 | 子订单编号。 |
taxpayerCode | String | 是 | 20 | 销货方纳税人识别号。 |
reason | String | 是 | 250 | 冲红原因。原因必须为以下内容之一:销货退回;开票有误;服务中止;销售折让;如原因不为以上四项,则默认为”开票有误“; |
orderItems | Array | 否 | 100 | 发票项目明细列表。每张发票最多一百条。如果为空则按照原订单金额和明细全额冲红。如果不为空则按照该明细和金额进行部分冲红。 |
├ code | String | 否 | 50 | 商品编码。 |
├ name | String | 是 | 90 | 商品名称。 |
├ spec | String | 否 | 40 | 规格型号。 |
├ price | Number | 都为空或都不为空 | 18(整)6(小) | 商品单价。必须等于金额/数量的四舍五入值。 |
├ quantity | Number | 都为空或都不为空 | 18(整)6(小) | 数量。必须小于等于-0.000001。 |
├ uom | String | 否 | 20 | 单位。 |
├ taxRate | Number | 是 | 2(小) | 税率。只能为0、0.03、0.04、0.06、0.11、0.13或0.17。 |
├ amount | Number | 是 | 18(整)6(小) | 税价合计金额。必须小于等于-0.000001。 |
├ catalogCode | String | 否 | 50 | 商品分类编码。 如果为空,必须在瑞宏网后台手动配置商品名称与分类编码表,开票时会从该表中获取分类编码。如果不为空,则优先使用传入的值。目前的分类编码为19位,不足19位的在后面补0。 |
├ preferentialPolicyFlg | String | 否 | 1 | “优惠政策标识。0:不使用,1:使用。” |
├ addedValueTaxFlg | String | 当优惠政策标识为1时必填 | 1 | 增值税特殊管理。 |
└ zeroTaxRateFlg | String | 否 | 1 | “零税率标识。1:免税,2:不征税,3:普通零税率。税率为零的情况下,如果不传,则默认为1。” |
extendedParams | Object | 否 | 20 | 扩展参数。一组Key-Value形式的数据,会在响应报文中回传给调用方,由调用者和瑞宏网双方根据实际情况协商使用。 |
返回参数说明
名称 | 类型 | 描述 |
---|---|---|
code | String | 处理结果代码。 |
message | String | 处理结果消息。 |
请求报文示例
{
"orderNo": "订单编号",
"subOrderNo": "子订单编号",
"scanCodeKey": "购货方扫码开票时使用的唯一标识",
"taxpayerCode": "销货方纳税人识别号",
"shopCode": "店铺编号",
"shopName": "店铺名称",
"orderTime": "订单创建时间",
"contact": "联系人",
"contactTel": "联系电话",
"contactMail": "联系邮箱",
"shippingAddress": "配送地址",
"taxpayerName": "销货方名称",
"taxpayerAddress": "销货方地址",
"taxpayerTel": "销货方电话",
"taxpayerBankName": "销货方开户银行",
"taxpayerBankAccount": "销货方银行账号",
"customerName": "购货方名称,即发票抬头",
"customerCode": "购货方纳税人识别号",
"customerAddress": "购货方地址",
"customerTel": "购货方电话",
"customerBankName": "购货方开户银行",
"customerBankAccount": "购货方银行账号",
"autoBilling": "是否自动开票",
"drawer": "开票人",
"payee": "收款人",
"reviewer": "复核人",
"totalAmount": "税价合计金额",
"remark": "发票备注",
"orderItems": [
{
"code": "商品编码",
"name": "商品名称",
"price": "商品单价",
"quantity": "数量",
"taxRate": "税率",
"uom": "单位",
"spec": "规格型号",
"amount": "税价合计金额",
"catalogCode": "商品分类编码",
"preferentialPolicyFlg": "优惠政策标识",
"addedValueTaxFlg": "增值税特殊管理",
"zeroTaxRateFlg": "零税率标识"
}
],
"extendedParams": {
"扩展参数1的key": "扩展参数1的value",
"扩展参数2的key": "扩展参数2的value"
}
"dynamicParams": {
"callbackUrl": "回调地址"
}
}
响应报文示例
{
"code": "处理结果代码",
"message": "处理结果消息"
}
返回错误说明
代码 | 说明 |
---|---|
0 | 处理成功。 |
1 | 系统内部错误,如出现该错误请及时联系电子发票服务平台。 |
2 | 参数校验未通过,详情请参考处理结果消息。 |
3 | appCode不存在或数字证书不可用。 |
4 | 数字签名错误,请检查数字证书、字符编码格式等是否正确。 |
6 | 正在处理中。 |
400 | 纳税人不存在或不可用,可能是传入的纳税人识别号错误或正在对该纳税人进行维护。 |
401 | 要查询的发票不存在。 |
502 | “订单的状态不是“待开票”或“开票失败”,不能开票。” |
503 | “订单的状态不是“开票成功”或“开票失败”,不能冲红。” |
504 | 订单不存在 |
505 | “订单没有找到对应的蓝票,不能冲红。” |
506 | 冲红金额超过对应蓝票金额。 |
507 | 订单已开票,不能重复开票。 |