跳到主要内容

在 Power Automate 中为您的发票格式构建自定义 AI 分析器:Dropbox 三步工作流程

· 阅读需 27 分钟
SEO and Content Writer

A 自定义 AI 分析器模板 这是一个命名的 JSON 模式,您可以在 PDF4me 开发门户中定义它,用于告知 AI 从特定文档类型中提取哪些字段。本演练将构建一个用于 PDF4me 自有 SaaS 订阅发票(33 个字段:供应商地址块、瑞士 MWST 税率、订阅 ID、行项目、折扣详情)的分析器,然后通过一个三步 Power Automate 流程调用它,该流程从 Dropbox 读取 PDF 文件并返回结构化的 JSON。

内置的 default_invoice_extraction 虽然涵盖了通用发票,但实际的应付账款团队会使用特定供应商的布局、自定义的明细项目列、特定管辖区的税项字段以及通用架构所缺失的订阅元数据。只需构建一次自定义分析器,即可永久获得精确匹配提取,无需逐字段提示,也无需后续逻辑来清理响应。

完整工作流程概览
Setup A. Log in to dev portal
dev.pdf4me.com login. Email plus password or any SSO provider (Microsoft, Google, Facebook, Apple, GitHub).
Setup B. Open AI Document Parser
Dashboard sidebar, AI Document Parser. Lists every Analyzer Template you have already created.
Setup C. Add a Parse Analyzer
Click Add, name it (e.g. Test Invoice), choose Type Parse. The Analyzer Id is what Power Automate references.
Setup D. Paste the JSON schema
Document Schema field. Each schema entry has fieldName, fieldType, fieldDescription. Save Changes.
Flow 1. Manually trigger a flow
Replace later with HTTP / SharePoint / Outlook trigger when ready for production.
Flow 2. Get file content (path)
Dropbox path /pdf4me.pdf, Infer Content Type Yes. Reads the source PDF into the flow.
Flow 3. AI - Document Parser
PDF4me action. File Content from step 2, File Name Test.pdf, Customisation Note Test Invoice (your Analyzer Id). Returns body JSON.
简短版

设置一次分析器:登录 dev.pdf4me.com在侧边栏中打开 AI 文档解析器,点击添加,命名分析器(测试发票),选择类型 解析粘贴一个描述要提取的每个字段的 JSON 模式,保存。然后构建 Power Automate 流: 手动触发使用路径获取文件内容/pdf4me.pdf), AI - 文档解析器 传递的分析器名称为 定制说明输出为 JSON 格式,包含模式中声明的所有字段。本教程中的示例模式提取了 33 个字段,包括供应商地址、瑞士增值税 (MWST)、订阅 ID、账单周期、明细项目和折扣详情。

基于原因的问答

为什么选择自定义分析器而不是 默认发票提取 内置模板针对的是通用供应商发票。而实际的应付账款团队则拥有供应商特定的布局、特定司法管辖区的税项字段(例如瑞士增值税、德国增值税、美国销售税)、订阅元数据(例如订阅 ID、账单周期、下次账单日期)或行业明细列,这些都是默认架构所不包含的。自定义分析器可以一次性捕获所有这些信息。

为什么 Power Automate 中的字段名为“自定义说明”? 自定义说明参数 AI - 文档解析器 此操作接受分析器 ID 名称(与您在开发者门户中创建分析器时设置的字符串相同)。此名称仅供参考,其作用是“选择针对此文档运行的分析器模板”。留空则回退到默认模板。 默认发票提取在此处填写您的分析器名称以调用自定义架构。

为什么要使用 字段方法:生成 在复合场上? 一些字段(供应商地址账单地址)并非直接打印在文档上。人工智能会根据其他提取的字段将它们组合起来(供应商街 + 供应商城市 + ...)。 字段方法:生成 标记告诉 AI 引擎“从同级字段合成此值,不要在文档中搜索它”。这对于规范化地址块、全名或连接标识符非常有用。

为什么两者都是 发票日期 (日期)和 发票日期字符串 (细绳)? 该模式同时声明了日期和时间,因为日期通常是最容易产生歧义的字段。 发票日期 是已解析的日期类型(下游操作可以对其进行日期运算)。 发票日期字符串 文档中的原始打印文本(“2026 年 1 月 26 日”)被原封不动地保留下来。当解析器错误读取或规范化日期时,字符串副本允许您进行审核和修复。


您将获得

