文档中心
API调试

功能描述

支持增值税专用发票、增值税普通发票(折叠票)、增值税普通发票(卷票)、增值税电子普通发票(含收费公路通行费增值税电子普通发票)、机动车销售统一发票、二手车销售统一发票在线查验,当天开具发票次日可查验。

请求URL

https://api.textin.com/robot/v1.0/api/verify_vat

HTTP请求方法

HTTP POST

请求头说明(Request Header)

请在HTTP请求中添加以下自定义Header。

header 名
x-ti-app-id 请登录后前往 “工作台-账号设置-开发者信息” 查看 x-ti-app-id
x-ti-secret-code 请登录后前往 “工作台-账号设置-开发者信息” 查看 x-ti-secret-code

请求体说明(Request Body)

Content-Type:application/json

{
    "invoice_code": "",
    "invoice_no": "",
    "invoice_date": "",
    "invoice_sum": "",
    "verify_code": ""
}

提示:Request Body 为 JSON字符串

字段 说明
invoice_code 非必填,发票代码,全电发票(发票类型代码为 31,32,85,86)时非必填,其他发票类型必填
invoice_no 必填,发票号码
invoice_date 必填,开票日期,形如20190203
invoice_sum 非必填,发票类型代码为 01,03,15,20,31,32 时必填:为 01,03,20 时填写发票不含税金额,为 15 时填写发票车价合计,为 31,32 时填写含税金额。其它可为空
verify_code 非必填,机器验证码,取后六位,例如:发票上的校验码为43663064992194675523,接口传参传“675523”即可;发票类型代码为 04,10,11,14,86 时必填,发票类型代码为 86 时,填写密码区数电票号码后六位,其他发票种类可为空
engine 非必填,指定验真源,枚举值1, 2, 3

支持验真的票种

发票类型代码 发票类型说明
01 增值税专用发票
02 货运运输业增值税专用发票
03 机动车销售统一发票
04 增值税普通发票
10 增值税普通发票(电子)
11 增值税普通发票(卷式)
14 增值税普通发票(通行费)
15 二手车销售统一发票
20 增值税电子专用发票
31 电子发票(增值税专用发票)
32 电子发票(增值税普通发票)
85 全电发票(纸质专用发票)
86 数电纸质发票(普通发票)

响应体说明(Response Data)

Content-Type:application/json

JSON结构说明如下:

字段 说明
code 错误码,详见“错误码说明”
message 返回对应code的状态说明
result 图片结果信息
+ code 验证状态码
+ msg 验证状态码说明
+ invoice_type 发票类型
+ invoice_code 发票代码
+ invoice_number 发票号码
+ invalid_mark 作废标志
+ invoice_date 开票日期
+ purchaser_taxpayer_number 购方税号
+ data 发票信息,见下方说明

其中,data(发票信息)字段详细说明如下:

