跳到主要内容

如何在 n8n 中创建 ZUGFeRD 发票?Dropbox + JSON 工作流程,一步一步教你搞定!

· 阅读需 11 分钟
SEO and Content Writer

本指南构建了一个 n8n 以发票数据为工作流 JSON,创建 ZUGFeRD/Factur‑X 发票 PDF4me并将最终的 PDF 文件上传到 Dropbox

您将连接三个核心部件:

  1. 将发票 JSON 数据推送到 PDF4me(以便获得稳定的文档 URL),
  2. 根据该输入生成 ZUGFeRD 发票
  3. 将输出的PDF文件以二进制文件的形式上传到Dropbox。
简短版

1. 触发(执行工作流)→ 2. PDF4me:上传 JSON 文件 → 3. PDF4me:创建 Zugferd 发票(JSON、URL 输入)→ 4. Dropbox:上传文件(二进制) 数据)。

在执行步骤 2 之前,请记住这一点。

保持前后一致的二进制字段名称(本演练使用 数据此外,如果您选择 发票数据输入类型 = URLJSON 必须能够通过您提供的链接访问(这就是为什么我们要先将 JSON 上传到 PDF4me 的原因)。

您将获得什么!

输入: 发票 JSON 数据。 输出: 生成的 ZUGFeRD/Factur‑X PDF 文件(包含嵌入式发票 XML 的 PDF 文件)已上传至 Dropbox 路径,例如: /blog data/zugferd invoice/output/Zugferd_Result.pdf


工作流程步骤概览

1Trigger
2Upload JSON
3Create invoice
4Upload to Dropbox

开始之前(检查清单!)

检查清单
  • n8n (云端或自托管)以及创建工作流的权限。
  • PDF4me凭证 (API密钥)已在n8n中配置。请参阅 将 PDF4me 连接到 n8n
  • Dropbox 在 n8n 中使用 OAuth2 凭据访问您的输出文件夹。
  • 有效的发票 JSON 有效负载(从已知良好的示例开始,然后逐步替换字段)。

工作流程概述

n8n canvas:执行工作流触发器,PDF4me 将 JSON 文件上传到 PDF4me,PDF4me 创建 Zugferd 发票,Dropbox 上传文件

四个节点依次为:触发 → 上传 JSON → 生成 ZUGFeRD 发票 → 上传 PDF 到 Dropbox。


步骤 1:触发(执行工作流)

目前为止的工作流程: 只需按下扳机。

  1. 在 n8n 中创建一个新的工作流程。
  2. 使用 点击“执行工作流程”时 在你构建第一个版本的时候。
  3. 之后,当工作流程稳定后,可以将其替换为 Cron、Webhook 或“新建文件”触发器。

步骤 2:将 JSON 文件上传到 PDF4me

此步骤会将您的 JSON 转换为 PDF4me 托管的文档,以便您可以传递一个 文档 URL 到发票生成节点。

  1. 添加 PDF4me 节点。
  2. 资源:PDF4me。
  3. 手术上传文件到 PDF4me
  4. 输入数据类型:选择您实际提供的相同类型(屏幕截图使用的是 base64 字符串)。
  5. 文件保留时间 到您喜欢的时间段(例如:2 小时)。
  6. 执行该节点一次,并确认它输出一个可用的 URL/令牌,您可以在下一个节点中引用它。
n8n PDF4me 节点上传文件至 PDF4me,输入数据类型为 Base64 字符串,文件保留时间为

步骤 2 截图:上传 JSON,以便 PDF4me 返回文档 URL 以进行下一步操作。


步骤 3:创建 Zugferd 发票(PDF4me)

这是主要的生成步骤。它使用上传的 JSON URL 作为输入,并返回一个二进制 PDF 文件(保存到二进制字段中)。 数据)。

核心设置匹配

  1. 资源: 发票。
  2. 手术创建 Zugferd 发票。
  3. 输入数据类型:Base64 字符串(与示例运行匹配)。
  4. 输出模式XML 与 PDF(混合 PDF)。
  5. 符合性级别:基本(除非您的接收器需要更多功能,否则请从这里开始)。
  6. 祖格费尔德版本:1.0(使用接收器期望的版本)。
  7. 语言:英语(或您偏好的语言)。
n8n PDF4me 发票创建 Zugferd 发票节点显示 base64 内容、输出模式、一致性级别、版本和语言设置

步骤 3 截图(第 1 部分):发票操作设置和核心配置文件/版本选择。

JSON 映射(URL 输入)

  1. 输入格式:JSON。
  2. 发票数据输入类型:网址。
  3. 发票数据网址:映射步骤 2 中的 URL 输出(上传的 JSON 文档)。
  4. 输出文件名设置一个可预测的输出名称(例如: zugferd_invoice.pdf)。
  5. 输出二进制字段名称数据 (与 Dropbox 上传方式保持一致)。
创建 Zugferd 发票的 n8n 设置:输入格式 JSON、发票数据输入类型 URL、发票数据 URL 表达式、输出文件名和输出二进制字段名称数据

步骤 3 截图(第 2 部分):JSON + URL 映射和二进制输出字段名称。


第四步:上传文件(Dropbox)

此操作会将生成的 PDF 文件发布到 Dropbox。

  1. 添加 Dropbox 节点。
  2. 资源: 文件。 手术上传。
  3. 文件路径设置包含文件名在内的完整目标路径(例如: /blog data/zugferd invoice/output/Zugferd_Result.pdf)。
  4. 二进制文件: 在。
  5. 输入二进制字段数据 (来自步骤 3)。
  6. 执行该节点并确认 Dropbox 返回元数据(路径、ID 等)。
n8n Dropbox 上传节点配置了文件路径博客数据 zugferd 发票输出 Zugferd_Result.pdf 和输入二进制字段数据

步骤 4 截图:Dropbox 上传生成发票 PDF 文件。


快速参考

#节点按键设置
1TriggerExecute workflow (during setup)
2PDF4me, Upload File To PDF4meRetention hours + returns URL/token
3PDF4me, Create Zugferd InvoiceInput Format JSON + Data Input Type URL + Output Binary Field Name data
4Dropbox, UploadBinary File On + Input Binary Field data

相关阅读: 创建 ZUGFeRD 发票(文档) Power Automate 版本 验证 PDFA 工作流程


故障排除!

Dropbox上传失败,提示“找不到二进制字段”

您的输出节点需要您配置的二进制字段名称。请确认 输出二进制字段名称 步骤 3 中是 数据而 Dropbox 节点也使用相同的 输入二进制字段

URL映射返回“未找到”

如果你使用 发票数据输入类型 = URL当发票节点运行时,该链接必须仍然有效。在步骤 3 之前,增加保留时间或重新生成 JSON URL。

401、402 或连接错误

PDF4me故障排除 用于 API 密钥、积分和重新连接集成。