输入: 一份PDF格式的发票,格式与您的分析器设计格式一致,存储在Dropbox中。本教程使用PDF4me SaaS订阅发票(Ynoox GmbH / 瑞士,MWST 8.1%,订阅元数据,Pdf4me Base 1000套餐)。 输出: 包含架构中所有 33 个字段的结构化 JSON 响应,可作为 Power Automate 动态内容用于下一个操作(写入 SharePoint 列表、发布到 Slack、追加到 Excel Online、路由到审批等)。

示例输入发票

下载本教程中使用的同一份示例发票: pdf4me-invoice-sample.pdf

示例输出 JSON(摘自实际运行结果)

{
"documentTitle": "INVOICE",
"invoiceNumber": "Pdf4me-202601-32324",
"invoiceDate": "Jan 26, 2026",
"currency": "USD",
"paymentStatus": "PAID",
"vendorName": "Ynoox GmbH",
"vendorAddress": "Riedstrasse 2B, Hedingen, Zürich 8908, Switzerland",
"vendorTaxRegNumber": "CHE-360.751.198",
"billTo": "Chandra Arora",
"subscriptionId": "2e46662a-32e0-4e79-ba06-b13fe2c113ac",
"billingPeriodString": "Jan 26 to Feb 26, 2026",
"nextBillingDate": "Feb 26, 2026",
"mwstRate": 8.1,
"discountCode": "F_yn_100!",
"discountAmount": 35,
"lineItems": [
{ "description": "Pdf4me Base 1000", "price": 35, "discount": 35, "amount": 0 }
]
}

完整的 33 个字段的回复可在以下部分下载。


你需要什么

  • PDF4me 帐户打开开发者门户 然后登录(电子邮件加密码或 Microsoft、Google、Facebook、Apple、GitHub 单点登录)。
  • 动力自动化打开 Power Automate任何包含高级连接器的套餐(PDF4me Connect 属于高级套餐)。
  • Dropbox对于输入的 PDF 源,SharePoint、OneDrive 和 Google Drive 使用各自的连接器都能正常工作。
  • 确切的方案和示例 PDF下载以下两个文件,即可镜像所有屏幕截图。

首先获取架构图、示例 PDF 和预期输出。 使用它们逐字节地重现每个屏幕截图。


架构:分析器提取的 33 个字段

分析器架构是自定义提取的核心。每个字段都声明了 Power Automate 将看到的名称、将接收的类型以及指导 AI 查找值的描述。

