支持增值税专用发票、增值税普通发票、增值税电子发票识别,支持包括发票代码、发票号码、开票日期、发票金额、发票税额、检验码、购买方税号、销售方税号、发票详情等关键字段结构化识别输出。
接口说明
本接口适用场景
- 阿里云增值税发票识别,是阿里云官方自研 OCR 文字识别产品,适用于识别增值税发票上所包含的价税合计、发票代码、发票号码等关键信息的场景。
- 阿里云 OCR 产品基于阿里巴巴达摩院强大的 AI 技术及海量数据,历经多年沉淀打磨,具有服务稳定、操作简易、实时性高、能力全面等几大优势。
- 本接口图片示例

本接口核心能力
| 分类 | 概述 |
|---|---|
| 图像增强 | 默认支持图像增强,包括图像自动旋转、畸变自动矫正、模糊图片自动增强等能力。 |
| 多类型覆盖 | 支持模糊、光照不均、透视畸变、任意背景等低质量图像识别。 |
| 高精度识别 | 总体识别准确率可达 98%。 |
如何使用本接口
| 步骤 | 概述 |
|---|---|
| 1 | 开通 票据凭证识别 服务。开通服务前后,您可以通过体验馆免费体验本功能识别效果。 |
| 2 | 购买增值税发票识别资源包。本 API 会赠送免费额度,可使用免费额度测试。您也可以不购买资源包,系统会通过“按量付费”方式按实际调用量自动扣款。 |
| 3 | 可以参照调试页面提供的代码示例完成 API 接入开发。接入完成后,调用 API 获取识别结果。如果使用子账号调用接口,需要阿里云账号(主账号)对 RAM 账号进行授权。创建 RAM 用户的具体操作,请参考:创建 RAM 用户。文字识别服务提供一种系统授权策略,即 AliyunOCRFullAccess。具体授权操作,请参见在用户页面为 RAM 用户授权。 |
重要提示
| 类型 | 概述 |
|---|---|
| 图片格式 |
|
| 图片尺寸 |
|
| 图片大小 |
|
| 相关能力 |
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用前面加 * 表示。
- 对于不支持资源级授权的操作,用
全部资源表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
| 操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
|---|---|---|---|---|
| ocr:RecognizeInvoice | *全部资源 * |
| 无 |
请求参数
| 名称 | 类型 | 必填 | 描述 | 示例值 |
|---|---|---|---|---|
| Url | string | 否 |
| https://img.alicdn.com/tfs/TB1qIIfXAPoK1RjSZKbXXX1IXXa-808-523.jpg |
| body | byte | 否 |
| 图片二进制文件 |
| PageNo | integer | 否 |
| 1 |
返回参数
返回参数说明
| 字段 | 类型 | 说明 |
|---|---|---|
| data | object | 结构化信息。 |
| angle | int | 文字块的角度。 |
| sliceRect | list | 检测出的子图坐标信息。 |
| prism_keyValueInfo | list | 结构化信息的坐标信息。 |
| codes | list | 二维码信息。 |
| ftype | int | 是否为复印件(1:是,0:否)。 |
| height | int | 算法矫正图片后的高度。 |
| width | int | 算法矫正图片后的宽度。 |
| orgHeight | int | 原图的高度。 |
| orgWidth | int | 原图的宽度。 |
识别结果(data 字段)
| 字段 | 类型 | 说明 |
|---|---|---|
| invoiceCode | string | 发票代码。 |
| invoiceNumber | string | 发票号码。 |
| invoiceDate | string | 开票日期。 |
| machineCode | string | 机器编码。 |
| checkCode | string | 校验码。 |
| purchaserName | string | 受票方名称。 |
| passwordArea | string | 密码区。 |
| invoiceAmountPreTax | string | 不含税金额。 |
| invoiceTax | string | 发票税额。 |
| totalAmountInWords | string | 大写金额。 |
| totalAmount | string | 发票金额。 |
| sellerName | string | 销售方名称。 |
| sellerTaxNumber | string | 销售方税号。 |
| sellerContactInfo | string | 销售方地址、电话。 |
| sellerBankAccountInfo | string | 销售方开户行、账号。 |
| drawer | string | 开票人。 |
| title | string | 标题。 |
| invoiceType | string | 发票类型(数电专用发票、数电普通发票、电子普通发票、电子专用发票、专用发票、普通发票、通用发票)。 |
| formType | string | 联次。 |
| printedInvoiceCode | string | 机打发票代码。 |
| printedInvoiceNumber | string | 机打发票号码。 |
| purchaserBankAccountInfo | string | 受票方开户行、账号。 |
| purchaserContactInfo | string | 受票方地址、电话。 |
| purchaserTaxNumber | string | 受票方税号。 |
| recipient | string | 收款人。 |
| remarks | string | 备注。 |
| reviewer | string | 复核人。 |
| specialTag | string | 特殊标识信息。 |
| invoiceDetails | list | 发票详单。 |
发票详单信息(invoiceDetails 字段)
| 字段 | 类型 | 说明 |
|---|---|---|
| itemName | string | 货物或应税劳务、服务名称。 |
| specification | string | 规格型号。 |
| unit | string | 单位。 |
| quantity | string | 数量。 |
| unitPrice | string | 单价。 |
| amount | string | 金额。 |
| taxRate | string | 税率。 |
| tax | string | 税额。 |
结构化坐标信息(prism_keyValueInfo 字段)
| 字段 | 类型 | 说明 |
|---|---|---|
| key | string | 识别出的字段名称。 |
| keyProb | int | 字段名称置信度。 |
| value | string | 识别出的字段名称对应的值。 |
| valueProb | int | 字段名称对应值的置信度。 |
| valuePos | list | 字段在原图中的四个点坐标(左上、右上、右下、左下)。 |
二维码信息(codes 字段)
| 字段 | 类型 | 说明 |
|---|---|---|
| data | string | 二维码地址。 |
| type | string | 二维码类型。 |
| points | list | 二维码四个点坐标(左上、右上、右下、左下)。 |
示例
正常返回示例
JSON格式
{
"RequestId": "43A29C77-405E-4CC0-BC55-EE694AD00655",
"Data": {
"angle": 0,
"data": {
"invoiceCode": "031001600211",
"invoiceNumber": 67516978,
"printedInvoiceCode": "",
"printedInvoiceNumber": "",
"invoiceDate": "2017年02月12日",
"machineCode": 661619906841,
"checkCode": 62850389773340910000,
"purchaserName": "黄宏伟",
"purchaserTaxNumber": "",
"purchaserContactInfo": "",
"purchaserBankAccountInfo": "",
"passwordArea": "<87*>>53>5023>-446>/4+83/5* *>5/81<75/1931>4>>73<0+2/0/ 4378-2*7*-9<1-0>27>167/9831 3*588/+/81<75/1931>4>>7571<",
"invoiceAmountPreTax": 75.21,
"invoiceTax": 12.79,
"totalAmountInWords": "捌拾捌圆整",
"totalAmount": 88,
"sellerName": "上海电子商务有限公司",
"sellerTaxNumber": "91310106552993944D",
"sellerContactInfo": "上海市静安区延安中路841号东方海外大厦2601室021-62898",
"sellerBankAccountInfo": "中国银行股份有限公司上海市华山路支行4403592358",
"recipient": "",
"reviewer": "",
"drawer": "天猫超市",
"remarks": "",
"title": "上海增值税电子普通发票",
"formType": "",
"invoiceType": "电子普通发票",
"specialTag": "",
"invoiceDetails": [
{
"itemName": "【天猫超市】倍斯特移动电源20000M毫安充电宝手机通用大容量快充",
"specification": "",
"unit": "",
"quantity": 1,
"unitPrice": 75.21,
"amount": 75.21,
"taxRate": "17%",
"tax": 12.79
}
]
},
"height": 523,
"orgHeight": 523,
"orgWidth": 808,
"prism_keyValueInfo": [
{
"key": "invoiceCode",
"keyProb": 100,
"value": "031001600211",
"valuePos": [
{
"x": 700,
"y": 23
},
{
"x": 700,
"y": 35
},
{
"x": 630,
"y": 35
},
{
"x": 630,
"y": 22
}
],
"valueProb": 100
},
{
"key": "invoiceNumber",
"keyProb": 100,
"value": 67516978,
"valuePos": [
{
"x": 678,
"y": 47
},
{
"x": 678,
"y": 60
},
{
"x": 630,
"y": 60
},
{
"x": 630,
"y": 47
}
],
"valueProb": 100
},
{
"key": "printedInvoiceCode",
"keyProb": 100,
"value": "",
"valueProb": 100
},
{
"key": "printedInvoiceNumber",
"keyProb": 100,
"value": "",
"valueProb": 100
},
{
"key": "invoiceDate",
"keyProb": 100,
"value": "2017年02月12日",
"valuePos": [
{
"x": 735,
"y": 70
},
{
"x": 735,
"y": 85
},
{
"x": 632,
"y": 85
},
{
"x": 632,
"y": 70
}
],
"valueProb": 100
},
{
"key": "machineCode",
"keyProb": 100,
"value": 661619906841,
"valuePos": [
{
"x": 153,
"y": 95
},
{
"x": 153,
"y": 107
},
{
"x": 83,
"y": 107
},
{
"x": 83,
"y": 95
}
],
"valueProb": 100
},
{
"key": "checkCode",
"keyProb": 100,
"value": 62850389773340910000,
"valuePos": [
{
"x": 762,
"y": 95
},
{
"x": 762,
"y": 108
},
{
"x": 630,
"y": 108
},
{
"x": 630,
"y": 95
}
],
"valueProb": 100
},
{
"key": "purchaserName",
"keyProb": 100,
"value": "黄宏伟",
"valuePos": [
{
"x": 169,
"y": 121
},
{
"x": 169,
"y": 136
},
{
"x": 130,
"y": 136
},
{
"x": 130,
"y": 121
}
],
"valueProb": 100
},
{
"key": "purchaserTaxNumber",
"keyProb": 100,
"value": "",
"valueProb": 100
},
{
"key": "purchaserContactInfo",
"keyProb": 100,
"value": "",
"valueProb": 100
},
{
"key": "purchaserBankAccountInfo",
"keyProb": 100,
"value": "",
"valueProb": 100
},
{
"key": "passwordArea",
"keyProb": 100,
"value": "<87*>>53>5023>-446>/4+83/5* *>5/81<75/1931>4>>73<0+2/0/ 4378-2*7*-9<1-0>27>167/9831 3*588/+/81<75/1931>4>>7571<",
"valuePos": [
{
"x": 768,
"y": 126
},
{
"x": 768,
"y": 199
},
{
"x": 505,
"y": 199
},
{
"x": 505,
"y": 125
}
],
"valueProb": 100
},
{
"key": "invoiceAmountPreTax",
"keyProb": 100,
"value": 75.21,
"valuePos": [
{
"x": 634,
"y": 360
},
{
"x": 634,
"y": 374
},
{
"x": 576,
"y": 374
},
{
"x": 576,
"y": 360
}
],
"valueProb": 100
},
{
"key": "invoiceTax",
"keyProb": 100,
"value": 12.79,
"valuePos": [
{
"x": 788,
"y": 360
},
{
"x": 788,
"y": 374
},
{
"x": 729,
"y": 374
},
{
"x": 729,
"y": 360
}
],
"valueProb": 100
},
{
"key": "totalAmountInWords",
"keyProb": 100,
"value": "捌拾捌圆整",
"valuePos": [
{
"x": 246,
"y": 382
},
{
"x": 311,
"y": 381
},
{
"x": 311,
"y": 395
},
{
"x": 247,
"y": 397
}
],
"valueProb": 100
},
{
"key": "totalAmount",
"keyProb": 100,
"value": 88,
"valuePos": [
{
"x": 628,
"y": 395
},
{
"x": 629,
"y": 381
},
{
"x": 689,
"y": 382
},
{
"x": 689,
"y": 397
}
],
"valueProb": 100
},
{
"key": "sellerName",
"keyProb": 100,
"value": "上海电子商务有限公司",
"valuePos": [
{
"x": 278,
"y": 407
},
{
"x": 278,
"y": 422
},
{
"x": 129,
"y": 422
},
{
"x": 129,
"y": 407
}
],
"valueProb": 100
},
{
"key": "sellerTaxNumber",
"keyProb": 100,
"value": "91310106552993944D",
"valuePos": [
{
"x": 129,
"y": 427
},
{
"x": 307,
"y": 425
},
{
"x": 307,
"y": 440
},
{
"x": 130,
"y": 441
}
],
"valueProb": 100
},
{
"key": "sellerContactInfo",
"keyProb": 100,
"value": "上海市静安区延安中路841号东方海外大厦2601室021-62898",
"valuePos": [
{
"x": 128,
"y": 447
},
{
"x": 410,
"y": 447
},
{
"x": 410,
"y": 461
},
{
"x": 128,
"y": 461
}
],
"valueProb": 100
},
{
"key": "sellerBankAccountInfo",
"keyProb": 100,
"value": "中国银行股份有限公司上海市华山路支行4403592358",
"valuePos": [
{
"x": 413,
"y": 464
},
{
"x": 413,
"y": 478
},
{
"x": 130,
"y": 478
},
{
"x": 130,
"y": 464
}
],
"valueProb": 100
},
{
"key": "recipient",
"keyProb": 100,
"value": "",
"valueProb": 100
},
{
"key": "reviewer",
"keyProb": 100,
"value": "",
"valueProb": 100
},
{
"key": "drawer",
"keyProb": 100,
"value": "天猫超市",
"valuePos": [
{
"x": 507,
"y": 490
},
{
"x": 507,
"y": 506
},
{
"x": 456,
"y": 506
},
{
"x": 456,
"y": 490
}
],
"valueProb": 100
},
{
"key": "remarks",
"keyProb": 100,
"value": "",
"valueProb": 100
},
{
"key": "title",
"keyProb": 99,
"value": "上海增值税电子普通发票",
"valuePos": [
{
"x": 553,
"y": 37
},
{
"x": 553,
"y": 69
},
{
"x": 252,
"y": 68
},
{
"x": 252,
"y": 36
}
],
"valueProb": 99
},
{
"key": "formType",
"keyProb": 100,
"value": "",
"valueProb": 100
},
{
"key": "invoiceType",
"keyProb": 99,
"value": "电子普通发票",
"valuePos": [
{
"x": 553,
"y": 37
},
{
"x": 553,
"y": 69
},
{
"x": 252,
"y": 68
},
{
"x": 252,
"y": 36
}
],
"valueProb": 99
},
{
"key": "specialTag",
"keyProb": 100,
"value": "",
"valueProb": 100
},
{
"key": "invoiceDetails",
"keyProb": 100,
"value": [
{
"itemName": "【天猫超市】倍斯特移动电源20000M毫安充电宝手机通用大容量快充",
"specification": "",
"unit": "",
"quantity": 1,
"unitPrice": 75.21,
"amount": 75.21,
"taxRate": "17%",
"tax": 12.79
}
],
"valueProb": 100
}
],
"width": 808
},
"Code": "noPermission",
"Message": "You are not authorized to perform this operation."
}错误码
访问错误中心查看更多错误码。
变更历史
| 变更时间 | 变更内容概要 | 操作 |
|---|---|---|
| 2023-07-06 | OpenAPI 入参发生变更 | 查看变更详情 |
| 2021-08-17 | OpenAPI 入参发生变更 | 查看变更详情 |
