跳到主要内容

在 n8n 中创建瑞士二维码账单:两种完整的工作流程(有和无现有 PDF)

· 阅读需 27 分钟
SEO and Content Writer

每张瑞士发票都必须包含一个 瑞士二维码钞票 (也称为瑞士二维码支付单),以便银行和会计软件可以自动扫描和处理付款。n8n 和 PDF4me 使这一过程完全自动化。本指南将逐步介绍具体步骤。 两个可用于生产的工作流程一个程序可以将二维码叠加到 Dropbox 中已有的 PDF 文件上,另一个程序则仅根据支付数据生成独立的二维码账单文档,无需任何背景 PDF 文件。两个程序的设置时间均不超过 10 分钟。

本指南涵盖两种工作流程。
Workflow A (4 nodes)
Trigger → Download PDF → Create SwissQR (Binary Data) → Upload. Output: 602 kB. Best when you already have a PDF invoice in Dropbox.
Workflow B (3 nodes)
Trigger → Create SwissQR (None) → Upload. Output: 132 kB. Best when you only have payment data and need a standalone QR slip.
简短版

工作流程 A: 触发器启动。Dropbox 下载。 测试债务股份公司.pdf (344 kB)。PDF4me 创建 SwissQR 账单运行 输入数据类型:二进制数据金额 1000 瑞士法郎,IBAN CH0200700110003765824债权人:Test AG。输出结果为 swissqr_bill.pdf 文件大小为 602 kB。Dropbox 上传功能会保存结果。

工作流程 B: 触发器启动。PDF4me 创建 SwissQR 账单运行。 输入数据类型:无相同的支付字段,外加完整的结构化债权人地址。输出结果为: n8n_swissqr02.pdf 文件大小为 132 kB。Dropbox 上传功能会保存结果。

决定一切的那个设置

输入数据类型 PDF4me 节点中的字段是这两个工作流程之间唯一的结构性差异。将其设置为 二进制数据 当您已有 PDF 文件(工作流程 A)时,请将其设置为 没有任何 当您仅需要根据支付数据生成独立的二维码单时(工作流程 B),其他所有参数(金额、IBAN、币种、收款人名称)均相同。

你正在构建的

自2020年瑞士从旧版付款单标准过渡到新标准以来,所有开具的瑞士发票都必须包含瑞士二维码账单:这是一个标准化的付款部分,其中包含一个二维码,该二维码以ISO 20022格式编码了IBAN、金额、货币、债权人以及可选的债务人信息。银行和会计软件无需任何人工重新输入即可扫描该二维码账单。本指南中的两个n8n工作流程可自动完成此生成步骤,从而自动生成二维码账单并将其保存到Dropbox,无需人工干预。


一览

工作流程 A:4 个步骤

1Trigger
2Download PDF from Dropbox
3Create SwissQR (Binary Data)
4Upload result to Dropbox
n8n 工作流程概览:点击“执行工作流程”触发器后,依次触发 Dropbox 下载文件节点(下载:文件)、PDF4me 创建 SwissQR 账单节点(发票/创建 Swiss QR 账单)和 Dropbox 上传文件节点(上传:文件)。这四个节点按顺序连接,每个节点之间传递一个项目。

工作流程 A:四个节点,触发下载以创建 SwissQR 账单(二进制数据)以上传。

工作流程 B:3 个步骤

1Trigger
2Create SwissQR (None)
3Upload result to Dropbox
n8n 工作流 B 概览:点击“执行工作流”触发器后,PDF4me 创建 SwissQR 账单节点(标记为“创建 Swiss QR 账单,无需输入数据 (PDF)”)和 Dropbox 上传文件节点(上传:文件)依次连接。这三个节点之间传递一个项目。

工作流程 B:三个节点,触发创建 SwissQR 账单(输入数据类型:无)并上传。无需下载步骤。


为什么需要两种不同的工作流程?

保留现有文档

