发票查验
接口描述
支持多种发票的信息核验。
tip
- 可查验最近5年内增值税发票管理系统开具的发票,当日开具的发票建议次日进行查验
- 区块链发票支持深圳地区、北京地区、云南地区区块链发票,深圳使用密码区查验支持查验最近两年的发票,使用校验码支持查验全部
- 财政、非税票据最早可查验截止当前日期一年内的票据
请求方式
POST
请求地址
https://qst.imfbp.com/apihub/api
URL 参数
参数名称 | 类型 | 必选 | 说明 |
---|---|---|---|
Action | String | 是 | 操作的接口名称,本接口取值:VatInvoiceVerify。 |
Header 参数
参数名称 | 类型 | 必选 | 说明 |
---|---|---|---|
Timestamp | String | 是 | 公共参数。 |
SecretId | String | 是 | 公共参数。 |
Signature | String | 是 | 公共参数。 |
Algorithm | String | 否 | 公共参数。 |
Content-Type | String | 是 | 取值:application/json |
Body 请求参数
增值税普通发票
增值税普通发票、增值税电子普通发票、增值税普通发票(卷票)、增值税电子普通发票(通行费)、增值税普通发票(成品油)、增值税电子普通发票(成品油)、成品油普通发票(卷式)
参数名称 | 类型 | 必选 | 说明 |
---|---|---|---|
invoiceCode | String | 是 | 发票代码。查验未成功超过5次后当日无法再查。 |
invoiceNum | String | 是 | 发票号码,8位 |
issueDate | String | 是 | 开票日期,格式为:yyyy年MM月dd日 |
checkCode | String | 是 | 校验码,后 6 位 (数电普纸票,使用数电票号码,后 6 位) |
invoiceType | String | 是 | 增值税普通发票:0 增值税普通发票(成品油):20 增值税电子普通发票:2 增值税电子普通发票(通行费):17 增值税电子普通发票(成品油):19 增值税普通发票(卷票):12 成品油普通发票(卷式):22 |
taxpayerNumber | String | 否 | 纳税人识别号 |
增值税专用发票
增值税专用发票、增值税电子专用发票、增值税专用发票(成品油)
参数名称 | 类型 | 必选 | 说明 |
---|---|---|---|
invoiceCode | String | 是 | 发票代码。查验未成功超过5次后当日无法再查。 |
invoiceNum | String | 是 | 发票号码,8位 |
issueDate | String | 是 | 开票日期,格式为:yyyy年MM月dd日 |
totalAmount | String | 是 | 不含税金额 (税前金额) |
invoiceType | String | 是 | 增值税专用发票:1 增值税专用发票(成品油):21 增值税电子专用发票:3 |
taxpayerNumber | String | 否 | 纳税人识别号 |
机动车/二手车 销售统一发票
参数名称 | 类型 | 必选 | 说明 |
---|---|---|---|
invoiceCode | String | 是 | 发票代码。查验未成功超过5次后当日无法再查。 |
invoiceNum | String | 是 | 发票号码,8位 |
issueDate | String | 是 | 开票日期,格式为:yyyy年MM月dd日 |
totalAmount | String | 是 | 机动车的不含税金额 (税前金额),二手车的总价金额 |
invoiceType | String | 是 | 机动车销售统一发票:13 二手车销售统一发票:14 |
taxpayerNumber | String | 否 | 纳税人识别号 |
区块链发票
参数名称 | 类型 | 必选 | 说明 |
---|---|---|---|
invoiceCode | String | 是 | 发票代码。查验未成功超过5次后当日无法再查。 |
invoiceNum | String | 是 | 发票号码,8位 |
issueDate | String | 是 | 开票日期,格式为:yyyy年MM月dd日 |
area | String | 是 | 地区,可选参数:SHEN_ZHEN, BEI_JING, YUN_NAN |
invoiceType | String | 是 | 区块链电子发票:26 |
checkCode | String | 否 | 校验码,6 位 深圳的区块链,密码区和校验码不能都为空 北京的区块链,校验码不能为空 |
password | String | 否 | 密码区,只支持深圳的区块链 校验码和密码区选填 |
sellerRegisterNum | String | 否 | 销售方纳税人识别号,深圳的区块链,使用校验码查验需必填,云南的区块链查验需必填,其他地区可为空 |
amountInFigures | String | 否 | 价税合计,深圳的区块链使用密码区查验需必填 |
taxpayerNumber | String | 否 | 纳税人识别号 |
数电发票
电子发票(普通发票)、电子发票(增值税专用发票)、电子发票(铁路电子客票)、电子发票(航空运输电子客票行程单)
参数名称 | 类型 | 必选 | 说明 |
---|---|---|---|
invoiceNum | String | 是 | 发票号码,20位 |
issueDate | String | 是 | 开票日期,格式为:yyyy年MM月dd日 |
amountInFigures | String | 是 | 价税合计 |
invoiceType | String | 是 | 电子发票(增值税专用发票):24 电子发票(普通发票):25 电子发票(航空运输电子客票行程单):30 电子发票(铁路电子客票):31 |
taxpayerNumber | String | 否 | 纳税人识别号 |
机打发票
广东通用机打发票(电子)、浙江通用(电子)发票
参数名称 | 类型 | 必选 | 说明 |
---|---|---|---|
invoiceCode | String | 是 | 发票代码。查验未成功超过5次后当日无法再查。 |
invoiceNum | String | 是 | 发票号码,8位 |
issueDate | String | 是 | 开票日期,格式为:yyyy年MM月dd日 |
area | String | 是 | 地区,可选参数:GUANG_DONG, ZHE_JIANG |
invoiceType | String | 是 | 通用机打(电子)发票:18 |
sellerRegisterNum | String | 是 | 销售方纳税人识别号 |
amountInFigures | String | 是 | 价税合计 |
taxpayerNumber | String | 否 | 纳税人识别号 |
非税收入通用票据、医疗票据
参数名称 | 类型 | 必选 | 说明 |
---|---|---|---|
invoiceCode | String | 是 | 票据代码。8位,查验未成功超过5次后当日无法再查。 |
invoiceNum | String | 是 | 票据号码。 |
issueDate | String | 是 | 开票日期,格式为:yyyy年MM月dd日 |
invoiceType | String | 是 | 非税收入通用票据:33、医疗门诊27,医疗住院28; |
checkCode | String | 是 | 校验码,后 6 位 |
amountInFigures | String | 是 | 金额 |
返回参数
公共返回参数
参数名称 | 类型 | 说明 |
---|---|---|
code | Integer | 200 表示请求成功,其他参见错误码 |
message | String | 错误提示信息 |
startTime | long | 开始时间 |
endTime | long | 结束时间 |
callId | long | 调用记录主键 |
data | Object | 识别结果 |
data 内容说明
参数名称 | 类型 | 说明 |
---|---|---|
startTime | long | 请求开始毫秒 |
endTime | long | 请求结束毫秒 |
invoiceList | [] | 发票具体信息,验真结果为真票是返回,否则不返回,具体参见票据识别结果 |
invoiceValidationList | [] | 发票查验结果,验真结果为真票是返回,否则不返回 |
发票查验结果
参数名称 | 类型 | 说明 |
---|---|---|
invoiceNum | String | 发票号码 |
invoiceCode | String | 发票代码 |
invoiceTypeCode | Integer | 票据类型 |
status | String | 发票状态:valid:正常,invalidated:已作废,reversed:红冲,reversed_half:部分红冲,reversed_all:全额红冲,reversing:红字发票待确认 |
verifyTimes | String | 查验次数 |
district | String | 所属地区 |
错误码
若请求错误,服务器将返回的JSON文本包含以下参数:
- code:错误码。
- message:错误描述信息,帮助理解和解决发生的错误。
错误码 | 描述 |
---|---|
10001 | 查验失败 |
10002 | 查无此票 |
10003 | 无效参数(发票代码,号码,开票日期等为空或者格式错误,发票类型为空,普票验证码为空,专票税前金额为空等不合法参数错误) |
10004 | 查验信息不一致,请检查发票号码、发票代码、开票日期、开票金额、以及校验码信息是否与票面一致(一般是专票未税金额不正确) |
10005 | 价税合计不能为空 |
10006 | 专票(税前金额)、机动车票(税前金额)、二手车票(总价)不能为空! |
10007 | 普票'校验码'不能为空! |
10008 | 发票类型不能为空! |
10100 | 不支持当天发票核验。 |
10101 | 当天查验同一张发票最多5次,已超过5次 |
10102 | 税务局网络异常,请稍后访问。 |
10103 | 深圳区块链的参数[校验码]和[密码区]不可同时为空 |
10104 | 深圳的区块链使用密码区查验时,价税合计不能为空 |
10105 | 深圳的区块链使用校验码查验时,销售方纳税人识别号不能为空 |
10106 | 机打发票的销售方纳税人识别号不可为空 |
10107 | 暂不支持的地区[area],现取值范围[GUANG_DONG, SHEN_ZHEN, BEI_JING, YUN_NAN, ZHE_JIANG] |
10108 | 暂不支持的发票类型[invoiceType],现取值范围['0','1','2','3','12','13','14'] |
10111 | 错误信息不固定 |
10112 | 查验发票张数超过限制 |
10113 | 查询发票不规范 |
4001 | 调用SDK权限校验不通过! |
4002 | 调用接口Action不能为空! |
4003 | API名称出错! |
4004 | SecretId不能为空! |
4005 | Timestamp不能为空! |
4006 | Signature不能为空! |
4007 | 用户没有调用当前API的权限! |
4008 | 签名不正确 |
4009 | 查询用户密钥为空,请联系管理员 |
4010 | 无当前接口权限 |
4011 | Timestamp与服务器接收到请求的时间相差不得超过五分钟 |
4012 | apicode不能为空! |
4013 | apicode未关联客户! |
5001 | 不支持的请求方式 |
6001 | 套餐包余量不足 |
6002 | 未开通访问此API套餐 |