国税发票查验|一种简单的发票验真API开发文档

news/2024/10/21 10:09:07/

一、接口简介
1、版权说明:
未经翔云人工智能开放平台授权,不得擅自进行使用。
2、调用客户端运行环境
当客户端使用的编程语言为Java时,请使用1.5及以上版本JRE。
3、服务主要功能描述
翔云发票验真服务,实时联网核查验5年内增值税发票管理系统开具的发票,如果发票为真则返回全票面信息,可查询票种包含:增值税专用发票、增值税电子专用发票、增值税普通发票(折叠票)、增值税普通发票(卷票)、增值税电子普通发票(含收费公路通行费增值税电子普通发票)、机动车销售统一发票、二手车销售统一发票。

  1. 通过https协议post方法上传发票要素信息;
  2. 将查验结果以XML或json格式返回给用户;
    4、服务调用约束
    请您在调用发票识别接口前,确保客户端程序或设备网络连接通畅,如使用发票识别接口自动提取发票要素信息,要求发票图像文件大小在200KB左右,扫描图像建议分辨率为300DPI,图像小于3M,电子发票请上传PDF格式。
    二、前提准备
    1、用户登录 https://www.netocr.com/register.html注册账号,如图:
    2、输入注册信息,确认无误后点击同意条款并注册,如图:

3、注册成功后点击右上角的账号名称-个人中心,进入管理页面:

4、点击“用户管理-基础信息”,查看OCRKey以及OCRSecret:

5、点击“服务列表”,查看服务次数及余额(每调用一次https接口消耗一次),可点击立即购买直接跳转到购买页面购买API服务次数:

6、购买成功后,会显示购买的总次数及剩余次数,例如下图所示:

7、设置剩余条数提醒,进入个人中心-用户管理-剩余条数提醒,设置提醒下线、通知手机号及服务类型,设置成功后到达用户设置的服务剩余条数下限,系统会发短息至预留手机号。

三、接口说明
接口地址,https://netocr.com/verapi/verInvoice.do
接口调用方法:post

3、请求参数
接口说明
接口地址: https://netocr.com/verapi/verInvoice.do
接口调用方法: post
接口接收参数:
序号 名称 类型 必填 说明
1 key String 是 用户ocrKey
2 secret String 是 用户ocrSecrert
3 invoiceCode String 是 发票代码
4 invoiceNumber String 是 发票号码
5 billingDate String 是 开票日期:YYYY-MM-DD
6 totalAmount String 是 合计金额(不含税),必须精确到两位小数(专票、货运专票、机动车专票必填)
7 checkCode String 是 校验码后6位(普票、电子普票、卷式普票必填)
8 salesTaxNo String 否 销方税号(区块链必填)
9 typeId Integer 是 发票验真:3007
10 format String 是 返回格式(xml或者json),如果format为空,则默认返回xml
接口返回值参数说明:
序号 名称 类型 说明
1 invoiceType String 发票类型
增值税专用发票      01
货运运输业增值税专用发票 02
机动车销售统一发票    03
增值税普通发票      04
增值税普通发票(电子)  10
增值税普通发票(卷式)  11
增值税普通发票(通行费) 14
二手车销售统一发票 15
2 administrativeDivisionName String 所属行政区名称
3 invoiceCode String 发票代码
4 invoiceNumber String 发票号码
5 billingDate String 开票日期:YYYY-MM-DD
6 purchaserName String 购方名称
7 purchaserTaxNo String 购方税号
8 purchaserBank String 购方开户行账户
9 purchaserAddressPhone String 购方地址电话
10 salesName String 销方名称
11 salesTaxNo String 销方税号
12 salesAddressPhone String 销方地址电话
13 salesBank String 销方开户行账户
14 totalAmount String 合计金额
15 totalTax String 合计税额
16 amountTax String 价税合计
17 amountTaxCN String 价税合计_中文
18 remarks String 备注
19 machineCode String 机器编码
20 checkCode String 校验码
21 state String 发票状态
未作废 1
作废  2
22 invoiceList String 发票详细信息列表
23 commodityName String 货物或应税劳务名称
24 specificationMode String 规格型号
25 unit String 单位
26 quantity String 数量
27 unitPrice String 单价
28 amount String 金额
29 taxRate String 税率
30 tax String 税额
31 carrierName String 承运人名称
32 carrierTaxNo String 承运人识别号
33 draweeName String 受票方名称
34 draweeTaxNo String 受票方识别号
35 cargoInformation String 运输货物信息
36 transportRoute String 起运地、经由、到达地
37 machineCode String 税控盘号
38 automobileType String 车种车号
39 tonnage String 车船吨位
40 taxAuthorityNo String 主管税务机关
41 taxAuthorityName String 主管税务名称
42 remarks String 备注
43 iDCardNo String 身份证号码/组织机构代码
44 purchaserTaxNo String 购方税号
46 vehicleType String 车辆类型
46 brandModel String 厂牌型号
47 originPlace String 产地
48 certificateNo String 合格证号
49 inspectionListNo String 商检单号
50 engineNo String 发动机号
51 vehicleNo String 车辆识别代号/车架号码
52 importCertificateNo String 进口证明书号
53 salesPhone String 销方地址电话
54 salesTaxNo String 销方税号
55 salesBankNo String 账号
56 salesAddress String 销方地址
57 paymentVoucherNo String 完税凭证号码
58 passengersLimited String 限乘人数
状态码说明:
status code message
2 查验成功发票一致(扣费)
5 请求不合法
6 发票信息不一致
9 所查发票不存在
20 超过该张票当天查验次数
30+code 该票在本平台核验失败已超5次(扣费)
1004 已超过最大查验量
1005 查询发票不规范
1006 查验异常
1008 参数不能为空
1009 参数长度不正确
1014 日期当天的不能查验
1015 超过一年的不能查验
1021 网络超时
100000 缺少参数
100001 参数取值范围错误
100005 请求过于频繁
100006 远程访问错误
100010 请求超时
60 未知错误
返回结果字符串
标签显示了识别状态,大于等于“0”代表识别成功【“0”代表查询成功,“1”代表未查到数据,“2”代表查询失败】,小于“0”代表识别失败,失败的原因在中描述。
调用错误码
status值 描述
-1 用户已屏蔽
-2 用户key或secret验证错误
-3 服务次数不足
-4 用户未找到
-6 系统异常
-7 图片不可为空,参数不可为空
-8 类型错误
调用方式(java客户端基于httpclient4.3)
1.依赖库: \java客户端\httpClient4.3库\,如图:

2.示例程序代码详见: \java客户端\httpClientDemo\中的Client类,如图:

在main方法定义参数,并传入 doPost(url, file, key, secret, typeId, format) 方法中。如图:

执行main方法返回结果如下:
增值税发票:

剩余条数查询接口(所有产品类型)
接口地址: https://netocr.com/api/accountLift.do
接口调用方法: post
接口接收参数:
String key: 用户ocrKey
String secret: 用户ocrSecret
String format: 返回格式(xml或者json),如果format为空,则默认返回xml


http://www.ppmy.cn/news/617412.html

相关文章

android 模拟器 root

通过Android Studio创建的手机模拟器,无需任何操作就可以获取root权限。然后还可以通过控制台在Android/sdk/emulator目录下,运行下面的指令来开放remount权限 emulator -writable-system -netdelay none -netspeed full -avd 模拟器的名字

安卓街机模拟器 MAME4droid 源码,只需要自己加入rom 可以发布到安卓市场了。

安卓街机模拟器 MAME4droid 源码,只需要自己加入rom 可以发布到安卓市场了,可以开始自己的赚钱了。为了方便大家赚钱,apk展示的包含万普广告条,也就是只要自己去申请万普广告条,填一下appid ,一行代码不用写…

扩充模拟器的ROM空间

由于长时间的使用模拟器,之后又需要安装比较大的apk包,因此老是提示空间不足,无法安装。 使用参数-partition-size 256 -partition-size 256 意为设置模拟器的ROM大小为256M,当默认模拟器的ROM不够用时使用这个设置比较有效

Android模拟器源码Qemu Study for Android Emulator

这两天看了下android emulator的源代码,位置在android-src/external/qemu里面, 编译和启动的方式很简单; $ ./android-configure.sh $ make $ export ANDROID_SDK_ROOT/path/to/androdi-sdk $ emulator-arm 4.2 你可以对源码进行修改&#x…

一个完整的NES模拟器

(这个版本的忍者神龟,好多年都没玩过了。译者) 也许不久后,你就可以在android手机上重温以前在电视上玩塞尔达和超级玛丽来度过暑假的日子了,就是这个NES模拟器。 模拟器有两个版本:lite版,你只能玩一个指定的游戏(也就…

Android模拟器怎么root

首先,参考这两篇文章,我这里是作补充说明 https://www.jianshu.com/p/fd39ec466e88 https://blog.csdn.net/ocean20/article/details/82798004 1.启动模拟器 emulator -list-avds查看avd列表 emulator -avd Nexus_5X_API_26 -writable-system启动avd …

01 QEMU仿真器-模拟器介绍

QEMU仿真器-模拟器介绍 作者将狼才鲸创建日期2022-05-28 所属的Gitee源码和工程地址:才鲸嵌入式 / 开源安防摄像机(嵌入式软件) 一、QEMU模拟器(仿真器)介绍 如果你也像我一样,虽然学过电子和硬件&#…

Android 5 Emulator root 模拟器 root

前言: 网上google很久一直找不到root android 5.0 emulator答案,要么是真机的root居多,要么android版本4.0的,要么是su 和 相关的superapk不是最新的。要么 是参考人家的命令步骤就特么不成功,要么按照人家命令弄重启…