工作流程 A 可保留您原有的品牌发票模板。PDF4me 会将瑞士二维码添加到您 Dropbox 中已有的 PDF 文件中。无需重新格式化、重新设计或手动排版。

仅根据数据生成

工作流程 B 完全跳过了下载步骤。只需提供支付数据,PDF4me 即可从头开始生成完整的二维码支付单。完全不需要任何基础 PDF 文件。

一个设定,两条路径

唯一的结构性区别在于 输入数据类型 字段:工作流 A 为二进制数据,工作流 B 为无。金额、IBAN、货币和债权人名称在两者中配置方式相同。


开始之前

检查清单
  • n8n (云端或自托管)。创建一个新的空白工作流程。
  • PDF4me API密钥首次设置: 将 PDF4me 连接到 n8n
  • Dropbox n8n 中的 OAuth2 凭据,具有对工作文件夹的读写权限。
  • 仅限工作流程 A: 存储在 Dropbox 中的现有 PDF 文件(例如, 测试债务股份公司.pdf/博客数据/SwissQR/)。
  • 支付数据: 有效的瑞士 IBAN(21 个字符,以……开头) CH)、金额、货币(瑞士法郎或欧元)、债权人名称,以及对于工作流程 B,完整的结构化债权人地址。

工作流程 A:在现有 PDF 上创建瑞士二维码账单(4 个节点)

如果您已有PDF格式的发票或文档,请使用此功能。PDF4me会将瑞士二维码账单叠加到文件上。

步骤 1:从 Dropbox 下载现有 PDF 文件

目前为止的流程: 扳机。

  1. 添加 Dropbox 节点。
  2. 凭据: Dropbox OAuth2 API。
  3. 资源: 文件。 手术: 下载。
  4. 文件路径: Dropbox 中 PDF 文件的路径,例如: 测试债务股份公司.pdf (在本例中,文件位于) /博客数据/SwissQR/)。
  5. 将输出文件放入字段: 数据
  6. 运行该步骤。“输出”面板应显示文件名(测试债务股份公司.pdf),目录,MIME 类型 应用程序/pdf文件大小为 344 kB。
n8n Dropbox 下载文件节点:凭证 Dropbox OAuth2 API,资源文件,操作下载,文件路径 Test Debt AG.pdf,将输出文件放入字段 data。输出面板显示文件名 Test Debt AG.pdf,目录 /Blog Data/SwissQR,文件扩展名 pdf,MIME 类型 application/pdf,文件大小 344 kB。

Dropbox 下载已配置文件路径 测试债务股份公司.pdf 并将输出文件放入字段 数据输出结果确认文件已下载,大小为 344 kB。


步骤二:在下载的PDF文件中创建SwissQR账单

目前为止的流程: 触发后下载PDF。

这是核心步骤。PDF4me 读取下载的 PDF 二进制文件,并生成一个附加了瑞士二维码钞票的新 PDF 文件。

  1. 添加 PDF4me 节点。
  2. 凭据: PDF4ME账号。
  3. 资源: 发票。 发票操作: 创建 SwissQR 账单。
  4. 输入数据类型: 二进制数据(因为您要从上一个节点提供 PDF)。
  5. 二进制属性: 数据 (与下载步骤中的字段名称匹配)。
  6. 文件名: 测试债务股份公司.pdf (源文档的文件名)。
  7. 填写付款信息:
    • 数量: 1000
    • 货币: 瑞士法郎
    • 国际银行账户: CH0200700110003765824
    • 债权人名称: 测试 AG
  8. 运行该步骤。“输出”面板显示 swissqr_bill.pdf,MIME 类型 应用程序/pdf文件大小为 602 kB(比 344 kB 大,因为嵌入了二维码页面)。