序号 参数 参数名称 类型 长度 必须 说明
1 invoice_type 发票种类 String 2
2 invoice_code 发票代码 String 20
3 invoice_number 发票号码 String 8
4 inspection_amount 查验次数 String 100
5 saler_name 销方名称 String 100
6 saler_taxpayer_number 销方税号 String 20
7 saler_address_or_phone 销方地址、电话 String 100
8 saler_bank_and_number 销方开户行及账号 String 100
9 purchaser_taxpayer_number 购方税号 String 20
10 purchaser_name 购方名称 String 100
11 purchaser_address_or_phone 购方地址、电话 String 100
12 purchaser_bank_and_number 购方开户行及账号 String 100
13 invoice_date 开票日期 String 8 格式 YYYYMMDD
14 invoice_money 发票金额 String 20 发票种类为增值税专用发票、货物运输业增值税专用发票、机动车销售统一发票时不可为空,填写发票不含税金额
15 all_tax 发票税额 String 20
16 all_valorem_tax 价税合计 String 16
17 note 备注 String 200
18 machine_code 机器编号 String 20
19 check_code 校验码 String 20
20 blue_invoice_code 蓝票发票代码 String 12
21 blue_invoice_no 蓝票发票号码 String 8
22 invalid_mark 作废标志 String 1 N 未作废,Y 已作废, H 冲红,7 部分冲红,8 全额冲红
23 id_card 购方身份证号/组织机构代码 String 20 机动车、二手车发票返回该信息
24 car_type 车辆类型 String 80 机动车、二手车发票返回该信息
25 brand_version 厂牌型号 String 100 机动车、二手车发票返回该信息
26 producing_area 产地 String 80 机动车发票返回该信息
27 license_code 合格证号 String 100 机动车发票返回该信息
28 inspection_number 商检单号 String 80 机动车发票返回该信息
29 engine_code 发动机号 String 120 机动车发票返回该信息
30 carframe_code 车辆识别代号/车架号码 String 40 机动车、二手车发票返回该信息
31 import_license 进口证明书号 String 80 机动车发票返回该信息
32 tax_unit_code 主管税务机关代码 String 11 机动车发票返回该信息
33 after_tax_code 完税凭证号码 String 32 机动车发票返回该信息
34 limit_amount 限乘人数 String 40 机动车发票返回该信息
35 tax_unit_name 主管税务机关名称 String 160 机动车发票返回该信息
36 unit 吨位 String 40 机动车发票返回该信息
37 tax_rate 税率 String 32 机动车发票返回该信息
38 saler_address 销方地址 String 160 机动车发票返回该信息
39 saler_phone 销方电话 String 80 机动车发票返回该信息
40 saler_bank_name 销方开户银行 String 160 机动车发票返回该信息
41 saler_bank_account 销方开户账号 String 80 机动车发票返回该信息
42 carrier_name 承运人名称 String 20 货物发票返回信息
43 carrier_tax_no 承运人识别号 String 80 货物发票返回信息
44 drawee_name 受票方名称 String 20 货物发票返回信息
45 drawee_tax_no 受票方识别号 String 80 货物发票返回信息
46 receive_name 收货人名称 String 20 货物发票返回信息
47 receive_tax_no 收货人识别号 String 80 货物发票返回信息
48 consignor_name 发货人名称 String 20 货物发票返回信息
49 consignor_tax_no 发货人识别号 String 80 货物发票返回信息
50 transport_goods_info 运输货物信息 String 32 货物发票返回信息
51 through_address 起运地、经由、到达地 String 32 货物发票返回信息
52 tax_disk_number 税控盘号 String 32 货物发票返回信息
53 car_type_and_number 车种车号 String 15 货物发票返回信息
54 vehicle_tonnage 车船吨位 String 200 货物发票返回信息
55 traffic_fee_flag 通行费标准 String 2 通行费发票返回信息Y-可抵扣通行费N-不可抵扣通行费
56 zero_tax_rate_flag 零税率标识 String 2 通行费发票返回信息空:非零税率1:税率栏位显示“免税“2:税率栏位显示“不征税“3:零税率
57 license_plate 车牌照号 String 100 二手车发票返回信息
58 registration_no 登记证号 String 100 二手车发票返回信息
59 car_price 车价合计 String 32 二手车发票返回信息
60 transferred_vehicle_office 转入地车辆车管所名称 String 240 二手车发票返回信息
61 purchaser_unit_or_individual 买方单位/个人 String 240 二手车发票返回信息
62 purchaser_unitcode_or_idNo 买方单位代码/身份证号 String 44 二手车发票返回信息
63 purchaser_unit_or_individual_address 买方单位/个人住址 String 240 二手车发票返回信息
64 purchaser_phone 买方电话 String 100 二手车发票返回信息
65 seller_unit_or_individual 卖方单位/个人 String 240 二手车发票返回信息
66 seller_unit_code_or_idno 卖方单位代码/身份证号 String 44 二手车发票返回信息
67 seller_unit_or_individual_address 卖方单位/个人住址 String 240 二手车发票返回信息
68 seller_phone 卖方电话 String 100 二手车发票返回信息
69 business_unit 经营、拍卖单位 String 240 二手车发票返回信息
70 busmess_unit_address 经营、拍卖单位地址 String 240 二手车发票返回信息
71 business_unit_tax_no 经营、拍卖单位纳税人识别号 String 44 二手车发票返回信息
72 busmess_unit_bank_and_account 开户银行及账号 String 100 二手车发票返回信息
73 busmess_unit_phone 经营、拍卖单位电话 String 100 二手车发票返回信息
74 lemon_market 二手车市场 String 240 二手车发票返回信息
75 lemon_market_tax_no 二手车市场纳税人识别号 String 44 二手车发票返回信息
76 lemon_market_address 二手车市场地址 String 240 二手车发票返回信息
77 lemon_market_bank_and_account 二手车市场开户银行及账号 String 100 二手车发票返回信息
78 lemon_market_phone 二手车市场电话 String 100 二手车发票返回信息
79 cyjgxx 验真结果 String 100 验真结果

detailList 字段详细说明如下:

序号 参数 参数名称 类型 长度 必须 说明
1 detail_no 明细编号 String 90
2 goods_name 货物名称 String 40
3 detail_amount 金额 String 22
4 num 数量 String 24
5 tax_rate 税率 String 24
6 all_tax 税额 String 24
7 tax_unit_price 含税单价 String 24
8 tax_detail_amount 含税金额 String 24
9 net_value 不含税单价 String 24
10 standard 规格型号 String 100
11 unit 计量单位 String 10
12 expense_item 费用项目 String 30 货物发票返回信息
13 plate_no 车牌号 String 40 通行费发票返回信息
14 type 类型 String 32 通行费发票返回信息
15 traffic_date_start 通行日期起 String 32 通行费发票返回信息
16 traffic_date_end 通行日期起止 String 32 通行费发票返回信息
17 taxClassifyCode 税收分类编码 String 90
18 rowNo 行号 string 32

验证状态码字段与扣费说明

返回码 说明 是否扣费
001 成功
002 超过该张票当天查验次数
005 请求不合法
006 发票信息不一致
009 所查发票不存在
104 已超过最大查验量
105 查询发票不规范
106 查验异常
107 鉴权失败
108 参数不为空
109 参数长度不正确
110 参数"invoice_code"的格式或取值范围错误
111 参数"invoice_sum"的格式或取值范围错误
112 参数"verify_code"的格式或取值范围错误
113 参数"invoice_no"的格式或取值范围错误
114 校验码不正确,应为后六位
115 超过服务有效期限限制
116 查验发票张数超过限制
1005 请核对四要素是否符合发票规范
1010 日期格式不正确(请检查日期是否符合格式YYYYMMDD)
1011 请求参数不完整
1021 网络超时,税局升级维护
10014 日期当天不能查验
10015 开票金额:不合法的格式
10016 检验码:不能为空
10017 超过五年的不能查验
10018 检验码:不合法的长度
10020 没有查验权限

JSON结构示例

