发票查验服务
服务简码
HIVC
默认端口
8015
组件编码
hzero-invoice
简介
1.1 概述
通过传入发票六要素,或者发票图片地址,识别发票结构化信息,并完成发票真实性检查。
1.2 主要功能
- 根据发票六要素手工查验发票
- 根据发票图片识别,并完成发票查验
开发指导
2.1 服务配置
手动查验的订单号,需要向海马汇购买
hzero:
invoice:
helios:
check-order-no: ${HELIOS_CHECK_ORDER_NO:}
OCR查验的订单号,需要向海马汇购买
hzero:
invoice:
helios:
ocr-order-no: ${HELIOS_OCR_ORDER_NO:}
查验使用的接口需要定义在hzero接口平台,以下为接口平台的参数: 接口定义的服务编码
hzero:
invoice:
interface-config:
server-code: ${INTERFACE_SERVER_CODE:}
接口定义,手工查验接口的编码
hzero:
invoice:
interface-config:
check-interface-code: ${INTERFACE_CHECK_CODE:}
接口定义,ocr查验接口的编码
hzero:
invoice:
interface-config:
ocr-interface-code: ${INTERFACE_OCR_CODE:}
上述配置都是必须的,否则查验功能不能使用。
2.2 发票六要素查验
POST /v1/{organizationId}/invoice/check
传入参数
{
"invoiceTypeNo": "04",
"invoiceCode": "3100164320",
"invoiceNo": "59957351",
"billingDate": "20190306",
"invoiceAmount": 123,
"checkCode": "315048"
}
参数说明
字段名 | 含义 |
---|---|
invoiceTypeNo | 发票类型代码 |
invoiceCode | 发票代码 |
invoiceNo | 发票号码 |
billingDate | 开票日期 |
checkCode | 校验码后六位 |
发票类型解释
发票类型代码 | 类型说明 |
---|---|
01 | 增值税专用发票 |
02 | 货运运输业增值税专用发票 |
03 | 机动车销售统一发票 |
04 | 增值税普通发票 |
10 | 增值税普通发票(电子) |
11 | 增值税普通发票(卷式) |
14 | 通行费发票 |
返回参数
[
{
"data": {
"beginTime": 0,
"billingTime": 0,
"checkCode": "string",
"checkPlatform": "string",
"detail": "string",
"deviceNumber": "string",
"draweeAddressPhone": "string",
"draweeBankAccount": "string",
"draweeNo": "string",
"endTime": 0,
"fee": 0,
"feeWithoutTax": 0,
"invalidStatus": "string",
"invoiceCode": "string",
"invoiceGoods": [
{
"amount": 0,
"brandModel": "string",
"carType": "string",
"certificateNumber": "string",
"commodityInspectionNo": "string",
"count": "string",
"detailNo": "string",
"engineNumber": "string",
"expenseItem": "string",
"frameNumber": "string",
"goodsName": "string",
"importCertificate": "string",
"invoiceUniqueCode": "string",
"limitMultiplier": "string",
"organizationCode": "string",
"passDateFrom": "string",
"passDateTo": "string",
"placeOfOrigin": "string",
"plateNumber": "string",
"specificationModel": "string",
"taxPrice": 0,
"taxRate": "string",
"tonnage": "string",
"unit": "string",
"unitPrice": 0,
"vehicleType": "string"
}
],
"invoiceNo": "string",
"invoiceTypeNo": "string",
"payee": "string",
"payeeAddressPhone": "string",
"payeeBankAccount": "string",
"payeeNo": "string",
"remark": "string",
"tax": 0,
"taxAuthorityName": "string",
"taxAuthorityNo": "string",
"taxCertificateNumber": "string",
"taxRate": 0,
"title": "string",
"tollType": "string",
"tollZeroTaxFlag": "string",
"type": "string"
},
"error": "string",
"errorCode": "string",
"error_description": "string",
"message": "string",
"resultId": 0
}
]
状态字段
字段名 | 含义 |
---|---|
resultId | 查验结果id,存在则表示查验成功 |
message | 查验结果描述 |
errorCode | 公共错误码 |
发票对象
参数名 | 类型 | 说明 | 备注 |
---|---|---|---|
beginTime | String | 发票的有效期起始时间 | 无 |
endTime | String | 发票的有效期截止时间 | 无 |
type | String | 发票的类型,如广东增值税普通发票 | 无 |
payee | String | 发票的收款方(销售方) | 无 |
fee | Double | 发票价税合计金额 | 无 |
vatInvoiceCurrencyCode | String | 增值税发票币种 | 无 |
title | String | 发票的抬头 | 无 |
billingTime | String | 开票时间,为十位时间戳(utc+8) | 无 |
invoiceNo | String | 发票号码 | 无 |
invoiceCode | String | 发票代码 | 无 |
feeWithoutTax | Double | 不含税金额 | 无 |
pdfUrl | String | 这张发票对应的 PDF_URL | 无 |
tax | Double | 税额,以分为单位 | 无 |
reimburseStatus | String | 发票报销状态 | 无 |
draweeNo | String | 购方识别号 | 无 |
payeeNo | String | 销方识别号 | 无 |
draweeAddressPhone | String | 购方地址电话 | 无 |
payeeAddressPhone | String | 销方地址电话 | 无 |
draweeBankAccount | String | 购方开户行及账号 | 无 |
payeeBankAccount | String | 销方开户行及账号 | 无 |
deviceNumber | String | 设备号码 | 无 |
invoiceTypeNo | String | 发票类型编号 | 无 |
invalidStatus | String | 作废标志 | 无 |
checkCode | String | 校验码 | 无 |
taxAuthorityName | String | 主管税务机关名称 | 无 |
taxAuthorityNo | String | 主管税务机关代码 | 无 |
taxCertificateNumber | String | 完税凭证号码 | 无 |
remark | String | 备注 | 无 |
tollType | String | 通行费标志 | 06-可抵扣通行费,07-不可抵扣通行费 |
tollZeroTaxFlag | String | 零税率标志 | 空:非零税率,1:税率栏位显示“免税”,2:税率栏位显示“不征收”,3:零税率 |
商品行invoiceGood对象
参数名 | 类型 | 说明 | 备注 |
---|---|---|---|
invoiceUniqueCode | String | 发票code拼接发票号码,一般为发票唯一码 | 无 |
goodsName | String | 商品/服务名称 | 无 |
specificationModel | String | 规格型号 | 无 |
unit | String | 单位 | 无 |
count | String | 数量 | 无 |
unitPrice | String | 单价 | 无 |
amount | String | 金额 | 无 |
taxRate | String | 税率 | 无 |
taxPrice | String | 税额 | 无 |
organizationCode | String | 身份证号码/组织机构代码 | 无 |
vehicleType | String | 车辆类型 | 无 |
brandModel | String | 厂牌型号 | 无 |
placeOfOrigin | String | 产地 | 无 |
certificateNumber | String | 合格证号 | 无 |
commodityInspectionNo | String | 商检单号 | 无 |
engineNumber | String | 发动机型号 | 无 |
frameNumber | String | 车架号码 | 无 |
importCertificate | String | 进口证明书号 | 无 |
tonnage | String | 吨位 | 无 |
limitMultiplier | String | 限乘人数 | 无 |
carType | String | 车辆类型 | 无 |
plateNumber | String | 车牌号 | 无 |
passDateFrom | String | 通行日期起 | 无 |
passDateTo | String | 通行日期止 | 无 |
detailNo | String | 明细编号 | 无 |
错误码说明:
公共错误码
errorCode | message | 说明 |
---|---|---|
121800 | 查验成功,发票一致 | 无 |
121801 | 超过该张票当天查验次数 | 无 |
121802 | 发票代码、号码正确,请修改其他参数 | 无 |
121708 | 参数不能为空 | 无 |
121803 | 所查发票不存在 | 无 |
121805 | 超过一年的不能查验 | 无 |
121806 | 日期当天的不能查验 | 无 |
121807 | 发票类型不支持 | 无 |
121984 | 不存在的发票类型 | 无 |
121995 | 发票类型不能为空 | 无 |
121993 | 发票代码不能为空 | 无 |
121994 | 发票代码长度不合法 | 无 |
121996 | 检验码不能为空 | 无 |
121997 | 检验码长度不合法 | 无 |
121998 | 发票号码不能为空 | 无 |
121999 | 发票号码长度不合法 | 无 |
121980 | 开票日期不能为空 | 无 |
121981 | 开票日期格式不合法 | 无 |
121982 | 开票金额不能为空 | 无 |
126015 | 开票金额长度不合法 | 无 |
126105 | 发票代码、号码不规范,请修改后重试! | 无 |
129999 | 税局系统不稳定,请稍后再试 | 无 |
120998 | 无可用订单 | 无 |
2.3 发票Ocr识别查验
POST /v1/{organizationId}/invoice/ocr/check
传入参数
{
"imageURL": "string"
}
参数说明
字段名 | 含义 |
---|---|
imageURL | 图片地址 |
返回参数
[
{
"data": {
"beginTime": 0,
"billingTime": 0,
"checkCode": "string",
"checkPlatform": "string",
"detail": "string",
"deviceNumber": "string",
"draweeAddressPhone": "string",
"draweeBankAccount": "string",
"draweeNo": "string",
"endTime": 0,
"fee": 0,
"feeWithoutTax": 0,
"invalidStatus": "string",
"invoiceCode": "string",
"invoiceGoods": [
{
"amount": 0,
"brandModel": "string",
"carType": "string",
"certificateNumber": "string",
"commodityInspectionNo": "string",
"count": "string",
"detailNo": "string",
"engineNumber": "string",
"expenseItem": "string",
"frameNumber": "string",
"goodsName": "string",
"importCertificate": "string",
"invoiceUniqueCode": "string",
"limitMultiplier": "string",
"organizationCode": "string",
"passDateFrom": "string",
"passDateTo": "string",
"placeOfOrigin": "string",
"plateNumber": "string",
"specificationModel": "string",
"taxPrice": 0,
"taxRate": "string",
"tonnage": "string",
"unit": "string",
"unitPrice": 0,
"vehicleType": "string"
}
],
"invoiceNo": "string",
"invoiceTypeNo": "string",
"payee": "string",
"payeeAddressPhone": "string",
"payeeBankAccount": "string",
"payeeNo": "string",
"remark": "string",
"tax": 0,
"taxAuthorityName": "string",
"taxAuthorityNo": "string",
"taxCertificateNumber": "string",
"taxRate": 0,
"title": "string",
"tollType": "string",
"tollZeroTaxFlag": "string",
"type": "string"
},
"error": "string",
"errorCode": "string",
"error_description": "string",
"message": "string",
"resultId": 0
}
]
状态字段
字段名 | 含义 |
---|---|
resultId | 查验结果id,存在则表示查验成功 |
message | 查验结果描述 |
errorCode | 公共错误码 |
发票对象
参数名 | 类型 | 说明 | 备注 |
---|---|---|---|
beginTime | String | 发票的有效期起始时间 | 无 |
endTime | String | 发票的有效期截止时间 | 无 |
type | String | 发票的类型,如广东增值税普通发票 | 无 |
payee | String | 发票的收款方(销售方) | 无 |
fee | Double | 发票价税合计金额 | 无 |
vatInvoiceCurrencyCode | String | 增值税发票币种 | 无 |
title | String | 发票的抬头 | 无 |
billingTime | String | 开票时间,为十位时间戳(utc+8) | 无 |
invoiceNo | String | 发票号码 | 无 |
invoiceCode | String | 发票代码 | 无 |
feeWithoutTax | Double | 不含税金额 | 无 |
pdfUrl | String | 这张发票对应的 PDF_URL | 无 |
tax | Double | 税额,以分为单位 | 无 |
reimburseStatus | String | 发票报销状态 | 无 |
draweeNo | String | 购方识别号 | 无 |
payeeNo | String | 销方识别号 | 无 |
draweeAddressPhone | String | 购方地址电话 | 无 |
payeeAddressPhone | String | 销方地址电话 | 无 |
draweeBankAccount | String | 购方开户行及账号 | 无 |
payeeBankAccount | String | 销方开户行及账号 | 无 |
deviceNumber | String | 设备号码 | 无 |
invoiceTypeNo | String | 发票类型编号 | 无 |
invalidStatus | String | 作废标志 | 无 |
checkCode | String | 校验码 | 无 |
taxAuthorityName | String | 主管税务机关名称 | 无 |
taxAuthorityNo | String | 主管税务机关代码 | 无 |
taxCertificateNumber | String | 完税凭证号码 | 无 |
remark | String | 备注 | 无 |
tollType | String | 通行费标志 | 06-可抵扣通行费,07-不可抵扣通行费 |
tollZeroTaxFlag | String | 零税率标志 | 空:非零税率,1:税率栏位显示“免税”,2:税率栏位显示“不征收”,3:零税率 |
商品行invoiceGood对象
参数名 | 类型 | 说明 | 备注 |
---|---|---|---|
invoiceUniqueCode | String | 发票code拼接发票号码,一般为发票唯一码 | 无 |
goodsName | String | 商品/服务名称 | 无 |
specificationModel | String | 规格型号 | 无 |
unit | String | 单位 | 无 |
count | String | 数量 | 无 |
unitPrice | String | 单价 | 无 |
amount | String | 金额 | 无 |
taxRate | String | 税率 | 无 |
taxPrice | String | 税额 | 无 |
organizationCode | String | 身份证号码/组织机构代码 | 无 |
vehicleType | String | 车辆类型 | 无 |
brandModel | String | 厂牌型号 | 无 |
placeOfOrigin | String | 产地 | 无 |
certificateNumber | String | 合格证号 | 无 |
commodityInspectionNo | String | 商检单号 | 无 |
engineNumber | String | 发动机型号 | 无 |
frameNumber | String | 车架号码 | 无 |
importCertificate | String | 进口证明书号 | 无 |
tonnage | String | 吨位 | 无 |
limitMultiplier | String | 限乘人数 | 无 |
carType | String | 车辆类型 | 无 |
plateNumber | String | 车牌号 | 无 |
passDateFrom | String | 通行日期起 | 无 |
passDateTo | String | 通行日期止 | 无 |
detailNo | String | 明细编号 | 无 |
错误码说明:
公共错误码
errorCode | message | 说明 |
---|---|---|
121800 | 查验成功,发票一致 | 无 |
121801 | 超过该张票当天查验次数 | 无 |
121802 | 发票代码、号码正确,请修改其他参数 | 无 |
121708 | 参数不能为空 | 无 |
121803 | 所查发票不存在 | 无 |
121805 | 超过一年的不能查验 | 无 |
121806 | 日期当天的不能查验 | 无 |
121807 | 发票类型不支持 | 无 |
121984 | 不存在的发票类型 | 无 |
121995 | 发票类型不能为空 | 无 |
121993 | 发票代码不能为空 | 无 |
121994 | 发票代码长度不合法 | 无 |
121996 | 检验码不能为空 | 无 |
121997 | 检验码长度不合法 | 无 |
121998 | 发票号码不能为空 | 无 |
121999 | 发票号码长度不合法 | 无 |
121980 | 开票日期不能为空 | 无 |
121981 | 开票日期格式不合法 | 无 |
121982 | 开票金额不能为空 | 无 |
126015 | 开票金额长度不合法 | 无 |
126105 | 发票代码、号码不规范,请修改后重试! | 无 |
129999 | 税局系统不稳定,请稍后再试 | 无 |
120998 | 无可用订单 | 无 |
展望
- 目前仅支持汇联易,未来考虑支持多种供应商