n8n PDF4me 创建 SwissQR 账单节点,输入显示下载文件输出:文件名 Test Debt AG.pdf,大小 344 kB。参数:凭证 PDF4ME 帐户 3,资源发票,发票操作创建 SwissQR 账单,输入数据类型二进制数据,二进制属性数据,文件名 Test Debt AG.pdf,金额 1000,货币瑞士法郎,IBAN CH0200700110003765824,债权人名称 Test AG。输出:数据,文件名 swissqr_bill.pdf,文件扩展名 pdf,MIME 类型 application/pdf,文件大小 602 kB。

使用二进制数据作为输入,创建 SwissQR 账单。输入数据为 Dropbox 中的 344 kB PDF 文件。输出结果为: swissqr_bill.pdf 文件大小为 602 kB。文件大小的增加证实了二维码已嵌入。


步骤 3:将结果上传到 Dropbox

目前为止的流程: 触发后下载PDF,然后创建SwissQR账单。

  1. 再添加一个 Dropbox 节点。
  2. 凭据: Dropbox OAuth2 API。
  3. 资源: 文件。 手术: 上传。
  4. 文件路径: Dropbox 中的目标路径,例如: /博客数据/SwissQR/swissqr_bill.pdf
  5. 二进制文件: 在。
  6. 输入二进制字段: 数据 (上一步生成的 SwissQR 账单输出)。
  7. 运行。Dropbox 返回上传元数据,确认文件名和路径。

工作流程 A 已完成。您现有的 PDF 文件现在已添加瑞士二维码账单,并已保存回 Dropbox。


工作流程 B:创建独立的瑞士二维码钞票(3 个节点)

当您没有背景 PDF 文件时,可以使用此功能。PDF4me 会根据您直接在节点中输入的付款详情生成完整的二维码付款单文档。

步骤 1:创建无背景的 SwissQR 账单 PDF

目前为止的流程: 扳机。

由于没有输入 PDF 文件,您必须填写完整的债权人地址,以便 PDF4me 可以渲染完整的瑞士二维码账单布局。

  1. 添加 PDF4me 节点。
  2. 凭据: PDF4ME账号。
  3. 资源: 发票。 发票操作: 创建 SwissQR 账单。
  4. 输入数据类型: 无(这告诉 PDF4me 生成一个独立的 QR 码单,没有背景 PDF)。
  5. 填写付款信息:
    • 数量: 1000
    • 货币: 瑞士法郎
    • 国际银行账户: CH0200700110003765824
    • 债权人名称: 测试 AG
    • 债权人地址类型: 结构化
    • 债权人街道名称或地址: 测试街
    • 债权人楼号: 1
    • 债权人邮政编码: 8000
    • 债权城: 苏黎世
  6. 运行该步骤。“输出”面板显示 swissqr_bill.pdf 文件大小为 132 kB。比工作流程 A (602 kB) 小得多,因为没有背景 PDF,只有二维码本身。
使用 n8n PDF4me 创建 SwissQR 账单节点,输入数据类型为“无”:凭证 PDF4ME 帐户 3,资源为“发票”,发票操作为“创建 SwissQR 账单”,输入数据类型为“无”,金额为 1000,货币为瑞士法郎,IBAN 为 CH0200700110003765824,债权人名称为 Test AG,债权人地址类型为结构化,债权人街道名称为 Test Strasse,债权人建筑物编号为 1,债权人邮政编码为 8000,债权人城市为苏黎世。输出:数据,文件名为 swissqr_bill.pdf,文件扩展名为 pdf,MIME 类型为 application/pdf,文件大小为 132 kB。

创建 SwissQR 账单,输入数据类型为“无”。由于 PDF4me 会从头开始生成布局,因此需要完整的债权人地址。输出文件大小为 132 kB。


步骤二:将独立二维码账单上传至 Dropbox

目前为止的流程: 触发后创建 SwissQR 账单。

  1. 添加 Dropbox 节点。
  2. 凭据: Dropbox OAuth2 API。
  3. 资源: 文件。 手术: 上传。
  4. 文件路径: /n8n_swissqr02.pdf (或 Dropbox 中的任何路径)。
  5. 二进制文件: 在。
  6. 输入二进制字段: 数据
  7. 运行。输出面板确认上传成功: 名称:n8n_swissqr02.pdf路径显示:/n8n_swissqr02.pdf尺寸:132191, 和 is_downloadable: true
