发票核验接口支持包括:增值税专用发票、增值税普通发票(折叠票)、增值税普通发票(卷票)、增值税电子普通发票(含收费公路通行费增值税电子普通发票)、机动车销售统一发票、二手车销售统一发票多种类型发票核验。您可以通过输入发票的关键验证字段,返回真实的票面信息,包括发票类型、发票代码、发票号码、作废标志、开票日期、购方税号及其他发票信息等。当天开具发票当日可查验(T+0)。注意:可能有几小时到十几小时的延迟。
接口说明
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
ocr:VerifyVATInvoice | Write |
|
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
InvoiceCode | string | 否 | 发票代码。数电发票(发票类型代码为31,32)时可为空(发票类型代码见发票类型代码说明) | 044032100311 |
InvoiceNo | string | 是 | 发票号码。 | 66932410 |
InvoiceDate | string | 是 | 开票日期(日期格式为:YYYYMMDD)。 | 20220617 |
InvoiceSum | string | 否 | 发票类型代码为 01,03,15,20,31,32 时必填:为 01,03,20 时填写发票不含税金额;为 15 时填写发票车价合计;为 31,32 时填写含税金额。 其它类型可为空(详见发票类型代码说明)。 | 102 |
VerifyCode | string | 否 | 机器验证码,取后6位。发票类型代码为 04,10,11,14 时必填,其他发票种类可为空(详见发票类型代码说明)。 | 980769 |
- 发票类型代码说明
发票类型代码 | 发票类型说明 |
---|---|
01 | 增值税专用发票 |
02 | 货运运输业增值税专用发票 |
03 | 机动车销售统一发票 |
04 | 增值税普通发票 |
10 | 增值税普通发票(电子) |
11 | 增值税普通发票(卷式) |
14 | 增值税普通发票(通行费) |
15 | 二手车销售统一发票 |
20 | 增值税电子专用发票 |
31 | 数电发票(增值税专用发票) |
32 | 数电发票(增值税普通发票) |
85 | 数电发票(纸质专用发票) |
返回参数
- 返回结果字段描述
字段名称 | 字段类型 | 描述 |
---|---|---|
code | string | 状态码 |
msg | string | 状态信息 |
data | string | 发票信息(只有查验成功,此字段才不为空) |
- 返回结果data字段描述
序号 | 字段名称 | 字段描述 | 字段类型 | 字段最大长度 | 是否一定返回 | 说明 |
---|---|---|---|---|---|---|
1 | invoiceType | 发票种类 | string | 2 | 是 | |
2 | invoiceCode | 发票代码 | string | 20 | 是 | |
3 | invoiceNumber | 发票号码 | string | 8 | 是 | |
4 | inspectionAmount | 查验次数 | string | 100 | 否 | |
5 | salerName | 销方名称 | string | 100 | 否 | |
6 | salerTaxpayerNumber | 销方税号 | string | 20 | 否 | |
7 | salerAddressOrPhone | 销方地址、电话 | string | 100 | 否 | |
8 | salerBankAndNumber | 销方开户行及账号 | string | 100 | 否 | |
9 | purchaserTaxpayerNumber | 购方税号 | string | 20 | 否 | |
10 | purchaserName | 购方名称 | string | 100 | 否 | |
11 | purchaserAddressOrPhone | 购方地址、电话 | string | 100 | 否 | |
12 | purchaserBankAndNumber | 购方开户行及账号 | string | 100 | 否 | |
13 | invoiceDate | 开票日期 | string | 8 | 否 | 格式:yyyymmdd |
14 | invoiceMoney | 发票金额 | string | 20 | 否 | |
15 | allTax | 发票税额 | string | 20 | 否 | |
16 | allValoremTax | 价税合计 | string | 16 | 否 | |
17 | note | 备注 | string | 200 | 否 | |
18 | machineCode | 机器编号 | string | 20 | 否 | |
19 | checkCode | 校验码 | string | 20 | 否 | |
20 | blueInvoiceCode | 蓝票发票代码 | string | 12 | 否 | |
21 | blueInvoiceNo | 蓝票发票号码 | string | 8 | 否 | |
22 | invalidMark | 作废标志 | string | 1 | 否 | N:未作废,Y:已作废,H:冲红 |
23 | idCard | 购方身份证号/组织机构代码 | string | 20 | 否 | 机动车、二手车发票返回该信息 |
24 | carType | 车辆类型 | string | 80 | 否 | 机动车、二手车发票返回该信息 |
25 | brandVersion | 厂牌型号 | string | 100 | 否 | 机动车、二手车发票返回该信息 |
26 | producingArea | 产地 | string | 80 | 否 | 机动车发票返回该信息 |
27 | licenseCode | 合格证号 | string | 100 | 否 | 机动车发票返回该信息 |
28 | inspectionNumber | 商检单号 | string | 80 | 否 | 机动车发票返回该信息 |
29 | engineCode | 发动机号 | string | 120 | 否 | 机动车发票返回该信息 |
30 | carframeCode | 车辆识别代号/车架号码 | string | 40 | 否 | 机动车、二手车发票返回该信息 |
31 | importLicense | 进口证明书号 | string | 80 | 否 | 机动车发票返回该信息 |
32 | taxUnitCode | 主管税务机关代码 | string | 11 | 否 | 机动车发票返回该信息 |
33 | afterTaxCode | 完税凭证号码 | string | 32 | 否 | 机动车发票返回该信息 |
34 | limitAmount | 限乘人数 | string | 40 | 否 | 机动车发票返回该信息 |
35 | taxUnitName | 主管税务机关名称 | string | 160 | 否 | 机动车发票返回该信息 |
36 | unit | 吨位 | string | 40 | 否 | 机动车发票返回该信息 |
37 | taxRate | 税率 | string | 32 | 否 | 机动车发票返回该信息 |
38 | salerAddress | 销方地址 | string | 160 | 否 | 机动车发票返回该信息 |
39 | salerPhone | 销方电话 | string | 80 | 否 | 机动车发票返回该信息 |
40 | salerBankName | 销方开户银行 | string | 160 | 否 | 机动车发票返回该信息 |
41 | salerBankAccount | 销方开户账号 | string | 80 | 否 | 机动车发票返回该信息 |
42 | carrierName | 承运人名称 | string | 20 | 否 | 货物发票返回信息 |
43 | carrierTaxNo | 承运人识别号 | string | 80 | 否 | 货物发票返回信息 |
44 | draweeName | 受票方名称 | string | 20 | 否 | 货物发票返回信息 |
45 | draweeTaxNo | 受票方识别号 | string | 80 | 否 | 货物发票返回信息 |
46 | receiveName | 收货人名称 | string | 20 | 否 | 货物发票返回信息 |
47 | receiveTaxNo | 收货人识别号 | string | 80 | 否 | 货物发票返回信息 |
48 | consignorName | 发货人名称 | string | 20 | 否 | 货物发票返回信息 |
49 | consignorTaxNo | 发货人识别号 | string | 80 | 否 | 货物发票返回信息 |
50 | transportGoodsInfo | 运输货物信息 | string | 32 | 否 | 货物发票返回信息 |
51 | throughAddress | 起运地、经由、到达地 | string | 32 | 否 | 货物发票返回信息 |
52 | taxDiskNumber | 税控盘号 | string | 32 | 否 | 货物发票返回信息 |
53 | carTypeAndNumber | 车种车号 | string | 15 | 否 | 货物发票返回信息 |
54 | vehicleTonnage | 车船吨位 | string | 200 | 否 | 货物发票返回信息 |
55 | trafficFeeFlag | 通行费标准 | string | 2 | 否 | 通行费发票返回信息 Y:可抵扣通行费。N:不可抵扣通行费 |
56 | zeroTaxRateFlag | 零税率标识 | string | 2 | 否 | 通行费发票返回信息为空表示非零税率 1:税率栏位显示“免税” 2:税率栏位显示“不征税” 3:零税率 |
57 | licensePlate | 车牌照号 | string | 100 | 否 | 二手车发票返回信息 |
58 | registrationNo | 登记证号 | string | 100 | 否 | 二手车发票返回信息 |
59 | carPrice | 车价合计 | string | 32 | 否 | 二手车发票返回信息 |
60 | transferredVehicleOffice | 转入地车辆车管所名称 | string | 240 | 否 | 二手车发票返回信息 |
61 | purchaserUnitOrIndividual | 买方单位/个人 | string | 240 | 否 | 二手车发票返回信息 |
62 | purchaserUnitcodeOrIdno | 买方单位代码/身份证号 | string | 44 | 否 | 二手车发票返回信息 |
63 | purchaserUnitOrIndividualAddress | 买方单位/个人住址 | string | 240 | 否 | 二手车发票返回信息 |
64 | purchaserPhone | 买方电话 | string | 100 | 否 | 二手车发票返回信息 |
65 | sellerUnitOrIndividual | 卖方单位/个人 | string | 240 | 否 | 二手车发票返回信息 |
66 | sellerUnitCodeOrIdno | 卖方单位代码/身份证号 | string | 44 | 否 | 二手车发票返回信息 |
67 | sellerUnitOrIndividualAddress | 卖方单位/个人住址 | string | 240 | 否 | 二手车发票返回信息 |
68 | sellerPhone | 卖方电话 | string | 100 | 否 | 二手车发票返回信息 |
69 | businessUnit | 经营、拍卖单位 | string | 240 | 否 | 二手车发票返回信息 |
70 | busmessUnitAddress | 经营、拍卖单位地址 | string | 240 | 否 | 二手车发票返回信息 |
71 | businessUnitTaxNo | 经营、拍卖单位纳税人识别号 | string | 44 | 否 | 二手车发票返回信息 |
72 | busmessUnitBankAndAccount | 开户银行及账号 | string | 100 | 否 | 二手车发票返回信息 |
73 | busmessUnitPhone | 经营、拍卖单位电话 | string | 100 | 否 | 二手车发票返回信息 |
74 | lemonMarket | 二手车市场 | string | 240 | 否 | 二手车发票返回信息 |
75 | lemonMarketTaxNo | 二手车市场纳税人识别号 | string | 44 | 否 | 二手车发票返回信息 |
76 | lemonMarketAddress | 二手车市场地址 | string | 240 | 否 | 二手车发票返回信息 |
77 | lemonMarketBankAndAccount | 二手车市场开户银行及账号 | string | 100 | 否 | 二手车发票返回信息 |
78 | lemonMarketPhone | 二手车市场电话 | string | 100 | 否 | 二手车发票返回信息 |
79 | cyjgxx | 验真结果 | string | 100 | 否 | 验真结果 |
- code(状态码)和msg(状态信息)对应关系,以及是否计费说明
code | msg | 是否计费 |
---|---|---|
001 | 成功 | 是 |
002 | 超过该张票当天查验次数 | 否 |
005 | 请求不合法 | 否 |
006 | 发票信息不一致 | 是 |
009 | 所查发票不存在 | 是 |
104 | 已超过最大查验量 | 否 |
105 | 查询发票不规范 | 否 |
106 | 查验异常 | 否 |
108 | 参数不为空 | 否 |
109 | 参数长度不正确 | 否 |
110 | 参数"InvoiceCode"的格式或取值范围错误 | 否 |
111 | 参数"InvoiceSum"的格式或取值范围错误 | 否 |
112 | 参数"VerifyCode"的格式或取值范围错误 | 否 |
113 | 参数"InvoiceNo"的格式或取值范围错误 | 否 |
114 | 校验码不正确,应为后六位 | 否 |
115 | 超过服务有效期限限制 | 否 |
1005 | 请核对四要素是否符合发票规范 | 是 |
1010 | 日期格式不正确(请检查日期是否符合格式YYYYMMDD) | 否 |
1011 | 请求参数不完整 | 否 |
1021 | 网络超时,税局升级维护 | 否 |
10014 | 日期当天不能查验 | 否 |
10015 | 开票金额:不合法的格式 | 否 |
10016 | 检验码:不能为空 | 否 |
10017 | 超过五年的不能查验 | 否 |
10018 | 检验码:不合法的长度 | 否 |
10020 | 没有查验权限 | 否 |
示例
正常返回示例
JSON
格式
{
"RequestId": "43A29C77-405E-4CC0-BC55-EE694AD00655",
"Data": "{\n \"code\": \"001\",\n \"data\": {\n \"afterTaxCode\": \"\",\n \"allTax\": \"9.67\",\n \"allValoremTax\": \"332.00\",\n \"blueInvoiceCode\": \"\",\n \"blueInvoiceNo\": \"\",\n \"brandVersion\": \"\",\n \"businessUnit\": \"\",\n \"businessUnitTaxNo\": \"\",\n \"busmessUnitAddress\": \"\",\n \"busmessUnitBankAndAccount\": \"\",\n \"busmessUnitPhone\": \"\",\n \"carPrice\": \"\",\n \"carType\": \"\",\n \"carTypeAndNumber\": \"\",\n \"carframeCode\": \"\",\n \"carrierName\": \"\",\n \"carrierTaxNo\": \"\",\n \"checkCode\": \"07122942791187744XXXX\",\n \"code\": \"\",\n \"consignorName\": \"\",\n \"consignorTaxNo\": \"\",\n \"cyjgxx\": \"查验成功发票一致\",\n \"detailList\": [\n {\n \"allTax\": \"9.67\",\n \"detailAmount\": \"322.33\",\n \"detailNo\": \"1\",\n \"expenseItem\": \"\",\n \"goodsName\": \"*餐饮服务*餐费\",\n \"netValue\": \"322.330097\",\n \"num\": \"1\",\n \"plate_no\": \"\",\n \"rowNo\": \"1\",\n \"standard\": \"\",\n \"taxClassifyCode\": \"0\",\n \"taxDetailAmount\": \"\",\n \"taxRate\": \"3\",\n \"taxUnitPrice\": \"\",\n \"trafficDateEnd\": \"\",\n \"trafficDateStart\": \"\",\n \"type\": \"\",\n \"unit\": \"\"\n }\n ],\n \"draweeName\": \"\",\n \"draweeTaxNo\": \"\",\n \"engineCode\": \"\",\n \"idCard\": \"\",\n \"importLicense\": \"\",\n \"inspectionAmount\": \"\",\n \"inspectionNumber\": \"\",\n \"invalidMark\": \"N\",\n \"invoiceCode\": \"01100180XXXX\",\n \"invoiceDate\": \"2018XXXX\",\n \"invoiceMoney\": \"322.XX\",\n \"invoiceNumber\": \"3531XXXX\",\n \"invoiceType\": \"10\",\n \"lemonMarket\": \"\",\n \"lemonMarketAddress\": \"\",\n \"lemonMarketBankAndAccount\": \"\",\n \"lemonMarketPhone\": \"\",\n \"lemonMarketTaxNo\": \"\",\n \"licenseCode\": \"\",\n \"licensePlate\": \"\",\n \"limitAmount\": \"\",\n \"machineCode\": \"49992273XXXX\",\n \"note\": \"机器编号:49992273XXXX\",\n \"producingArea\": \"\",\n \"purchaserAddressOrPhone\": \"杭州余杭区XXXX0571-8502XXXX\",\n \"purchaserBankAndNumber\": \"招商银行杭州高新支行571906593XXXXXX\",\n \"purchaserName\": \"XXXX软件有限公司\",\n \"purchaserPhone\": \"\",\n \"purchaserTaxpayerNumber\": \"913301007682XXXXXX\",\n \"purchaserUnitOrIndividual\": \"\",\n \"purchaserUnitOrIndividualAddress\": \"\",\n \"purchaserUnitcodeOrIdNo\": \"\",\n \"receiveName\": \"\",\n \"receiveTaxNo\": \"\",\n \"registrationNo\": \"\",\n \"salerAddress\": \"\",\n \"salerAddressOrPhone\": \"北京市海淀区XXX8211XXXX\",\n \"salerBankAccount\": \"中国银行海淀支行345456XXXXXX\",\n \"salerBankAndNumber\": \"中国银行海淀支行345456XXXXXX\",\n \"salerBankName\": \"\",\n \"salerName\": \"北京市XXX酒家\",\n \"salerPhone\": \"\",\n \"salerTaxpayerNumber\": \"911101081020XXXXXX\",\n \"sellerPhone\": \"\",\n \"sellerUnitCodeOrIdno\": \"\",\n \"sellerUnitOrIndividual\": \"北京市XXX酒家\",\n \"sellerUnitOrIndividualAddress\": \"\",\n \"taxDiskNumber\": \"\",\n \"taxRate\": \"\",\n \"taxUnitCode\": \"\",\n \"taxUnitName\": \"\",\n \"throughAddress\": \"\",\n \"trafficFeeFlag\": \"\",\n \"transferredVehicleOffice\": \"\",\n \"transportGoodsInfo\": \"\",\n \"unit\": \"\",\n \"vehicleTonnage\": \"\",\n \"zeroTaxRateFlag\": \"\"\n },\n \"msg\": \"成功\"\n}"
}
错误码
HTTP status code | 错误码 | 错误信息 |
---|---|---|
503 | ServiceUnavailable | The request has failed due to a temporary failure of the server |
访问错误中心查看更多错误码。