Document Intelligence 发票模型

重要

  • 使用文档智能选公共预览版,可以提前使用目前正处于开发状态的功能。
  • 在正式发布 (GA) 之前,根据用户反馈,功能、方法和流程可能会发生更改。
  • 文档智能客户端库的公共预览版默认为 REST API 版本 2023-10-31-preview

此内容适用于:checkmarkv4.0(预览版) | 先前版本:blue-checkmarkv3.1 (GA)blue-checkmarkv3.0 (GA)blue-checkmarkv2.1 (GA)

此内容适用于:checkmarkv3.1 (GA) | 最新版本:purple-checkmarkv4.0(预览版) | 先前版本:blue-checkmarkv3.0blue-checkmarkv2.1

此内容适用于:checkmarkv3.0 (GA) | 最新版本:purple-checkmarkv4.0(预览版)purple-checkmarkv3.1(预览版) | 先前版本:blue-checkmarkv2.1

此内容适用于:checkmarkv2.1 | 最新版本:blue-checkmarkv4.0(预览版)

Document Intelligence 发票模型使用强大的光学字符识别 (OCR) 功能分析和提取销售发票、公用事业账单和采购订单中的关键字段与行项。 发票可以采用各种格式和质量,包括手机拍摄的图像、扫描文档和数字 PDF。 该 API 可分析发票文本,提取客户姓名、帐单邮寄地址、截止日期和未付金额等关键信息,并返回结构化的 JSON 数据表示形式。 该模型目前支持 27 种语言的发票。

支持的文档类型:

  • 发票
  • 公共事业账单
  • 销售订单
  • 采购订单

自动处理发票

自动发票处理是从计费帐户文档中提取关键应付账款字段的过程。 提取的数据包括与应付账款 (AP) 工作流集成的发票中的行项,用于审核和付款。 传统的应付账款处理过程需要大量人工作业,因此非常耗时。 从发票中准确提取关键数据通常是发票自动化过程中的第一步,也是最关键的一步。

使用文档智能工作室处理的示例发票

Screenshot of a sample invoice analyzed in the Document Intelligence Studio.

使用文档智能示例标记工具处理的示例发票

Screenshot of a sample invoice.

开发选项

文档智能 v4.0 (2023-10-31-preview) 支持以下工具、应用程序和库:

功能 资源 模型 ID
发票模型 文档智能工作室
REST API
C# SDK
Python SDK
Java SDK
JavaScript SDK
预生成的发票

