跳到主要内容

在 Zapier 中使用 AI 重命名供应商发票:Dropbox + PDF4me 的 5 步工作流程

· 阅读需 21 分钟
SEO and Content Writer

应付账款中最令人头疼的部分不是支付发票,而是…… 寻找 三周后有人索要时,发现正确的发票仍然存放在仓库里。每个供应商的文件命名方式都不同,每次扫描都是如此。 untitled (3).pdf每个 Dropbox 文件夹都会变成一个无底洞。解决方法是让 AI 在发票到达时立即读取,提取客户姓名,并在文件进入长期存储之前重命名文件。本教程将构建一个精确的模式。 ZapierPDF4me AI - 文档解析器Dropbox以及 2 行 Zapier 代码 步骤。五个 Zap 步骤。来自一个正常运行的 Zap 的真实屏幕截图。供应商名称将变为文件名。搜索功能再次正常运作。

Zap概览
1. Dropbox: New File in Folder
Trigger. Polls /MuneerTrigger every 2 min for new files. Use any inbox folder where vendor invoices land.
2. Dropbox: Find File
Looks up the matching file in /pdf4metest/sample by File Name so we get the binary content into the Zap.
3. PDF4me: AI - Document Parser
Runs the default_invoice_extraction Analyzer against the file. Returns JSON keyed by the Analyzer schema (Customer Name, dates, totals, line items).
4. Code by Zapier: Run JavaScript
Two lines. JSON.parse the Doc Text into a real object so the next step can read its properties as tokens.
5. Dropbox: Upload File
Writes the original file back to /pdf4meoutput with Customer Name as the filename and the original extension.
简短版

该 Zap 由两个 Dropbox 步骤构成框架。PDF4me 的 AI 解析器读取发票。一个两行代码步骤将解析器的输出转换为可映射的标记。供应商名称将作为文件名。该 Zap 处理单页发票的全程耗时不到 10 秒。无需自定义分析器,内置的 默认发票提取 基本可以满足大多数供应商发票的需求。

基于原因的问答

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

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

为什么 默认发票提取 这是 PDF4me 自带的内置分析器,专为典型的供应商发票而设计。切换到自定义分析器 解析分析器 当您需要默认值未涵盖的字段时,或者需要 分类分析器 当一个 Zap 需要在一次运行中处理多个供应商布局时。

为什么选择重命名而不是移动到供应商文件夹? 两种方法都可行,你可以串联一个 Dropbox 账户。 移动文件 执行此 Zap 操作后,还需要将其放入供应商子文件夹中。先重命名意味着即使文件夹层级结构发生变化,按名称搜索也能立即返回正确的发票。


您将获得

