Document Intelligence 发票模型
此内容适用于: v2.1
Document Intelligence 发票模型使用强大的光学字符识别 (OCR) 功能分析和提取销售发票、公用事业账单和采购订单中的关键字段与行项。 发票可以采用各种格式和质量,包括手机拍摄的图像、扫描文档和数字 PDF。 该 API 可分析发票文本,提取客户姓名、帐单邮寄地址、截止日期和未付金额等关键信息,并返回结构化的 JSON 数据表示形式。 该模型目前支持 27 种语言的发票。
支持的文档类型:
- 发票
- 公共事业账单
- 销售订单
- 采购订单
自动处理发票
自动发票处理是从计费帐户文档中提取关键 accounts payable
字段的过程。 提取的数据包括与应付账款 (AP) 工作流集成的发票中的行项,用于审核和付款。 传统的应付账款处理过程需要大量人工作业,因此非常耗时。 从发票中准确提取关键数据通常是发票自动化过程中的第一步,也是最关键的一步。
使用文档智能工作室处理的示例发票:
使用文档智能示例标记工具处理的示例发票:
开发选项
文档智能 v3.1 支持以下工具、应用程序和库:
功能 | 资源 | 模型 ID |
---|---|---|
发票模型 | • 文档智能工作室 • REST API • C# SDK • Python SDK • Java SDK • JavaScript SDK |
预生成的发票 |
文档智能 v3.0 支持以下工具、应用程序和库:
功能 | 资源 | 模型 ID |
---|---|---|
发票模型 | • 文档智能工作室 • REST API • C# SDK • Python SDK • Java SDK • JavaScript SDK |
预生成的发票 |
文档智能 v2.1 支持以下工具、应用程序和库:
功能 | 资源 |
---|---|
发票模型 | • 文档智能标记工具 • REST API • 客户端库 SDK • 文档智能 Docker 容器 |
输入要求
支持的文件格式:
型号 PDF 图像: JPEG/JPG
、PNG
、BMP
、TIFF
、HEIF
Microsoft Office:
Word (DOCX
)、Excel (XLSX
)、PowerPoint (PPTX
)、HTML读取 ✔ ✔ ✔ 布局 ✔ ✔ ✔(2024-07-31-preview、2024-02-29-preview、2023-10-31-preview) 常规文档 ✔ ✔ 预生成 ✔ ✔ 自定义提取 ✔ ✔ 自定义分类 ✔ ✔ ✔(2024-07-31-preview、2024-02-29-preview) 为获得最佳结果,请针对每个文档提供一张清晰的照片或高质量的扫描件。
对于 PDF 和 TIFF,最多可处理 2,000 页(对于免费层订阅,仅处理前两页)。
用于分析文档的文件大小对于付费 (S0) 层为 500 MB,对于免费 (F0) 层为
4
MB。图像尺寸必须介于 50 像素 x 50 像素与 10,000 像素 x 10,000 像素之间。
如果 PDF 是密码锁定的文件,则必须先删除锁,然后才能提交它们。
对于 1024 x 768 像素的图像,要提取的文本的最小高度为 12 像素。 此尺寸对应于 150 点/英寸 (DPI) 的大约
8
号字文本。对于自定义模型训练,自定义模板模型的训练数据最大页数为 500,自定义神经模型的训练数据最大页数为 50,000。
对于自定义提取模型训练,模板模型的训练数据总大小为 50 MB,神经网络模型的训练数据总大小为
1
GB。对于自定义分类模型训练,训练数据总大小为
1
GB,上限为 10,000 页。 对于 2024-07-31-preview 及更高版本,训练数据的总大小为2
GB,上限为 10,000 页。
- 支持的文件格式:JPEG、PNG、PDF 和 TIFF。
- 对于支持的 PDF 和 TIFF,最多处理 2,000 页。 对于免费层订阅服务器,只处理前两页。
- 支持的文件大小必须小于 50 MB,且尺寸介于 50 x 50 和 10,000 x 10,000 像素之间。
发票模型数据提取
了解如何从发票中提取数据,包括客户信息、供应商详细信息和行项目。 需要以下资源:
在文档智能工作室主页上,选择“发票”。
可以分析示例发票或上传自己的文件。
选择“运行分析”按钮,并根据需要配置“分析选项”:
文档智能示例标记工具
导航到“文档智能示例工具”。
在示例工具主页上,选择“使用预生成模型获取数据”磁贴。
从下拉菜单中选择要分析的“表单类型”。
从以下选项中选择要分析的文件的 URL:
从“源”字段的下拉菜单中选择“URL”,粘贴所选 URL,然后选择“提取”按钮。
在“文档智能服务终结点”字段中,粘贴使用文档智能订阅获得的终结点。
在“密钥”字段中,粘贴从文档智能资源中获取的密钥。
选择“运行分析”。 文档智能示例标记工具可调用分析预生成 API 并分析文档。
查看结果 - 查看提取的键值对、明细项目、突出显示的提取的文本和检测到的表。
注意
示例标记工具不支持 BMP 文件格式。 这是工具的一项限制,而不是文档智能服务的限制。
支持的语言和区域设置
有关受支持语言的完整列表,请参阅我们的预生成模型语言支持页面。
字段提取
有关受支持的文档提取字段,请参阅 GitHub 示例存储库中的发票模型架构页。
提取的发票键值对和行项位于 JSON 输出的
documentResults
部分。
键值对
预生成的发票 2022-06-30 及更高版本支持选择性地返回键值对。 默认情况下,将禁用键值对的返回。 键值对是发票中的特定范围,用于标识标签或键及其关联的响应或值。 在发票中,这些键值对可能是用户为该字段或电话号码输入的标签和值。 AI 模型经过训练,可基于各种文档类型、格式和结构提取可识别的键和值。
当模型检测到有键但无关联的值,或模型处理可选字段时,键也可以单独存在。 例如,在某些实例中,表单上的中间名字段可留空。 键值对始终是文档中包含的文本范围。 对应以不同方式描述相同值的文档,例如客户/用户,关联的键将是客户或用户(具体取决于上下文)。
提取的字段
发票服务会提取文本、表和 26 个发票字段。 下面是在 JSON 输出响应中从发票中提取的字段(以下输出使用此示例发票)。
名称 | Type | 说明 | 文本 | 值(标准化输出) |
---|---|---|---|---|
CustomerName | 字符串 | 正在开票的客户 | Microsoft Corp | |
CustomerId | 字符串 | 客户的引用 ID | CID-12345 | |
PurchaseOrder | 字符串 | 采购订单参考编号 | PO-3333 | |
InvoiceId | 字符串 | 此特定发票的 ID(通常为“发票编号”) | INV-100 | |
InvoiceDate | date | 开具发票的日期 | 2019 年 11 月 15 日 | 2019-11-15 |
DueDate | date | 此发票的支付截止日期 | 2019/12/15 | 2019-12-15 |
VendorName | string | 创建发票的供应商 | CONTOSO | |
VendorAddress | 字符串 | 供应商的邮件地址 | 123 456th St New York, NY, 10001 | |
VendorAddressRecipient | 字符串 | 与 VendorAddress 关联的名称 | Contoso 总部 | |
CustomerAddress | 字符串 | 客户的邮件地址 | 123 Other Street, Redmond, Washington, 98052 | |
CustomerAddressRecipient | 字符串 | 与 CustomerAddress 关联的名称 | Microsoft Corp | |
BillingAddress | 字符串 | 客户的具体帐单邮寄地址 | 123 Bill Street, Redmond, Washington, 98052 | |
BillingAddressRecipient | 字符串 | 与 BillingAddress 关联的名称 | Microsoft 服务 | |
ShippingAddress | 字符串 | 客户的具体送货地址 | 123 Ship Street, Redmond, Washington, 98052 | |
ShippingAddressRecipient | 字符串 | 与 ShippingAddress 关联的名称 | Microsoft 交付 | |
总计 | 数字 | 此发票上标识的小计字段 | 100.00 美元 | 100 |
TotalTax | 数字 | 此发票上标识的总税款字段 | $10.00 | 10 |
InvoiceTotal | 数字 | 与此发票关联的新费用总计 | 110.00 美元 | 110 |
AmountDue | 数字 | 应支付给供应商的总金额 | 610.00 美元 | 610 |
ServiceAddress | 字符串 | 客户的具体服务地址或房产地址 | 123 Service Street, Redmond, Washington, 98052 | |
ServiceAddressRecipient | 字符串 | 与 ServiceAddress 关联的名称 | Microsoft 服务 | |
RemittanceAddress | 字符串 | 客户的明确汇款或付款地址 | 123 Remit St New York, NY, 10001 | |
RemittanceAddressRecipient | 字符串 | 与 RemittanceAddress 关联的名称 | Contoso 计费 | |
ServiceStartDate | date | 服务时段的开始日期(例如,公用事业帐单服务期间) | 2019/10/14 | 2019-10-14 |
ServiceEndDate | date | 服务时段的结束日期(例如,公用事业帐单服务期间) | 2019/11/14 | 2019-11-14 |
PreviousUnpaidBalance | 数字 | 先前未付的具体余额 | 500.00 美元 | 500 |
下面是在 JSON 输出响应中从发票中提取的行项,使用此示例发票:
名称 | Type | 说明 | 文本(行项目 #1) | 值(标准化输出) |
---|---|---|---|---|
项 | 字符串 | 行项目的完整字符串文本行 | 2021/3/4 A123 咨询服务 2 小时 30.00 美元 10% 60.00 美元 | |
金额 | 数字 | 行项目的数量 | 60.00 美元 | 100 |
说明 | 字符串 | 发票行项目的文本说明 | 咨询服务 | 咨询服务 |
数量 | 数字 | 此发票行项目的数量 | 2 | 2 |
单价 | 数字 | 此项目一个单位的净价或毛价(具体取决于发票的发票总额设置) | 30.00 美元 | 30 |
ProductCode | 字符串 | 与特定行项目关联的产品代码、产品编号或 SKU | A123 | |
计价单位 | 字符串 | 行项目单位,如公斤、磅等。 | 小时 | |
日期 | date | 对应于每个行项目的日期。 这通常是行项目的发货日期 | 2021/3/4 | 2021-03-04 |
税款 | 数字 | 与每个行项目关联的税款。 可能的值包括税金、税款 % 和税款 Y/N | 10% |
以下是从 JSON 输出响应的发票中提取的复杂字段:
TaxDetails
税务详细信息定义应用于发票总计的特定税务。
名称 | Type | 说明 | 文本(行项目 #1) | 值(标准化输出) |
---|---|---|---|---|
项 | string | 税款项目的完整字符串文本行 | 增值税15% $60.00 | |
应收总额 | 数字 | 税款项目的税额 | 60.00 | 60 |
费率 | string | 税款项目的税率 | 15% |
PaymentDetails
列出在字段中检测到的所有付款选项。
名称 | Type | 说明 | 文本(行项目 #1) | 值(标准化输出) |
---|---|---|---|---|
IBAN |
string | 银行内部账号 | GB33BUKB20201555555555 | |
SWIFT |
string | SWIFT 代码 | BUKBGB22 | |
BankAccountNumber | string | 银行帐号,银行帐户的唯一标识符 | 123456 | |
BPayBillerCode | string | 澳大利亚 B-Pay 账单编码 | 12345 | |
BPayReference | string | 澳大利亚 B-Pay 参考代码 | 98765432100 |
JSON 输出
JSON 输出分为三个部分:
"readResults"
节点包含所有已识别的文本和选定标记。 文本按页,然后按行,然后按单个单词进行组织。"pageResults"
节点包含提取的表和单元格及其边界框、置信度以及对 readResults 中的行和词的引用。"documentResults"
节点包含模型发现的特定于发票的值和行项目。 可以在此处找到发票中的所有字段,如发票 ID、送货地址、帐单地址、客户、总计、行项目等等。
迁移指南
- 请参阅我们的文档智能 v3.1 迁移指南,了解如何在应用程序和工作流中使用 v3.0。
后续步骤
尝试使用 Document Intelligence Studio 来处理你自己的表单和文档。
完成文档智能快速入门,并使用你选择的开发语言开始创建文档处理应用。
尝试使用文档智能示例标记工具来处理你自己的表单和文档。
完成文档智能快速入门,并使用你选择的开发语言开始创建文档处理应用。