瑞士 QR 发票 PDF:在 n8n 中按债权人、金额或参考号重命名!

你会收到PDF文件、发票和付款单,每份文件都有一个瑞士二维码,其中包含付款人、金额和参考编号等信息。你需要根据这些数据重命名这些文件,以便快速查找和排序。手动操作效率低下。
解决方法: 一个 n8n 工作流程 下载 PDF 使用 阅读瑞士二维码 (使用 PDF4me 提取结构化支付数据) 合并 它与文件一起,并且 上传 用新的文件名命名,可以按债权人、金额、参考编号或其他任何你需要的格式。文件不变,文件名更佳,无需手动重命名。
本指南将引导您完成整个流程:下载 PDF,读取其瑞士二维码,然后合并并上传,文件名由您关心的数据构成,例如债权人姓名和城市、金额和参考号,或债务人详细信息。
流程概览
您的 n8n 工作流程 使用瑞士二维码重命名 PDF 看起来像这样:
- 扳机:手动测试,或在新 PDF 可用时自动执行(例如 Dropbox、电子邮件、webhook)。
- 下载文件从源文件(例如 Dropbox)中获取 PDF 文件,并将其以二进制形式输出到诸如 `<field>` 之类的字段中。
document。 - 阅读瑞士二维码 (PDF4me):从PDF中提取瑞士QR钞票数据并输出结构化数据(
swissQrData债权人cr_Name,cr_City,cr_Country债务人ud_Name,Amount,Currency,Reference等等)。原始 PDF 文件仍保留在下载节点上。 - 合并:将读取瑞士二维码的输出(瑞士二维码数据)和下载的输出(PDF 二进制文件)合并为一个项目,以便下一个节点同时具有新的文件名和文件内容。
- 上传文件:将 PDF 文件保存为您选择的 Swiss QR 字段(例如,路径/文件名设置为 1.2547 ...
Test AG_Zurich_Switzerland.pdf或者1000_CHF_REF123.pdf)。
每次都是同一个文件,只是文件名不同。下面我们将详细介绍每个部分。

步骤一:下载文件并扫描其瑞士二维码
将 PDF 文件导入 n8n 并 提取命名值 使用 PDF4me 读取瑞士二维码。文件可以来自 下载文件 (例如。 Dropbox)、Google 云端硬盘、电子邮件或任何输出节点 二进制。
目前为止的流程: 触发 → 下载文件 → 读取瑞士二维码。
重要的: 读取瑞士二维码可返回支付数据(在 swissQrData它不会经过 PDF 文件。文件内容会保留在“下载”节点上。在步骤 2 中,您将合并两者,以便“上传”节点包含文件及其新名称。
- 添加触发器:测试时使用手动方式;生产环境使用自动触发器(例如 Dropbox、电子邮件、Google Drive、webhook)。
- 添加下载文件 (例如 Dropbox):设置 文件路径 保存到您的 PDF 位置(例如:
/Blog Data/Read Swiss QR.pdf) 和 将输出文件放入字段 到document因此,PDF 将以二进制形式提供给后续节点。 - 添加一个 PDF4me 节点 → 条形码 → 阅读瑞士二维码。
- 配置读取瑞士二维码节点:
- 连接凭证: 您的PDF4me帐户。
- 资源: 条形码 → 条形码操作: 阅读瑞士二维码。
- 输入数据类型: 二进制数据。
- 输入二进制字段:
document(与下载节点的输出字段相同)。 - 输出文件名: 例如
swissqr_code_data.json。 - 异步: 如果需要,可开启此功能以打开更大的 PDF 文件。
- 运行节点。输出结果包括 成功, 文档名称, 和 swissQrData 与债权人(
cr_Name,cr_City,cr_Country),债务人(ud_Name, ETC。), 数量, 货币, 参考, 国际银行账户等等。您将在上传步骤中使用这些字段作为文件名。
完整参数参考: 读取瑞士二维码 (n8n)。


步骤 2:合并并以新名称上传
你需要这两个。 PDF二进制文件 (来自下载)和 瑞士二维码数据 (摘自《读取瑞士二维码》)合并为一个项目,以便上传节点能够以新名称保存文件。 合并 节点将它们组合在一起; 上传 然后节点使用瑞士二维码字段作为路径或文件名。
- 添加合并节点
- 模式: 结合。
- 合并方式: 位置(输入 1 中的第一个项目与输入 2 中的第一个项目)。
- 输入数量: 2.
- 输入 1: 连接 阅读瑞士二维码 (提供)
swissQrData)。 - 输入 2: 连接 下载文件 (提供)
binary.document)。 - 输出: 一个合并项,同时包含瑞士二维码 JSON 和
binary.document因此,下一个节点包含新的文件名和文件内容。