n8n Dropbox 上传文件1节点:输入来自创建 SwissQR 账单1,显示数据,文件名 swissqr_bill.pdf,文件扩展名 pdf,MIME 类型 application/pdf,文件大小 132 kB。参数:凭据 Dropbox OAuth2 API,资源文件,操作上传,文件路径 /n8n_swissqr02.pdf,已启用二进制文件,输入二进制字段数据。输出:名称 n8n_swissqr02.pdf,路径 /n8n_swissqr02.pdf,显示路径 /n8n_swissqr02.pdf,大小 132191,可下载 true,客户端修改时间 2026-05-19T09:08:03Z。

上传确认:姓名 n8n_swissqr02.pdf, 小路 /n8n_swissqr02.pdf大小为 132191 字节, is_downloadable: true

工作流程 B 已完成。独立的瑞士二维码账单 PDF 文件已上传至 Dropbox,可随时通过电子邮件发送或作为附件添加到任何外发文档中。


你应该选择哪种工作流程?

工作流程 A(使用现有 PDF)工作流程 B(独立版)
Nodes4 (trigger + download + QR + upload)3 (trigger + QR + upload)
Input Data TypeBinary DataNone
Requires existing PDFYes (in Dropbox or another source)No
Output size (example)602 kB132 kB
Full creditor address requiredNo (name only shown in example)Yes (Structured address required for layout)
Best forAdding QR slip to finished invoices or lettersSending a separate payment slip alongside any document

快速参考:关键参数

节点按键设置示例值
Dropbox Download (A only)File Path + Put Output File in FieldTest Debt AG.pdf; data
PDF4me Create SwissQR Bill (A)Input Data Type + Binary Property + File NameBinary Data; data; Test Debt AG.pdf
PDF4me Create SwissQR Bill (A and B)Amount + Currency + IBAN + Creditor Name1000; Swiss Franc; CH0200700110003765824; Test AG
PDF4me Create SwissQR Bill (B only)Input Data TypeNone
PDF4me Create SwissQR Bill (B only)Creditor Address Type + Street + Number + Postal Code + CityStructured; Test Strasse; 1; 8000; Zurich
Dropbox Upload (A)File Path + Binary File + Input Binary Field/Blog Data/SwissQR/swissqr_bill.pdf; On; data
Dropbox Upload (B)File Path + Binary File + Input Binary Field/n8n_swissqr02.pdf; On; data

用例

每月发票批次: 从 Dropbox 中提取发票 PDF 列表,并使用循环遍历它们 n8n 分批拆分 对每个节点运行工作流 A,并将结果保存到单独的文件夹中。一次运行即可处理整个月的数据。

从数据库生成动态付款单: 当创建付款请求时,通过 Webhook 触发。从 Postgres 或 Airtable 节点中提取金额、IBAN 和债权人数据。使用工作流 B 生成二维码凭证,并通过 Gmail 或 Outlook 自动发送电子邮件。

租金和水电费账单: 每月生成独立的二维码单据(工作流程 B),用于支付房租、水电费或会员费。将它们存储在 Dropbox 中,并作为附件添加到 n8n 发送的电子邮件中。无需背景 PDF 文件。

自托管和本地部署: 在您自己的基础设施上运行 n8n。除了 PDF4me API 调用之外,支付数据绝不会离开您的网络。可与本地文件共享或 NAS 结合使用,而无需使用 Dropbox。


常见问题解答

何时应该使用工作流程 A,何时应该使用工作流程 B?

使用 工作流程 A 当您已有完成的 PDF 文档(发票、信函或任何文件)并希望添加瑞士二维码账单时,PDF4me 会将二维码单据附加到您现有的文件中。 工作流程 B 当您只有支付数据(IBAN、金额、债权人信息)并且需要一份独立的二维码支付单 PDF 文件时,工作流程 B 会从头开始生成完整的文档,无需任何背景 PDF 文件。