场地类型它提取了什么
documentTitle细绳发票顶部的标签。例如: INVOICE
invoiceNumber细绳发票编号。示例: Pdf4me-202601-32324
invoiceDate日期已解析的发票开具日期
invoiceDateString细绳原始打印日期字符串。例如: Jan 26, 2026
invoiceAmount数字标题汇总中的总金额
currency细绳ISO货币代码。例如: USD
paymentStatus细绳PAIDUNPAID, 或者 DUE
vendorName细绳卖家公司名称。例如: Ynoox GmbH
vendorStreet细绳商贩街线
vendorCity细绳商贩城
vendorState细绳供应商所在州/县/省
vendorPostalCode细绳供应商邮政编码
vendorCountry细绳供应商国家/地区
vendorAddress细绳 (fieldMethod: generate由以上各部分组装而成的复合地址
vendorTaxRegNumber细绳税务登记。瑞士格式 CHE-360.751.198
billTo细绳客户名称(账单地址)
billToCountry细绳客户国家
billToAddress细绳 (fieldMethod: generate综合账单地址
subscriptionId细绳订阅部分的 UUID
billingPeriodStart日期已解析的计费周期开始日期
billingPeriodEnd日期已解析的计费周期结束日期
billingPeriodString细绳原始打印句号。例如: Jan 26 to Feb 26, 2026
nextBillingDate日期已解析下一个账单日期
nextBillingDateString细绳原始打印的下一个账单日期
subTotal数字税前金额
mwstRate数字瑞士增值税税率。例如: 8.1
mwstAmount数字瑞士增值税金额
total数字税后总计
amountDue数字最终应付金额
discountCode细绳折扣区的促销代码
discountDescription细绳完整折扣单文本
discountAmount数字折扣金额
discountPercentage数字折扣百分比
lineItems桌子每行产品/计划数据: descriptionpricediscountamount

完整的 JSON 模式(包含所有信息) fieldDescription AI 消耗的字符串)位于上面的可下载文件中。


设置 A:如何登录 PDF4me 开发门户?

你所在的位置: 在任何流动存在之前。

  1. 打开 dev.pdf4me.com 在任何浏览器中均可使用。
  2. 请输入您的电子邮件地址和密码,然后点击 登录或者选择右侧的单点登录选项之一: 继续使用 Microsoft谷歌Facebook苹果GitHub
  3. 新来的朋友?点击 没有账号?注册 创建一个。

登录界面

dev.pdf4me.com 登录界面显示 PDF4me 徽标、“登录 API 门户”标题、带有“记住我”复选框和“忘记密码”链接的电子邮件和密码输入框、红色“登录”按钮,以及右侧的五个单点登录 (SSO) 提供商:使用 Microsoft 继续、使用 Google 继续、使用 Facebook 继续、使用 Apple 继续、使用 GitHub 继续。底部有注册链接。

设置 B:仪表板中的 OpenAI 文档解析器

你所在的位置: 已登录,在 dev.pdf4me.com/dashboard

  1. 仪表盘左侧边栏显示您的帐户部分:首页、个人资料、订阅、付款信息 API密钥日志、发票、 AI文档解析器我的文档、文档分类、文档解析、工作经历、共享文档、推荐好友、奖励。
  2. 点击 AI文档解析器

仪表盘侧边栏

PDF4me 开发门户仪表板侧边栏列表:首页、个人资料、订阅、付款信息、API 密钥、日志、发票、AI 文档解析器、我的文档、文档分类、文档解析、工作历史、共享文档、推荐好友、奖励。已选择“首页”。

两个相邻的侧边栏项目。 分类文件解析文档 是单独的作业运行程序(针对现有分析器测试单个文档)。 AI文档解析器 是分析器模板管理器(用于创建架构)。首次设置时,请使用 AI 文档解析器。


设置 C:如何添加新的分析器模板?

你所在的位置: AI文档解析器页面。

  1. 该页面列出了您已创建的每个分析器模板,包括其 ID、类型以及编辑/删除操作。
  2. 点击 + 添加
  3. 出现一个空白行,其中包含两个字段:
    • 分析器 ID请输入一个简短易记的名称(例如: Test Invoice这是您将在 Power Automate 中作为自定义说明传递的确切字符串。
    • 分析器类型带有选项的下拉菜单 ParseClassify。 挑选 解析 用于结构化域提取。选择 分类 当你需要的是路由决策时。
  4. 点击 节省

添加分析器

PDF4me AI 文档解析器页面,包含“添加”按钮、现有分析器表格(显示测试发票和发票,类型均为“解析”)、内联新行表单(分析器 ID 字段为空)、类型已选择“解析”下拉列表以及“保存/取消”按钮。

设置 D:粘贴 JSON 模式并保存

你所在的位置: 编辑新创建的分析器。

  1. 点击新分析器旁边的铅笔编辑图标(Test Invoice)。
  2. 解析信息编辑器打开后,顶部会显示分析器 ID,然后是 文档模式 下方为字段。
  3. 粘贴以下 33 字段的 JSON 模式 analyzer-schema.json 在文档架构文本区域中。每个条目都是 { "fieldName": "...", "fieldType": "...", "fieldDescription": "..." }。 这 fieldDescription 这是最重要的字段,它告诉人工智能在哪里寻找以及要捕捉什么。
  4. 选择一个 示例文档类型 预设(Invoice 或者 Purchase Order如果您需要初始模板,请提供模板;否则,请直接粘贴您的架构图。
  5. 点击 保存更改

解析信息架构编辑器

PDF4me 解析信息编辑器,带有“保存更改”按钮、“解析信息”标题、“分析器 ID”字段设置为“测试发票”、“架构”部分以及一个文档架构文本区域,其中填充了 JSON 架构,声明了字段名称、文档标题、发票编号、发票日期及其字段类型和字段描述,底部还有“发票”和“采购订单”预设按钮。

模式设计技巧。字段描述 就像你给新来的初级会计做培训一样:先说出文档上打印的标签名称,然后是格式(纯数字、ISO日期、逗号分隔字符串),最后举个例子。人工智能会根据这些描述进行匹配,而不是根据字段名称。 "vendorTaxRegNumber": "供应商税务登记号/UID号。标签:'税务登记号'。瑞士格式,例如:CHE-360.751.198" 节拍 "vendorTaxRegNumber": "税号" 每次。


流程 1:如何将分析器连接到 Power Automate?

目前为止的流程: 仅触发。

Power Automate 部分很简单:只有 3 个操作。先使用手动触发器以便迭代;准备好投入生产环境时,可以切换到 HTTP/SharePoint/Outlook 触发器。

  1. 动力自动化 点击 创造, 选择 瞬间云流
  2. 给流程命名(例如: Custom Invoice Extraction), 挑选 手动触发流程, 点击 创造

完整的三步流程

Power Automate 流程画布显示了三个堆叠操作:手动触发流程(运行时间为 0 秒,已勾选)、使用路径获取文件内容(运行时间为 0.9 秒,已勾选)以及 AI - 文档解析器(运行时间为 21 秒,已勾选)。每个步骤都用左侧的连接器徽标框起来。

三个步骤。AI - 文档解析器是唯一调用 PDF4me 的步骤,并且占用了大部分运行时间(单页发票大约需要 21 秒)。


流程 2:从 Dropbox 获取源 PDF 文件

目前为止的流程: 触发器 + 获取文件内容。

  1. 点击 + 新步骤, 搜索 Dropbox, 挑选 使用路径获取文件内容
  2. 连接 如果您还没有Dropbox帐户,请先注册一个。
  3. 配置
    • 文件路径/pdf4me.pdf
    • 推断内容类型Yes (在高级参数下)

获取文件内容配置

Power Automate 使用路径操作获取文件内容,并配置了文件路径 /pdf4me.pdf,高级参数显示“推断内容类型:是”,已连接到 Dropbox。

流程 3:为什么“自定义备注”字段会包含您的分析器名称?

目前为止的流程: 触发器 + 获取文件内容 + AI - 文档解析器。

这是调用自定义分析器的操作。诀窍在于…… 定制说明 字段:粘贴设置 C 中的确切分析器 ID 名称(Test Invoice 在本演练中)。如果没有它,操作将回退到默认的发票提取方式。

  1. 点击 + 新步骤, 搜索 PDF4me, 挑选 AI - 文档解析器
  2. 连接 使用您的 API 密钥即可使用 PDF4me AI(仅限首次使用)。
  3. 配置
    • 文件内容选择 File Content 第 2 步(获取文件内容)中的令牌
    • 文件名Test.pdf (仅标签,非路径)
    • 定制说明 (在高级参数下): Test Invoice (您在设置 C 中设置的确切分析器 ID)
  4. 保存并测试

AI - 文档解析器操作

Power Automate PDF4me AI - 文档解析器操作,文件内容设置为获取文件内容令牌,文件名 Test.pdf,高级参数展开显示自定义说明测试发票,已连接到 PDF4me AI。

提高迭代速度的小技巧。 在迭代模式时使用手动触发器。每次更改时都会触发。 字段描述 在开发者门户中保存,然后重新运行 Power Automate 流。自定义注释值始终保持不变,只有其背后的架构会发生变化。这使得架构调整只需 30 秒即可完成。


运行流程并验证

  1. 节省 右上角的流水。
  2. 点击 测试, 选择 手动, 点击 测试 然后 运行流程
  3. 打开运行详情。所有三个操作都应显示为绿色。“AI - 文档解析器”步骤的输出中应包含 JSON 正文。
  4. 响应正文包含您声明的模式中的所有字段,这些字段均来自 PDF 文件。

实际运行的示例响应

Power Automate AI - 文档解析器运行输出显示了 JSON 正文,其中包含 documentTitle INVOICE、invoiceNumber Pdf4me-202601-32324、invoiceDate Jan 26 2026、currency USD、paymentStatus PAID、vendorName Ynoox GmbH、vendorAddress Riedstrasse 2B Hedingen Zürich 8908 Switzerland、vendorTaxRegNumber CHE-360.751.198、billTo Chandra Arora、subscriptionId 2e46662a UUID、billingPeriodString Jan 26 to Feb 26 2026、mwstRate 8.1、discountCode F_yn_100、discountAmount 35、discountPercentage 100 和 lineItems 数组,其中包含 Pdf4me Base 1000、price 35、discount 35 和 amount 0。

你实际建造了什么? 一个可复用的自定义发票解析器,能够识别您供应商的格式。只需一次调用,即可提取应付账款团队关注的所有字段,并以下游系统期望的方式命名,随时可以写入 SharePoint、通过审批流程、发布到 Teams 或追加到 Excel 跟踪表。您可以为下一个供应商格式构建第二个分析器,为采购订单构建第三个,为贷项通知单构建第四个。流程结构始终不变,只有自定义备注的值会发生变化。


无需重建即可添加的常见变体

邮件到达触发
代替 手动触发Outlook:收到新邮件时 (V3) 添加“获取附件”步骤。每封发票邮件都会自动触发提取器。
追加到 Excel 跟踪器
步骤 3 之后,添加 Excel Online(商业版)添加行将每个解析后的字段映射到一列。您的 AP 注册表将自动构建。
将高价值发票提交审批
添加 健康)状况 在步骤 3 之后 应付金额 > 5000. 分支选项为“是”:向财务经理发起 Microsoft 审批请求。分支选项为“否”:自动存档。
每个供应商的交换机分析仪(带分类)
在 AI - 文档解析器之前,添加一个返回供应商类型的分类分析器调用。 转变 将数据路由到正确的解析分析器(每个供应商定制)进行提取。

自定义分析器与 default_invoice_extraction

方面自定义分析器与默认分析器谁会赢?
设置时间定义模式需要 15-30 分钟0(已存在)
字段计数无论你声明什么(此处为 33)大约有 15 个通用发票字段
自定义标签是的(瑞士MWST,订阅ID,折扣码)不,只有标准发票字段
fieldMethod: generate 复合场是的
厂商特定布局学习是的,模式描述了它们的布局。不,一刀切
维护发票格式更改时更新架构Zero,PDF4me 维持着它
最适合经常性供应商、管辖税、订阅计费通用AP摄入量,混合供应商低容量

常见问题

设计该方案需要多长时间?

对于熟悉的发票格式(例如您自己的 SaaS 计费方式,或您前三大供应商的计费方式),初稿大约需要 15-30 分钟。通读一张发票,列出应付账款团队手动转录的每个字段,然后写一句简短的描述。 fieldDescription 针对每种标签,分别命名打印的标签并给出示例。然后用 3-5 个示例发票进行测试,并迭代改进那些返回错误描述的标签。

如果文档中缺少某个字段会发生什么情况?

分析器返回的字段值为空或 null,不会报错。下游 Power Automate 逻辑应该处理缺失值。 coalesce() 或者 if(empty(...)) 表达式,尤其是对于必填字段,例如 invoiceNumber这与以下行为相同: default_invoice_extraction

我可以对我的分析器架构进行版本控制吗?

开发者门户目前尚未原生支持此功能。建议的做法是在进行重大架构更改时创建一个新的分析器 ID(Test Invoice v2)并更新 Power Automate 的自定义说明,使其指向新版本。在所有流程迁移完成之前,请保持旧版分析器处于活动状态。

人工智能如何知道要提取哪些字段? fieldMethod: generate

人工智能读取 fieldDescription 以及同一级别中同级字段的名称。 vendorAddress 定义为 "Complete vendor address (street, city, state, postal code, country). Use comma(,) to separate lines."人工智能会将已提取的部件组装起来。 vendorStreetvendorCityvendorStatevendorPostalCodevendorCountry 字段。无需正则表达式,无需字符串模板,也无需后续操作。

分析器是否适用于 Power Automate、Make、Zapier 和 n8n?

是的。一旦分析器 ID 发布到开发者门户,所有平台上的 PDF4me AI - 文档解析器操作都可以通过名称引用它。只需构建一次架构,即可在任何自动化工具中使用它,返回的 JSON 响应格式都相同。


故障排除

响应使用了 default_invoice_extraction 字段,而不是我的字段。

自定义备注中的值与分析器 ID 不完全匹配。请在开发者门户中打开 AI 文档解析器页面,完整复制分析器 ID 字符串,并将其粘贴到自定义备注中。注意大小写和空格。

特定字段为空

字段描述 描述过于模糊,或者文档上的标签与描述不符。打开一份失败的示例发票,找到确切的标签文本,并将其更新到描述中: 标签:“发票编号”或“发票号码”。例如:INV-2089。保存架构并重新运行。

日期字段解析为错误格式

添加兄弟姐妹 字段名字段类型:字符串 它逐字逐句地捕获原始打印日期(就像架构的 发票日期字符串这样,您就可以同时获得解析后的日期和源文本以供审核。

表格字段仅返回第一行

确认 字段类型:表格 在顶层,以及嵌套的 字段 数组声明每一列。AI 会对检测到的每一行重复嵌套提取,但前提是父字段声明了该列。 桌子 类型。


后续步骤

相同的“一次设置,多次调用”模式(定义分析器、粘贴架构、将 ID 作为自定义说明传递)适用于任何文档类型:采购订单、合同、银行对账单、医疗索赔、海关申报单。每种格式定义一个分析器,然后即可从任何 Power Automate、Make、Zapier 或 n8n 流程中混合搭配使用。