{
    "code": 200,
    "message": "success",
    "result": {
        "code": "001",
        "msg": "成功",
        "invoice_type": "04",
        "invoice_code": "04400*****0104",
        "invoice_number": "002*****965",
        "invalid_mark": "N",
        "invoice_date": "20181205",
        "purchaser_taxpayer_number": "914401*****599453",
        "data": {
            "brand_version": "",
            "blue_invoice_code": "",
            "blue_invoice_no": "",
            "business_unit": "",
            "business_unit_address": "",
            "business_unit_bank_and_account": "",
            "business_unit_phone": "",
            "business_unit_tax_no": "",
            "purchaser_bank_and_number": "",
            "purchaser_address_or_phone": "广州市天河区天河*****、104、105、106、107房",
            "purchaser_name": "广州柏德口****限公司",
            "purchaser_phone": "",
            "purchaser_taxpayer_number": "9144*****935599453",
            "purchaser_unitcode_or_idNo": "",
            "purchaser_unit_or_individual": "",
            "purchaser_unit_or_individual_address": "",
            "invalid_mark": "N",
            "car_number": "",
            "car_price": "",
            "carrier_name": "",
            "carrier_tax_no": "",
            "import_license": "",
            "check_code": "639801*****37999873",
            "inspection_amount": "2",
            "inspection_number": "",
            "consignor_name": "",
            "consignor_tax_no": "",
            "drawee_name": "",
            "drawee_tax_no": "",
            "engine_code": "",
            "id_card": "",
            "invoice_money": "43*****27",
            "invoice_code": "044*****800104",
            "invoice_date": "201*****05",
            "invoice_number": "00*****965",
            "invoice_type": "04",
            "lemon_market": "",
            "lemon_market_address": "",
            "lemon_market_bank_and_account": "",
            "lemon_market_phone": "",
            "lemon_market_tax_no": "",
            "license_plate": "",
            "limit_amount": "",
            "machine_code": "661*****46146",
            "producing_area": "",
            "license_code": "",
            "receive_name": "",
            "receive_tax_no": "",
            "registration_no": "",
            "note": "",
            "code": "0001",
            "saler_bank_and_number": "工行广州兴*****519200036703",
            "saler_address": "",
            "saler_address_or_phone": "广州市越秀区广州大*****21房 37596351",
            "saler_bank_account": "",
            "saler_bank_name": "",
            "saler_name": "广州市南*****公司",
            "saler_phone": "",
            "saler_taxpayer_number": "91440*****68316H",
            "seller_phone": "",
            "seller_unit_code_or_idno": "",
            "seller_unit_or_individual": "",
            "seller_unit_or_individual_address": "",
            "all_tax": "699.73",
            "tax_unit_code": "",
            "tax_unit_name": "",
            "tax_disk_number": "",
            "after_tax_code": "",
            "tax_rate": "",
            "through_address": "",
            "unit": "",
            "all_valorem_tax": "5073.00",
            "traffic_fee_flag": "",
            "transferred_vehicle_office": "",
            "transport_goods_info": "",
            "carframe_code": "",
            "vehicle_tonnage": "",
            "car_type": "",
            "zero_tax_rate_flag": "",
            "detailList": [
                {
                    "detail_amount": "620.69",
                    "detail_no": "1",
                    "expense_item": "",
                    "goods_name": "*医药*3M 701*****用型纳米树脂",
                    "num": "4",
                    "plate_no": "",
                    "standard": "4g/支",
                    "all_tax": "99.31",
                    "tax_detail_amount": "",
                    "tax_rate": "16%",
                    "tax_unit_price": "",
                    "traffic_date_end": "",
                    "traffic_date_start": "",
                    "type": "",
                    "unit": "支",
                    "net_value": "155.17241379310346"
                },
                {
                    "detail_amount": "448.28",
                    "detail_no": "2",
                    "expense_item": "",
                    "goods_name": "*医药*3M 56*****小号)-补充装",
                    "num": "10",
                    "plate_no": "",
                    "standard": "黄色,1:3MM",
                    "all_tax": "71.72",
                    "tax_detail_amount": "",
                    "tax_rate": "16%",
                    "tax_unit_price": "",
                    "traffic_date_end": "",
                    "traffic_date_start": "",
                    "type": "",
                    "unit": "根",
                    "net_value": "44.827586206896555"
                },
                {
                    "detail_amount": "1344.83",
                    "detail_no": "3",
                    "expense_item": "",
                    "goods_name": "*医药*3M 568*****管桩(大号)-补充装",
                    "num": "30",
                    "plate_no": "",
                    "standard": "蓝色,1:9MM",
                    "all_tax": "215.17",
                    "tax_detail_amount": "",
                    "tax_rate": "16%",
                    "tax_unit_price": "",
                    "traffic_date_end": "",
                    "traffic_date_start": "",
                    "type": "",
                    "unit": "根",
                    "net_value": "44.827586206896555"
                },
                {
                    "detail_amount": "282.76",
                    "detail_no": "4",
                    "expense_item": "",
                    "goods_name": "*医药*3M 810*****专用复合树脂",
                    "num": "2",
                    "plate_no": "",
                    "standard": "4g/支",
                    "all_tax": "45.24",
                    "tax_detail_amount": "",
                    "tax_rate": "16%",
                    "tax_unit_price": "",
                    "traffic_date_end": "",
                    "traffic_date_start": "",
                    "type": "",
                    "unit": "支",
                    "net_value": "141.3793103448276"
                },
                {
                    "detail_amount": "610.34",
                    "detail_no": "5",
                    "expense_item": "",
                    "goods_name": "*医药*Z350XT  7032A2流动树脂",
                    "num": "4",
                    "plate_no": "",
                    "standard": "一包有两小支,每支2g",
                    "all_tax": "97.66",
                    "tax_detail_amount": "",
                    "tax_rate": "16%",
                    "tax_unit_price": "",
                    "traffic_date_end": "",
                    "traffic_date_start": "",
                    "type": "",
                    "unit": "包",
                    "net_value": "152.58620689655172"
                },
                {
                    "detail_amount": "610.34",
                    "detail_no": "6",
                    "expense_item": "",
                    "goods_name": "*医药*Z350XT  7032A3 流动树脂",
                    "num": "4",
                    "plate_no": "",
                    "standard": "一包有两小支,每支2g",
                    "all_tax": "97.66",
                    "tax_detail_amount": "",
                    "tax_rate": "16%",
                    "tax_unit_price": "",
                    "traffic_date_end": "",
                    "traffic_date_start": "",
                    "type": "",
                    "unit": "包",
                    "net_value": "152.58620689655172"
                }
            ]
        }
    }
}

错误码说明

错误码 描述
40101 x-ti-app-id 或 x-ti-secret-code 为空
40102 x-ti-app-id 或 x-ti-secret-code 无效,验证失败
40103 客户端IP不在白名单
40003 余额不足,请充值后再使用
40004 参数错误,请查看技术文档,检查传参
40007 机器人不存在或未发布
40008 机器人未开通,请至市场开通后重试
40301 图片类型不支持
40302 上传文件大小不符,文件大小不超过 10M
40303 文件类型不支持
40304 图片尺寸不符,图像宽高须介于 20 和 10000(像素)之间
40305 识别文件未上传
30203 基础服务故障,请稍后重试
500 服务器内部错误
官方社群
体验中心

联系我们