关键字:增值税专用发票识别API; 增值税普通发票只是API, 二维码扫描,二维码识别接口
基本场景
在不少的票据管理系统中,会需要终端用户通过扫描或者拍照的形式把手头的增值税发票的电子版上传到业务系统中。然后,系统需要对该发票的基本字段内容进行提取,并输出到特定的field区域保存起来(或者对接到后续的业务流程中)
实现手段
根据国税局的规范,目前市面上的增值税普通/专用发票的左上角都有一个小的二维码。具体见文末的附录。
该二维码保存了当前发票上的主要内容,比如
发票代码
发票号码
开票日期
金额
税额
校验码
举例
上图普通发票 左上角的二维码识别出来的结果如下:
01,04,033001800104, 17027572, 255.66, 20180815, 57059471913515394462, 1D27
根据上述信息,可以容易提取出如下内容
033001800104, 发票代码
17027572, 发票号
255.66, 金额
20180815, 开票日期
57059471913515394462, 校验码
1D27, CRC码
当然,上述只是一个简单的发票例子。 实际使用中,部分发票的二维码中可能包含非常多的内容。
如何在app中快速集成这个发票识别的功能
建议使用[这款]商用的二维码识别控件 (https://www.damingsoft.com/products/dbr-overview.aspx)
支持扫描仪扫描和拍照得到的图片的识别,而且识别率非常高。支持web程序和桌面程序开发。基本介绍请自行查看网页。
具体到发票识别场景的代码或者示例项目,请直接联系[网页]上的在线客户或者提交表单申请。(https://www.damingsoft.com/products/dbr-register.aspx)
附录:国税局便捷开票二维码应用规范
为便捷纳税人开具增值税发票,提高发票开具效率和准确性,参照国家相关标准,采用QR码码制,制定本应用规范。
一、编码要求
(一)二维码编码格式采用信息容量大、可靠性高、保密防伪性强的QR码码制。
(二)本规范中QR码符号规格采用版本12(小于等于419字符)、18(大于419字符,小于等于816字符)和25(大于816字符,小于等于1451字符)规格,并根据内容长度自动匹配。
(三)本规范中QR码纠错信息能力等级采用M级别,可纠错15%的数据码字。
(四)本规范中的QR码编码字符集采用字母、数字、中文汉字方式进行编码。
二、编码内容和格式
便捷开票二维码编码内容如下:
索引 | 名称 | 字符长度 | 说明 |
---|---|---|---|
1 | 起始符 | 1 | 特殊字符“$”表示开始。 |
2 | 版本号 | 2 | 固定值01。 |
3 | 分隔符 | 3 | 用英文半角“</>”组成分隔符,起始符与版本号之间、版本号与名称、CRC与结束符之间不使用分隔符。 |
4 | 名称 | 100 | 变长字段,最大长度为100字符(50个汉字)。 |
5 | 纳税人识别号 | 20 | 变长字段,15至20字符。 |
6 | 地址电话 | 100 | 变长字段,最大长度为100字符(50个汉字)。 |
7 | 开户行及账号 | 100 | 变长字段,最大长度为100字符(50个汉字)。 |
8 | CRC及CRC-16算法 | 4 | CRC标识符为4字符。从第四位开始到CRC标识符之前所有内容,包括“</>”分隔符采用CRC-16算法。具体算法:P(X)=X16+X15+X2+1高位在前,低位在后。 |
9 | 结束符 | 1 | 使用特殊字符“$”表示结束符。 |
便捷开票二维码内容格式如下:
起始符+版本号+base64(名称</>纳税人识别号</>地址电话</>开户行及账号</>CRC)+结束符
三、打印和显示要求
打印和显示二维码时,需遵循二维码大小、缩放比例的格式编排。
(一)二维码图案大小
二维码图案大小的高度、宽度不小于2.0CM×2.0CM。
(二)二维码周边留白区域
二维码周围的空白区域宽度至少要大于10个码元宽度。