- 添加上传节点 (例如 Dropbox) 上传文件(或任何接受二进制数据 + 路径的节点)
- 文件路径 (表达式):使用“读取瑞士二维码”的输出。您可以通过名称引用节点:
$('Read SwissQR code').item.json.swissQrData。 - 二进制文件: 在。
- 输入二进制字段:
document。 - 文件以瑞士二维码衍生名称上传;PDF 内容保持不变。
- Creditor (Name_City_Country)
- Debtor name
- Amount and reference
文件名使用债权人姓名、城市和国家/地区(例如: Test AG_Zurich_Switzerland.pdf):
/Blog Data/{{ $('Read SwissQR code').item.json.swissQrData.cr_Name }}_{{ $('Read SwissQR code').item.json.swissQrData.cr_City }}_{{ $('Read SwissQR code').item.json.swissQrData.cr_Country }}.pdf
决议如下: /Blog Data/Test AG_Zurich_Switzerland.pdf
使用最终债务人名称:
/Blog Data/{{ $('Read SwissQR code').item.json.swissQrData.ud_Name }}.pdf
或者加上城市名: {{ $('Read SwissQR code').item.json.swissQrData.ud_Name }}_{{ $('Read SwissQR code').item.json.swissQrData.ud_City }}.pdf
用于支付的命名应包含金额、货币和参考信息:
/Blog Data/{{ $('Read SwissQR code').item.json.swissQrData.Amount }}_{{ $('Read SwissQR code').item.json.swissQrData.Currency }}_{{ $('Read SwissQR code').item.json.swissQrData.Reference || 'no-ref' }}.pdf

同样的合并+上传模式也适用于 Google 云端硬盘、电子邮件或任何接受二进制文件和动态路径的存储方式。 提示: 对于 Dropbox,请启用 读 和 写 在 Dropbox 应用控制台 (权限 → 文件和文件夹):例如,读取下载权限 files.content.write 对于上传操作,更改权限后请使用新的访问令牌。
问题: 如果上传报告缺少二进制文件,请确保合并 输入 2 是来自 下载文件并非来自 Read Swiss QR Code。
为什么这种方法有效
要点
- 扳机使用手动触发器进行测试,或者使用自动触发器(Dropbox、电子邮件、webhook)使工作流在新 PDF 可用时运行。
- 阅读瑞士二维码 提取瑞士二维码账单数据并输出
swissQrData(债权人)cr_*债务人出去_*,数量,货币,参考等等)。它不会经过 PDF 处理;文件会留在下载节点上。 - 合并 (按位置合并)读取瑞士二维码输出与下载输出的组合,以便下一个节点接收一个包含两者的物品。
二进制文档和swissQrData。 - 上传 使用类似这样的表达式
$('读取 SwissQR 码').item.json.swissQrData.cr_Name(和cr_City,cr_Country(或其他字段)用于路径/文件名和二进制文档内容方面,每个文件都按瑞士二维码数据重命名。
真实世界场景
情景一:债权人重命名发票
问题: 收到的发票 PDF 文件名称通用;您需要按供应商(债权人)和地点查找它们。
解决方案: 按债权人名称、城市和国家/地区重命名(例如: Test AG_Zurich_Switzerland.pdf每个文件都可以按账单发送者进行搜索。
提取字段: cr_Name, cr_City, cr_Country
扳机: Dropbox 文件夹、电子邮件附件或 Webhook
场景 2:按金额和参考号分类的付款单
问题: 付款单PDF文件需要按金额和付款参考号归档,以便进行对账。
解决方案: 按金额、货币和参考编号重命名(例如: 1000_CHF_210000000003139471430009017.pdf将文件与银行交易进行比对。
提取字段: Amount, Currency, Reference
扳机: Dropbox、电子邮件、Webhook
情景三:债务人主动申请破产
问题: 为了会计核算,您需要按客户(最终债务人)对 PDF 文件进行分组。
解决方案: 按债务人姓名重命名(例如: Test Debt AG.pdf或债务人姓名+城市。直接映射到客户记录。
提取字段: ud_Name, ud_City
扳机: 电子邮件、共享文件夹、Webhook
快速常见问题解答
- 如果找不到瑞士二维码怎么办? 在文件路径表达式中使用备用路径,例如:
{{ $('Read SwissQR code').item.json.swissQrData?.cr_Name || 'no-qr-found' }}您可以添加条件分支来跳过上传步骤,或者将这些文件发送到单独的文件夹。 - 我可以同时使用债权人和金额吗? 是的。例如:
{{ $('Read SwissQR code').item.json.swissQrData.cr_Name }}_{{ $('Read SwissQR code').item.json.swissQrData.Amount }}_{{ $('Read SwissQR code').item.json.swissQrData.Currency }}.pdf。 - 我可以将它用于 Google 云端硬盘或电子邮件吗? 是的。模式相同:使用任何能以二进制格式返回文件的节点,以及任何接受二进制文件和动态路径的上传(或保存)节点。
后续步骤
概要: 触发 → 下载文件 → 读取瑞士二维码 → 合并 → 上传。文件名由以下部分组成: swissQrData (例如:债权人名称、城市、国家或金额/参考编号)。每个 PDF 文件都以提取的瑞士二维码数据命名。
- 获取您的 API 密钥使用同一个 PDF4me 账号注册 n8n。免费注册。
- 构建你的 n8n 流程:触发 → 下载文件 → 读取瑞士二维码 → 合并 → 上传,文件路径设置为您需要的瑞士二维码表达式。
- 阅读完整文档: 读取瑞士二维码 (n8n)。
- 尝试使用 API:在 API 测试器中使用您自己的 PDF 测试读取瑞士二维码端点。