输入: 供应商发票 PDF 文件已放入受监控的 Dropbox 文件夹中(/MuneerTrigger 在本教程中,任何收件箱文件夹都可以使用)。 输出: 同一份PDF文件被重新上传。 /pdf4meoutput 以供应商的客户名称命名(例如: HEADWAY TECHNOL…1; RENT 3.6-2MB.pdf原始文件将保留在触发文件夹中,以便保留审计跟踪。


你需要什么

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

先拿到样品。 点击下方链接下载与屏幕截图相同的供应商发票。在发布 Zap 之前,请将其放入您的 Dropbox 触发器文件夹,以便首次测试运行时生成与最终上传步骤中相同的客户名称令牌。


Zap概览

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

Zap 完整概览

Zapier Zap 画布显示了从上到下的 5 个步骤:Dropbox 在文件夹中新建文件(2 分钟投票)、Dropbox 查找文件、PDF4me AI - 文档解析器、Zapier 运行 JavaScript 代码、Dropbox 上传文件

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


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

目前为止的 Zap: 仅触发。

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

触发器配置

Dropbox 文件夹内新建文件触发器配置选项卡(默认空间)、文件夹/MuneerTrigger、包含子文件夹中的文件(否)、包含文件内容(是)、包含共享链接(是)

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


步骤 2:Dropbox – 查找文件

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

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

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

查找文件配置

Dropbox 查找文件配置选项卡,文件夹为 /pdf4metest/sample,文件名为 sample-vendor-invoice.pdf,包含文件内容为“是”,包含共享链接为“是”,如果未找到搜索结果则为“否”,步骤运行状态为“已停止/已暂停”,默认为“如果找到多个搜索结果,则返回第一个搜索结果”。

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


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

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

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

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

提示。 如果 默认发票提取 如果缺少您需要的字段(例如供应商增值税号、HSN编码、自定义行项目列),请在其中构建自定义分析器。 AI文档解析器仪表板 并在此处引用其 ID。相同的操作,不同的架构。零 Zap 重建。


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

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

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

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

运行 Javascript 配置

Zapier 代码运行 JavaScript 操作,输入数据 data2 映射到 PDF4me 步骤中的文档文本,其中包含 veoliaDetails 和其他提取的 JSON 字段。代码面板中的 const parsed 等于 JSON 解析 inputData.data2 并返回解析后的数据。

两行代码即可将 AI 解析器的 JSON 数据块转换为可单独映射的 Zapier 标记。Make 的等效模块是 Parse JSON 模块。

无代码版本。 如果您无法使用 Zapier 的 Code 功能(例如,免费套餐),请使用 Zapier 格式化工具 → 实用工具 → 从列表中选择 或者 查找表 从原始数据中提取特定值的模式 文档文本 字符串。虽然不够优雅,但免费。


步骤 5:Dropbox – 上传文件(智能重命名)

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

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

  1. 点击 +。 挑选 Dropbox上传文件
  2. 配置
    • 空间Default
    • 文件夹/pdf4meoutput (或者您重命名后的发票应该存放的地方)
    • 文件选择 文件 第二步(查找文件)中的令牌
    • 覆盖True (或者 False 如果你想在重复项上大声失败)
    • 指定文件名选择 客户名称 第 4 步中的令牌(已解析的 JSON)
    • 指定文件扩展名选择 文件扩展名 第二步的令牌
    • 包含分享链接吗?Yes
  3. 发布 电击。

上传文件配置

在 Dropbox 上传文件配置选项卡中,选择文件夹 /pdf4meoutput,文件来自步骤 2,无数据占位符,覆盖为真,指定文件名为步骤 4 中的客户名称令牌,显示为 HEADWAY TECHNOL 1 RENT 3.6 2MB,指定文件扩展名为步骤 2 中的文件扩展名令牌,包含共享链接为是

人工智能提取的客户名称标记直接用于“指定文件名”功能。原始扩展名则保证文件可以以 PDF 格式打开。


运行 Zap 并验证

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

你实际建造了什么? 这套零接触式应付账款录入系统可以将杂乱无章的供应商发票文件名转换为按客户名称索引的可搜索存档。人工智能负责处理文件名差异,代码步骤负责处理 JSON 数据,Dropbox 负责存储。同样的模式也适用于 Make(使用“解析 JSON”模块代替代码步骤)和 Power Automate(使用“解析 JSON”操作)。


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

添加 Google 表格行
在步骤 4 之后,添加一个 Google 表格创建行 包含发票编号、客户名称、总金额和发票日期列。Zap 现在会将数据导入您的应付账款跟踪系统,并重命名文件。
Slack 金融频道
在步骤 5 之后,添加 Slack 发送频道消息来自新发票 {{customerName}} 为了 {{totalAmount}} 到期的 {{dueDate}},文件位于 {{Upload File sharing link}}无需手动通知即可查看。
移至供应商子文件夹
代替 上传文件Dropbox 移动文件 并将目的地设置为 /pdf4meoutput/{{customerName}}. 为每个供应商自动创建一个文件夹。
混合供应商收件箱与分类
交换 默认发票提取 对于每个供应商一个架构的分类分析器 ID,请使用 Zapier路径 在步骤 4 之后,根据分类名称进行分支,并按供应商重命名/归档。

故障排除

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

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

客户名称令牌为空

默认发票提取 能够识别典型布局。如果您的供应商使用非常规布局,并且 customerName 返回值为空,请构建一个自定义解析分析器,并添加如下字段描述: “发票抬头打印的客户名称,有时会标注为买方、账单抬头或收货人。” 在步骤 3 中选择该分析器。

JSON.parse 在第 4 步失败

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

Dropbox“文件已存在”

两个拥有相同客户名称的供应商将会发生冲突。请设置 覆盖真的 在步骤 5 中(最后写入的内容生效)或附加 Zap 的 {{zap_meta_human_now}} 用于唯一化文件名的标记。


后续步骤

Zapier 中所有 AI 数据提取都采用相同的五步模式(触发 → 获取 → AI 解析 → 解析 JSON → 写入)。一旦完成一次部署,后续部署的成本几乎为零。