本文介绍文字识别(ocr)类目下的增值税发票卷票识别RecognizeTicketInvoice的语法及示例。
功能描述
增值税发票卷票识别能力支持对卷票上包括价税合计、发票代码、发票号码、合计税额、合计金额、密码区、开票日期、税率、购买方识别号、销售方识别号等结构化识别。
应用场景
- 发票验真:智能识别发票代码、号码、开具金额、开票日期四个关键字段,以便快速接入税务机关发票查验平台进行真伪查验,有效降低人力成本,控制业务风险。
- 账单记录:对发票金额、开票日期等信息进行自动识别和录入,应用于理财记账场景,帮助用户快速录入账单信息,降低用户输入成本,提升使用体验。
特色优势
- 全字段识别:支持对值税发票卷票关键字段的结构化识别,能够满足财税报销等场景中对票据字段的识别需求。
- 节约成本:识别发票信息后,根据需求录入发票信息,有效降低用户输入成本,提升用户使用体验。
接入指引
1. 注册阿里云账号:打开阿里云官网,在阿里云官网右上角,单击立即注册,按照操作提示完成账号注册。
2. 开通能力:请确保您已开通文字识别服务,若未开通服务请立即开通。
3. 创建AccessKey:请确保您已创建AccessKey,如果您使用的是子账号AccessKey,您需要给子账号赋予AliyunVIAPIFullAccess权限,具体操作,请参见RAM授权。
4. 在线调试(可选):您可以通过OpenAPI Explorer在线调试能力,查看完整的调用示例代码及SDK依赖信息,也可以下载完整的工程。
5. 开发接入步骤:
- 在SDK总览中选择您要接入使用的SDK语言。
- 在对应语言的SDK文档中找到AI类目为文字识别(ocr)的SDK包进行安装。
- 参考文档中提供的示例代码进行适当修改后调用。
6. 示例代码:该能力常用语言的示例代码,请参见增值税发票卷票识别示例代码。
7. 客户端直接调用:该能力常用的客户端调用方式包括以下几种。
输入限制
- 图像格式:JPEG、JPG、PNG、BMP。
- 图像大小:不超过4 MB。
- 图像分辨率:大于15×15像素,小于4096×4096像素。
- URL地址中不能包含中文字符。
计费说明
关于增值税发票卷票识别的计费方式及报价,请参见计费介绍。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | RecognizeTicketInvoice | 系统规定参数。取值:RecognizeTicketInvoice。 |
ImageURL | String | 是 | http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/ocr/RecognizeTicketInvoice/RecognizeTicketInvoice1.png | 图像URL地址。推荐使用上海地域的OSS链接,对于文件在本地或者非上海地域OSS链接的情况,请参见文件URL处理。 |
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
RequestId | String | 063C0178-7EA3-4754-96FB-C0C9AE6B9AAE | 请求ID。 |
Data | Object | 返回的结果数据内容。 |
|
Count | Long | 1 | 票据数量。 |
Height | Long | 594 | 票据旋转后的高度。 |
Width | Long | 594 | 票据旋转后的宽度。 |
OrgHeight | Long | 1417 | 原图高度。 |
OrgWidth | Long | 1417 | 原图宽度。 |
Results | Array of results | 识别结果。 |
|
Index | Long | 1 | 票据在图像中的索引。 |
Content | Object | 识别内容。 |
|
InvoiceCode | String | 044031860107 | 发票代码。 |
InvoiceNumber | String | 09267581 | 发票号码。 |
InvoiceDate | String | 2018-09-20 | 开票日期。 |
AntiFakeCode | String | 81931914902643039780 | 校验码。 |
PayeeName | String | 深圳市xxxx有限公司 | 销售方名称。 |
PayeeRegisterNo | String | 914403002794492693 | 销售方税号。 |
PayerName | String | 深圳市xxxx有限公司 | 购买方名称。 |
PayerRegisterNo | String | 91440300MA5EXWHW6F | 购买方税号。 |
SumAmount | String | ¥220.00 | 总价。 |
Type | String | 卷票 | 票据类型。支持识别以下几种:
|
KeyValueInfos | Array of keyValueInfos | 位置信息。 |
|
Key | String | 发票代码 | 被识别字段名称。 |
Value | String | 044031860107 | 被识别字段的值。 |
ValuePositions | Array of valuePositions | 被识别字段位置信息。四个角的坐标顺时针排列。 |
|
X | Long | 586 | 矩形框X坐标。 |
Y | Long | 16 | 矩形框Y坐标。 |
ValueScore | Float | 100 | 被识别字段Value值置信度,范围0~100。 |
SliceRectangle | Array of sliceRectangle | 票据识别矩形框四个角的坐标顺时针排列。 |
|
X | Long | 586 | 矩形框X坐标。 |
Y | Long | 16 | 矩形框Y坐标。 |
SDK参考
阿里云视觉AI文字识别类目下的增值税发票卷票识别能力推荐使用SDK调用,支持多种编程语言,调用时请选择AI类目为文字识别(ocr)的SDK包,文件参数通过SDK调用可支持本地文件及任意URL,具体可参见SDK总览。
示例代码
该能力常用语言的示例代码,请参见增值税发票卷票识别示例代码。
示例
请求示例
http(s)://ocr.cn-shanghai.aliyuncs.com/?Action=RecognizeTicketInvoice //更多关于访问域名(Endpoint)信息,请参见:https://help.aliyun.com/document_detail/143103.html
&ImageURL=http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/ocr/RecognizeTicketInvoice/RecognizeTicketInvoice1.png
&公共请求参数
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<RecognizeTicketInvoiceResponse>
<RequestId>063C0178-7EA3-4754-96FB-C0C9AE6B9AAE</RequestId>
<Data>
<OrgWidth>594</OrgWidth>
<Results>
<Type>卷票</Type>
<SliceRectangle>
<X>2</X>
<Y>19</Y>
</SliceRectangle>
<SliceRectangle>
<X>586</X>
<Y>16</Y>
</SliceRectangle>
<SliceRectangle>
<X>580</X>
<Y>1408</Y>
</SliceRectangle>
<SliceRectangle>
<X>0</X>
<Y>1410</Y>
</SliceRectangle>
<KeyValueInfos>
<Value>44031860107</Value>
<ValueScore>100</ValueScore>
<Key>发票代码</Key>
</KeyValueInfos>
<KeyValueInfos>
<Value>9267581</Value>
<ValueScore>100</ValueScore>
<Key>发票号码</Key>
</KeyValueInfos>
<KeyValueInfos>
<Value>2018-09-20</Value>
<ValueScore>100</ValueScore>
<Key>开票日期</Key>
</KeyValueInfos>
<KeyValueInfos>
<Value>81931914902643030000</Value>
<ValueScore>100</ValueScore>
<Key>校验码</Key>
</KeyValueInfos>
<KeyValueInfos>
<Value>深圳市xxxx有限公司</Value>
<ValueScore>100</ValueScore>
<Key>销售方名称</Key>
</KeyValueInfos>
<KeyValueInfos>
<Value>914403002794492700</Value>
<ValueScore>100</ValueScore>
<Key>销售方税号</Key>
</KeyValueInfos>
<KeyValueInfos>
<Value>深圳市xxxx有限公司</Value>
<ValueScore>100</ValueScore>
<Key>购买方名称</Key>
</KeyValueInfos>
<KeyValueInfos>
<Value>91440300MA5EXWHW6F</Value>
<ValueScore>99</ValueScore>
<Key>购买方税号</Key>
</KeyValueInfos>
<KeyValueInfos>
<Value>¥220.00</Value>
<ValueScore>99</ValueScore>
<Key>总价</Key>
</KeyValueInfos>
<Content>
<PayeeName>深圳市xxxx有限公司</PayeeName>
<AntiFakeCode>81931914902643030000</AntiFakeCode>
<InvoiceCode>44031860107</InvoiceCode>
<PayeeRegisterNo>914403002794492700</PayeeRegisterNo>
<PayerRegisterNo>91440300MA5EXWHW6F</PayerRegisterNo>
<InvoiceNumber>9267581</InvoiceNumber>
<InvoiceDate>2018-09-20</InvoiceDate>
<PayerName>深圳市xxxx有限公司</PayerName>
<SumAmount>¥220.00</SumAmount>
</Content>
<Index>1</Index>
</Results>
<OrgHeight>1417</OrgHeight>
<Height>1417</Height>
<Count>1</Count>
<Width>594</Width>
</Data>
</RecognizeTicketInvoiceResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "063C0178-7EA3-4754-96FB-C0C9AE6B9AAE",
"Data" : {
"OrgWidth" : 594,
"Results" : {
"Type" : "卷票",
"SliceRectangle" : [ {
"X" : 2,
"Y" : 19
}, {
"X" : 586,
"Y" : 16
}, {
"X" : 580,
"Y" : 1408
}, {
"X" : 0,
"Y" : 1410
} ],
"KeyValueInfos" : [ {
"Value" : 44031860107,
"ValueScore" : 100,
"Key" : "发票代码"
}, {
"Value" : 9267581,
"ValueScore" : 100,
"Key" : "发票号码"
}, {
"Value" : "2018-09-20",
"ValueScore" : 100,
"Key" : "开票日期"
}, {
"Value" : 81931914902643030000,
"ValueScore" : 100,
"Key" : "校验码"
}, {
"Value" : "深圳市xxxx有限公司",
"ValueScore" : 100,
"Key" : "销售方名称"
}, {
"Value" : 914403002794492700,
"ValueScore" : 100,
"Key" : "销售方税号"
}, {
"Value" : "深圳市xxxx有限公司",
"ValueScore" : 100,
"Key" : "购买方名称"
}, {
"Value" : "91440300MA5EXWHW6F",
"ValueScore" : 99,
"Key" : "购买方税号"
}, {
"Value" : "¥220.00",
"ValueScore" : 99,
"Key" : "总价"
} ],
"Content" : {
"PayeeName" : "深圳市xxxx有限公司",
"AntiFakeCode" : 81931914902643030000,
"InvoiceCode" : 44031860107,
"PayeeRegisterNo" : 914403002794492700,
"PayerRegisterNo" : "91440300MA5EXWHW6F",
"InvoiceNumber" : 9267581,
"InvoiceDate" : "2018-09-20",
"PayerName" : "深圳市xxxx有限公司",
"SumAmount" : "¥220.00"
},
"Index" : 1
},
"OrgHeight" : 1417,
"Height" : 1417,
"Count" : 1,
"Width" : 594
}
}
错误码
关于增值税发票卷票识别的错误码,详情请参见常见错误码。
安全声明
- 请确保上传的图片或文件来源符合相应的法律法规。
- 通过体验调试上传的临时文件有效期为1小时,在24小时后会被系统自动清理删除。