文档智能 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
    阅读
    布局 ✔ (2023-10-31-preview)
    常规文档
    预生成
    自定义
  • 对于 PDF 和 TIFF,最多可处理 2000 页(对于免费层订阅,仅处理前两页)。

  • 用于分析文档的文件大小对于付费 (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,神经模型的训练数据总大小为为 1G-MB。

  • 对于自定义分类模型训练,训练数据的总大小为 1GB,最大为 10,000 页。

  • 支持的文件格式:JPEG、PNG、PDF 和 TIFF
  • 对于 PDF 和 TIFF,最多处理 2000 页。 对于免费层订阅服务器,只处理前两页。
  • 文件大小必须小于 50 MB,且尺寸介于 50 x 50 像素和 10,000 x 10,000 像素之间。

发票模型数据提取

了解如何从发票中提取数据,包括客户信息、供应商详细信息和行项目。 需要以下资源:

  • Azure 订阅 - 可以创建试用订阅

  • Azure 门户中的文档智能实例。 可以使用免费定价层 (F0) 来试用该服务。 在部署资源后,选择“转到资源”以获取密钥和终结点。

Screenshot of keys and endpoint location in the Azure portal.

  1. 在文档智能工作室主页上,选择“发票

  2. 可以分析示例发票或上传自己的文件。

  3. 选择“运行分析”按钮,并根据需要配置“分析选项”:

    Screenshot of Run analysis and Analyze options buttons in the Document Intelligence Studio.

试用 Document Intelligence Studio

文档智能示例标记工具

  1. 导航到“文档智能示例工具”。

  2. 在示例工具主页上,选择“使用预生成模型获取数据”磁贴。

    Screenshot of layout model analyze results process.

  3. 从下拉菜单中选择要分析的“表单类型”。

  4. 从以下选项中选择要分析的文件的 URL:

  5. 从“源”字段的下拉菜单中选择“URL”,粘贴所选 URL,然后选择“提取”按钮。

    Screenshot of source location dropdown menu.

  6. 在“文档智能服务终结点”字段中,粘贴使用文档智能订阅获得的终结点。

  7. 在“密钥”字段中,粘贴从文档智能资源中获取的密钥。

    Screenshot showing the select-form-type dropdown menu.

  8. 选择“运行分析”。 文档智能示例标记工具可调用分析预生成 API 并分析文档。

  9. 查看结果 - 查看提取的键值对、明细项目、突出显示的提取的文本和检测到的表。

    Screenshot of layout model analyze results operation.

注意

示例标记工具不支持 BMP 文件格式。 这是工具的一项限制,而不是文档智能服务的限制。

支持的语言和区域设置

有关受支持语言的完整列表,请参阅我们的“语言支持 - 预生成模型”页。

字段提取

名称 Type 说明 标准化输出
CustomerName 字符串 发票客户
CustomerId 字符串 客户参考 ID
PurchaseOrder 字符串 采购订单参考编号
InvoiceId 字符串 此特定发票的 ID(通常为“发票编号”)
InvoiceDate Date 开具发票的日期 yyyy-mm-dd
DueDate Date 此发票的支付截止日期 yyyy-mm-dd
VendorName 字符串 供应商名称
VendorTaxId String 与供应商关联的纳税人编号
VendorAddress 字符串 供应商邮寄地址
VendorAddressRecipient 字符串 与 VendorAddress 关联的名称
CustomerAddress 字符串 客户的邮件地址
CustomerTaxId String 与客户的纳税人编号
CustomerAddressRecipient 字符串 与 CustomerAddress 关联的名称
BillingAddress 字符串 客户的具体帐单邮寄地址
BillingAddressRecipient 字符串 与 BillingAddress 关联的名称
ShippingAddress 字符串 客户的具体送货地址
ShippingAddressRecipient 字符串 与 ShippingAddress 关联的名称
PaymentTerm String 发票的付款条款
总计 Number 此发票上标识的小计字段 Integer
TotalTax Number 此发票上标识的总税款字段 Integer
InvoiceTotal 数字(美元) 与此发票关联的新费用总计 Integer
AmountDue 数字(美元) 应支付给供应商的总金额 Integer
ServiceAddress 字符串 客户的具体服务地址或房产地址
ServiceAddressRecipient 字符串 与 ServiceAddress 关联的名称
RemittanceAddress 字符串 客户的明确汇款或付款地址
RemittanceAddressRecipient 字符串 与 RemittanceAddress 关联的名称
ServiceStartDate Date 服务时段的开始日期(例如,公用事业帐单服务期间) yyyy-mm-dd
ServiceEndDate Date 服务时段的结束日期(例如,公用事业帐单服务期间) yyyy-mm-dd
PreviousUnpaidBalance Number 先前未付的具体余额 Integer
CurrencyCode String 与提取的金额相关联的货币代码
KVKNumber(仅限 NL) 字符串 在荷兰注册的企业的唯一标识符 12345678
PaymentDetails 数组 包含“付款选项”详细信息的数组,例如 IBANSWIFTBPay(AU)
TotalDiscount 数字 适用于发票的全部折扣 Integer
税项(仅限 en-IN) 数组 包含附加税收信息的数组,例如 CGSTIGSTSGST。 此行项当前仅适用于 en-in 区域设置

行项目

下面是在 JSON 输出响应中从发票中提取的行项(以下输出使用此示例发票

名称 Type 说明 文本(行项目 #1) 值(标准化输出)
字符串 行项目的完整字符串文本行 2021/3/4 A123 咨询服务 2 小时 30.00 美元 10% 60.00 美元
金额 Number 行项目的数量 60.00 美元 100
说明 字符串 发票行项目的文本说明 咨询服务 咨询服务
数量 Number 此发票行项目的数量 2 2
单价 Number 此项目一个单位的净价或毛价(具体取决于发票的发票总额设置) 30.00 美元 30
ProductCode 字符串 与特定行项目关联的产品代码、产品编号或 SKU A123
计价单位 字符串 行项目单位,如公斤、磅等。 小时
日期 Date 对应于每个行项目的日期。 这通常是行项目的发货日期 2021/3/4 2021-03-04
税款 Number 与每个行项目关联的税款。 可能的值包括税金和税款 Y/N 10.00
TaxRate 数字 与每个行项目关联的税率。 10%

提取的发票键值对和行项位于 JSON 输出的 documentResults 部分。

:::moniker-end

键值对

预生成的发票 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 LTD.
VendorAddress 字符串 供应商的邮件地址 123 456th St New York, NY, 10001
VendorAddressRecipient 字符串 与 VendorAddress 关联的名称 Contoso 总部
CustomerAddress 字符串 客户的邮件地址 123 Other Street, Redmond WA, 98052
CustomerAddressRecipient 字符串 与 CustomerAddress 关联的名称 Microsoft Corp
BillingAddress 字符串 客户的具体帐单邮寄地址 123 Bill Street, Redmond WA, 98052
BillingAddressRecipient 字符串 与 BillingAddress 关联的名称 Microsoft 服务
ShippingAddress 字符串 客户的具体送货地址 123 Ship Street, Redmond WA, 98052
ShippingAddressRecipient 字符串 与 ShippingAddress 关联的名称 Microsoft 交付
总计 数字 此发票上标识的小计字段 100.00 美元 100
TotalTax 数字 此发票上标识的总税款字段 $10.00 10
InvoiceTotal 数字 与此发票关联的新费用总计 110.00 美元 110
AmountDue 数字 应支付给供应商的总金额 610.00 美元 610
ServiceAddress 字符串 客户的具体服务地址或房产地址 123 Service Street, Redmond WA, 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 输出

JSON 输出分为三个部分:

  • "readResults" 节点包含所有已识别的文本和选定标记。 文本按页,然后按行,然后按单个单词进行组织。
  • "pageResults" 节点包含提取的表和单元格及其边界框、置信度以及对 readResults 中的行和词的引用。
  • "documentResults" 节点包含模型发现的特定于发票的值和行项目。 可以在此处找到发票中的所有字段,如发票 ID、送货地址、帐单地址、客户、总计、行项目等等。

迁移指南

后续步骤