瑞士二维码钞票需要哪种格式的IBAN?

IBAN 必须有效 瑞士IBAN:正好 21 个字符,以 CH然后是两位校验位和17位数的银行账号。例如: CH0200700110003765824瑞士的二维码标准也支持 QR-IBAN(从 1999 年的 1999 年 10 月 1 日开始)。 CH 银行标识符的取值范围为 3000 至 3199)。无效或非瑞士 IBAN 会导致 PDF4me API 在生成任何 PDF 文件之前出现验证错误。

为什么流程 B 需要完整的债权人地址,而流程 A 却不需要?

当您使用输入数据类型时 二进制数据 (工作流程 A)PDF4me 会将二维码单添加到现有 PDF 中,并且布局会保留源文档的视觉上下文。由于二维码单部分是附加的,而不是从零生成的,因此债权人地址是可选的。当您使用“输入数据类型”时, 没有任何 (工作流程 B)PDF4me 从头开始生成完整的文档布局。瑞士二维码标准规定,独立的二维码账单必须在二维码数据中包含完整的债权人地址(街道、门牌号、邮政编码、城市),以便支付系统无需任何其他文档上下文即可处理该账单。

我可以使用数据库或表单中的动态支付数据,而不是硬编码的值吗?

是的。在 n8n 中,PDF4me 节点中的任何字段都接受表达式。您可以将金额、IBAN、债权人名称和城市字段映射到之前的节点,例如 Postgres 查询、Airtable 记录、Google Sheets 行、通过 n8n 表单触发器提交的表单或 webhook 有效负载。每次执行都会为当前项目生成唯一的二维码账单,无需手动编辑工作流程。这是生产环境中账单自动化的推荐方法。

PDF4me节点返回错误。我应该先检查什么?

按顺序检查三件事。 第一的请确认您的 API 密钥已激活。 dev.pdf4me.com 您的账户有余额。 第二对于工作流程 B,当“债权人地址类型”为“结构化”时,请验证所有四个债权人地址字段(街道、门牌号、邮政编码、城市)是否都已填写。缺少任何一个字段都会导致验证失败。 第三对于工作流程 A,请确认 Dropbox 下载步骤已成功完成,并且 PDF4me 节点中的二进制属性名称与下载节点中设置的字段名称匹配(两者都应匹配)。 数据)。


故障排除

上传时未找到二进制字段。

Dropbox 上传节点会查找一个名为“ 数据 默认情况下,如果“创建 SwissQR 账单”节点使用不同的输出二进制字段名称,则需要更新“上传”节点中的输入二进制字段名称以与之匹配。为避免这种情况,请确保所有节点中的字段名称保持一致。

瑞士二维码账单验证错误(无效的IBAN或地址)

IBAN 必须是有效的瑞士 IBAN,以……开头。 CH (21 个字符)。对于工作流程 B,当债权人地址类型为“结构化”时,所有四个债权人地址字段(街道、门牌号、邮政编码、城市)都必须填写。缺少任何一个字段都会导致验证失败。

Dropbox 文件未找到(工作流程 A)

请仔细检查“下载”节点中的文件路径。某些 Dropbox 帐户的路径区分大小写。打开您的 Dropbox 帐户,复制完整的路径,包括文件夹名称和文件扩展名。如果文件位于子文件夹中,则路径必须包含完整的文件夹层级结构,例如: /博客数据/SwissQR/Test Debt AG.pdf

PDF4me API密钥或信用错误

PDF4me故障排除 有关验证 API 密钥、检查剩余积分以及在 n8n 中重新连接凭证的步骤。


接下来该尝试什么呢?

可选:更换扳机。将手动扳机更换为…… 日程 对于按月计费的流程, Webhook 在创建付款请求时触发,或 Dropbox 已创建文件 自动处理新收到的PDF文件。