跳到主要内容

在 Zapier 中按供应商名称重命名所有供应商发票:5 步 Dropbox + PDF4me AI 工作流程

· 阅读需 23 分钟
SEO and Content Writer

应付账款中最令人头疼的部分不是支付发票,而是…… 三周后才找到正确的供应商发票 当财务部门询问时。每个供应商的文件命名方式都不同。一半是 invoice.pdf另一半是 INV-2089-FINAL-v3.pdf 供应商曾四次更改命名规则。解决方法:让 AI 在每张发票到达时立即读取供应商名称,然后在文件进入长期存储之前重命名该文件。本教程将构建这种精确的模式。 ZapierPDF4me AI - 文档解析器 以及 2 行 Zapier 代码 步骤。五个 Zap 步骤。真实截图。供应商名称即为文件名。符合审计要求的文件夹。搜索功能即刻可用。

Zap概览
1. Dropbox: New File in Folder
Trigger. Polls /MuneerTrigger every 2 min for any new vendor invoice that lands in the intake folder.
2. Dropbox: Find File
Looks up the matching file in /pdf4metest/sample so the AI parser gets a real binary, not just a Dropbox metadata pointer.
3. PDF4me: AI - Document Parser
Runs the default_invoice_extraction Analyzer. Returns Vendor Name, Invoice Number, Total, Dates, Line Items as JSON.
4. Code by Zapier: Run JavaScript
Two lines. JSON.parse the Doc Text into a real object so step 5 can use Vendor Name as a Zapier token.
5. Dropbox: Upload File
Writes the original file back to /pdf4meoutput with Vendor Name as the filename and the original extension preserved.
简短版

该 Zap 由两个 Dropbox 步骤构成。PDF4me AI 读取发票抬头并提取供应商名称。一个两行代码步骤将解析器输出转换为可映射的标记。供应商名称将成为新的文件名。处理单页发票的端到端运行时间不到 10 秒。无需自定义分析器,内置的 PDF4me AI 即可完成所有操作。 默认发票提取 已映射典型应付账款发票的“供应商名称”字段。测试运行输出: 威立雅 WTS 服务美国公司.pdf 而不是 示例发票.pdf

基于原因的问答

为什么使用供应商名称而不是发票编号来重命名? 两者都很有用,但财务团队通常会使用供应商名称进行搜索。“提取上季度威立雅的发票”比“查找 INV-2089 到 INV-2412”要高效得多。发票编号非常适合用作文件夹策略(每个供应商一个文件夹),可以叠加在重命名的基础上。如果您需要同时使用两者,可以添加一个 Dropbox 文件夹。 移动文件 在步骤 5 之后,将目标设置为 /pdf4meoutput/{{vendorName}}/

为什么一开始要执行两个 Dropbox 步骤?文件夹中的新文件 触发器会提供元数据(名称、路径、ID),但并不总是提供下游应用程序可以重新上传的干净二进制文件。 查找文件 PDF4me AI 能正确读取文件,因此可以获得真实的文档,并且步骤 5 中就有了可以上传的字节。同样的模式也适用于 SharePoint 或 OneDrive,只需使用相应的连接器即可。

为什么 默认发票提取 这是 PDF4me 自带的内置分析器模板,已针对典型的供应商发票进行了预先优化。它会自动提取供应商名称、发票编号、总计、税额、日期和明细项目。切换到自定义模板 解析分析器 仅当您需要默认值未涵盖的字段时才需要(例如,供应商增值税号、自定义采购订单参考号、总账科目代码)。

为什么要在中间加一个代码步骤? AI解析器将提取的数据以JSON格式返回。 细绳文档文本 输出结果。除非你解析它,否则 Zapier 会将其显示为一大段数据。两行 JSON解析 里面 Zapier 代码 在步骤 5 中,将该数据块转换为一个实际对象,其属性(供应商名称、发票编号、总计)将成为可单独映射的标记。Make 的等效项是 解析 JSON 模块;Power Automate 的等效模块是 解析 JSON 行动。


您将获得

输入: 任何供应商发票 PDF 文件被放入受监控的 Dropbox 文件夹中(/MuneerTrigger 在本教程中,任何 AP 接收文件夹都可以使用)。 输出: 同一份PDF文件被重新上传。 /pdf4meoutput 以供应商的公司名称命名(例如: Veolia WTS Services USA, Inc..pdf原始文件保留在触发文件夹中,以便保留传入内容的审计跟踪记录。


你需要什么

  • Zapier打开 ZapierZapier 的 Code 步骤至少需要 Starter 套餐;其他所有功能都可以在免费套餐下使用。
  • PDF4me API密钥获取您的 API 密钥首次添加 PDF4me 操作时,您需要将其连接起来。
  • Dropbox无论是 AP 接收文件夹(触发器)还是重命名后的输出文件夹,SharePoint、OneDrive 和 Google Drive 都使用各自的连接器以相同的方式工作。
  • 供应商发票样本任何包含可见供应商名称的 PDF 文件。该演练指南使用 供应商发票示例.pdf, 你可以 下载本教程中使用的确切文件 然后将其上传到 Dropbox,以镜像每个屏幕截图。

先拿到样品。 点击下方链接下载与屏幕截图相同的供应商发票。在发布 Zap 之前,将其放入您的 Dropbox 触发器文件夹中,以便首次测试运行时生成相同的供应商名称令牌(威立雅WTS服务美国公司)您在最后上传步骤中可以看到。


流程概览

  1. Dropbox:在文件夹中新建文件 (触发器)。每隔几分钟轮询一次受监视的文件夹,检查是否有新文件。
  2. Dropbox:查找文件.按名称查找新文件,将其二进制内容导入 Zap。
  3. PDF4me:人工智能文档解析器运行 default_invoice_extraction 分析器。
  4. Zapier 提供的代码:运行 JavaScript两行文字 JSON.parse 将文档文本转换为实际对象。
  5. Dropbox:上传文件将文件写回 供应商名称 作为新文件名。

Zap 完整概览

Zapier Zap 画布显示了从上到下排列的 5 个步骤:每 2 分钟轮询一次 Dropbox 文件夹中的新文件、Dropbox 查找文件、PDF4me AI - 文档解析器、Zapier 代码运行 JavaScript、Dropbox 上传文件。每个步骤都有一个绿色对勾,表示 Zap 已配置并测试完毕。

五个步骤。每张卡片在配置和测试完成后都会显示一个绿色对勾。PDF4me AI 位于中间;“代码”步骤会将解析器输出转换为可映射的供应商名称标记。


步骤 1:Dropbox – 文件夹中的新文件(触发)

目前为止的 Zap: 仅触发。

  1. Zapier 点击 + 创建 Zap
  2. 挑选 Dropbox 作为触发应用程序, 文件夹中的新文件 作为事件。
  3. 连接 如果您还没有Dropbox帐户,请先注册一个。
  4. 配置
    • 空间Default
    • 文件夹/MuneerTrigger (或者供应商放入的任何 AP 收据文件夹)
    • 是否包含子文件夹中的文件?False
    • 是否包含文件内容?Yes (重要,为下游步骤提供了一个干净的二进制回退方案)
    • 包含分享链接吗?Yes (可选,如果您稍后想在 Slack 或电子邮件中发送链接,这将很有用)
  5. 测试触发器将示例发票拖放到文件夹中,Zapier 应该会返回一条新的文件记录。

触发器配置

Dropbox 文件夹内新建文件触发器配置选项卡,空间设置为默认,文件夹设置为 /MuneerTrigger,包含子文件夹中的文件设置为 False,包含文件内容设置为 Yes,包含共享链接设置为 Yes。

触发器会监视 AP 接收文件夹,在 Starter 套餐中默认每 2 分钟轮询一次,在更高级别的套餐中轮询速度更快。


步骤 2:Dropbox – 查找文件

目前为止的 Zap: 触发器 → 查找文件。

“新建文件”触发器会提供文件名和路径,但“查找文件”触发器可以确保生成一个干净、可下载的二进制文件,供后续步骤使用。请添加该文件。

  1. 点击 + 扳机下方。选择 Dropbox查找文件
  2. 配置
    • 空间Default
    • 文件夹/pdf4metest/sample (实际文件所在的文件夹,通常与触发文件夹相同)
    • 是否包含子文件夹中的文件?False
    • 文件名 (必需的): sample_invoice (或者选择 文件名 来自触发器的令牌,使其动态化)
    • 是否包含已删除的文件?:留空(默认)
    • 是否包含文件内容?Yes
    • 包含分享链接吗?Yes
    • 如果没有找到搜索结果,则搜索结果是否成功?: 保留默认值(False(如果文件缺失,则停止 Zap)
    • 如果找到多个搜索结果: 保留默认值(Return first search result
  3. 测试操作Zapier 应该返回包含二进制内容的文件。

查找文件配置

Dropbox 查找文件配置选项卡,文件夹 /pdf4metest/sample,文件名 sample_invoice,包含文件内容是,包含共享链接是,如果未找到搜索结果则成功,步骤运行状态停止,如果找到多个搜索结果则返回第一个搜索结果。

查找文件为下游 AI 解析器和上传文件步骤提供了一个有保证的干净二进制文件,而不仅仅是一个 Dropbox 链接。


步骤 3:PDF4me – AI 文档解析器

目前为止的 Zap: 触发 → 查找文件 → AI - 文档解析器。

在这里,人工智能会读取发票并提取结构化字段。内置分析器涵盖典型的供应商发票;您稍后可以切换到自定义分析器,以提取特定行业的字段。

  1. 点击 +。 搜索 PDF4me, 挑选 AI - 文档解析器
  2. 连接 使用您的 API 密钥登录 PDF4me(仅限首次登录;可在所有 PDF4me 操作中重复使用该连接)。
  3. 配置
    • 文件选择 文件 从步骤 2(查找文件)中提取令牌。 文件 URL 文件为空,但你已经有一个文件了。
    • 文件名:连接 文件名文件扩展名 从步骤 2 中获取令牌,以便操作接收带有正确扩展名的原始名称(例如, sample_invoice + .pdf)。
    • AI 分析器名称(已弃用):留空。
    • AI 分析器 IDdefault_invoice_extraction (内置发票模板,提取供应商名称、发票编号、总计、税额、日期、明细项目)。
  4. 测试操作检查响应。您应该看到一个 Doc Text 包含提取字段的 JSON 字符串的字段。

AI - 文档解析器配置

PDF4me AI - 文档解析器操作配置选项卡,文件设置为步骤 2 中的文件标记,文件名设置为文件名加上文件扩展名连接到 sample_invoice.pdf,AI 分析器名称已弃用,留空,AI 分析器 ID 设置为 default_invoice_extraction。

分析器 ID 默认发票提取 是内置模板。在模板中构建自定义分析器 PDF4me 控制面板 当您需要超出默认架构的字段时。

提示。 想知道解析器实际返回的是什么吗?打开 测试操作 Zapier 中的响应并查看 文档文本你会看到类似这样的字段 供应商名称发票号发票日期到期日总金额lineItems[]以及更多内容。其中的任何内容都可以在 JSON.parse 步骤之后的第 5 步中进行映射。


步骤 4:使用 Zapier 编写代码 – 运行 JavaScript

目前为止的 Zap: 触发 → 查找文件 → AI - 文档解析器 → 运行 JavaScript。

AI解析器以JSON字符串的形式返回数据。 Doc Text 输出。Zapier 将其显示为一个大的标记。要映射各个字段(Vendor NameInvoice Number(总计)进入下一步,首先将其解析为一个实际对象。

  1. 点击 +。 挑选 Zapier 代码, 事件 运行 Javascript
  2. 输入数据添加一条记录。
    • 姓名: data
    • 值:选择 文档文本 第 3 步的 token(AI 解析器响应)。
  3. 代码 (请准确粘贴):
const parsed = JSON.parse(inputData.data);
return parsed;
  1. 测试操作输出结果应该将分析器模式中的每个字段都作为单独的令牌公开: parsed vendorNameparsed invoiceNumberparsed totalAmount, ETC。

运行 Javascript 配置

Zapier 代码运行 JavaScript 操作,输入数据名为 data,映射到 PDF4me 步骤中的文档文本,其中包含 invoiceNumber、total 和其他提取的 JSON 字段。代码面板显示 const parsed 等于 JSON parse inputData.data 并返回 parsed。

两行代码即可将 AI 解析器生成的 JSON 数据块转换为可单独映射的 Zapier 令牌。Make 的等效模块是 Parse JSON;Power Automate 使用的是 Parse JSON 操作。

无代码版本。 如果您无法使用 Zapier 的 Code 功能(例如,Zapier 免费套餐、公司内部政策禁止自定义代码),请使用 Zapier 格式化工具 → 实用工具 → 查找表 或者 文本 → 查找和替换 从原始数据中提取特定值的模式 文档文本 字符串。虽然不够优雅,但免费。


步骤 5:Dropbox – 上传文件(按供应商名称智能重命名)

目前为止的 Zap: 触发 → 查找文件 → AI - 文档解析器 → 运行 JavaScript → 上传文件。

这就是最终结果。将步骤 2 中的文件重新上传,并将提取出的供应商名称作为文件名。

  1. 点击 +。 挑选 Dropbox上传文件
  2. 配置
    • 空间Default
    • 文件夹/pdf4meoutput (或者您重命名后的应付账款发票应该存放的地方)
    • 文件选择 文件 第二步(查找文件)中的令牌
    • 覆盖True (或者 False (如果你想在同一时期内因重复供应商发票而大张旗鼓地失败的话)
    • 指定文件名选择 供应商名称 来自步骤 4 的令牌(已解析的 JSON 输出)。在测试运行中,它解析为 Veolia WTS Services USA, Inc.
    • 指定文件扩展名选择 文件扩展名 步骤 2 中的令牌(保留原始令牌) .pdf
    • 包含分享链接吗?Yes
  3. 发布 电击。

上传文件配置

Dropbox 上传文件配置选项卡,文件夹 /pdf4meoutput,步骤 2 中的文件存在但未显示,覆盖为 True,指定文件名设置为步骤 4 中的供应商名称标记,显示 Veolia WTS Services USA, Inc.,指定文件扩展名,步骤 2 中的文件扩展名标记 .pdf,包含共享链接为 Yes。

AI提取的供应商名称标记直接用于“指定文件名”。原始扩展名保留了文件的PDF打开方式。输出文件名: 威立雅 WTS 服务美国公司.pdf


运行 Zap 并验证

  1. 切换 Zap
  2. 将供应商发票 PDF 文件拖放到 /MuneerTrigger
  3. 等待触发轮询(在 Starter 上最多需要 2 分钟)。检查 Zap 历史五个步骤全部应为绿色。
  4. 打开 Dropbox /pdf4meoutput文件已存在,以供应商的公司名称命名,并保留了原始扩展名。

你实际建造了什么? 这套零接触式应付账款数据导入流程,能够将杂乱无章的供应商发票文件名转换为按供应商分类的可搜索存档。人工智能负责处理不同供应商发票格式的差异,代码步骤负责处理 JSON 数据,Dropbox 负责存储。同样的模式也适用于 Make(使用“解析 JSON”模块代替代码步骤)和 Power Automate(使用“解析 JSON”操作)。默认的分析器即可覆盖大多数供应商。


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

移至供应商子文件夹
代替 上传文件Dropbox 移动文件 并将目的地设置为 /pdf4meoutput/{{vendorName}}/. 为每个供应商自动创建一个文件夹,文件夹内的文件以发票号命名。
向 AP 跟踪器添加一行
在步骤 4 之后,添加一个 Google 表格创建行 包含供应商名称、发票编号、总金额和到期日列。Zap 现在会将数据导入您的应付账款跟踪系统,并重命名文件。
在Slack上与财务部门沟通高价值发票事宜
添加 通过 Zapier 筛选 在步骤 4 之后 总金额 > 10000。 然后 Slack 发送频道消息来自大额发票 {{vendorName}}{{totalAmount}}, 到期的 {{dueDate}}
使用 Classify 进行混合供应商收货
交换 默认发票提取 对于每个供应商一个架构的分类分析器 ID,请使用 Zapier路径 在步骤 4 之后,根据分类名称进行分支,并按供应商重命名/归档。

故障排除

上传文件预览中显示“无数据”

确保你已经绘制了地图 文件 此处使用的是步骤 2(查找文件)中的令牌,而非步骤 1(触发器)中的令牌。触发器有时仅发送元数据;而“查找文件”始终发送二进制文件。

供应商名称令牌为空。

默认发票提取 能够识别典型布局。如果您的供应商使用非常规布局且 vendorName 返回值为空,请在以下位置构建自定义解析分析器: PDF4me 控制面板 带有如下字段描述 “发票抬头上打印的供应商或厂商名称,有时会标注为‘发件人’、‘账单开具人’或‘汇款至’。” 在步骤 3 中选择该分析器 ID。

JSON.parse 在第 4 步失败

AI解析器在极少数情况下会返回纯文本,即格式错误的字符串。将解析过程放在try/catch语句块中,并在出现错误时返回原始字符串,以避免Zap程序崩溃: 尝试 { return JSON.parse(inputData.data) } 捕获(e) { return { raw: inputData.data } }

Dropbox“文件已存在”

同一供应商在同一时期开具的两张发票会发生冲突。请设置 覆盖真的 在步骤 5 中(最后写入的内容生效)或追加 {{invoiceNumber}} 用于确保文件名唯一性的标记: {{vendorName}} - {{invoiceNumber}}


相关文档

后续步骤

同样的五步模式(触发、获取、AI 解析、解析 JSON、写入提取的名称)适用于应付账款中的任何 AI 提取 Zap。先用它处理供应商发票,之后的处理成本几乎为零。接下来可以尝试将其应用于收据、合同或采购订单。