如何在 Zapier 中使用 Dropbox 和 XML 创建 ZUGFeRD 发票(分步指南)

如果您向德国、奥地利或任何要求使用结构化电子发票的欧盟买家销售产品,则适用以下规定: 16931年你可能被要求发送一份 手铐 (或者 Factur-X)发票。这是一个既可供人阅读又可供机器阅读的单个 PDF 文件,这得益于 PDF 文件中嵌入的 XML。
本指南展示了全部内容。 Zapier 该工作流监视 Dropbox 文件夹中的新上传文件,提取基础 PDF 和发票 XML 有效负载,并运行 PDF4me 创建 ZUGFeRD 发票并将最终生成的混合文件写回 Dropbox。只需五个 Zap 步骤。无需编写代码。可完全复现。
屏幕截图使用了以下示例路径:
- 触发文件夹:
/Blog Data/Zugferd Invoice - 基础PDF:
/pdf4metest/sample/10 page.pdf - 发票 XML:
/pdf4metest/Zugfred Invoice/version2.xml - 输出文件夹:
/pdf4meoutput
1. Dropbox 会在新文件创建时触发 /博客数据/Zugferd发票。 2. 找到基础PDF文件。 3. 找到发票 XML 文件。 4. PDF4me 创建 ZUGFeRD 发票,输入格式为 = XML输出模式 = XmlWithPdf,ZUGFeRD 1.0,一致性 = BASIC,语言 = de。 5. 将混合 PDF 文件上传回 Dropbox。
放 输入格式 = XML然后仅绘制地图 发票 XML 数据。 保持 发票 JSON 数据 和 发票 CSV 数据 空的。为了 XmlWithPdf 输出,基础 PDF( 文件 字段)是必需的,因为它将成为嵌入 XML 的可视化层。
你正在构建的
你生产一个 符合 ZUGFeRD 标准的混合发票:一份嵌入结构化 XML 发票数据的 PDF/A-3 文档。用户可以使用任何阅读器查看 PDF 文件。ERP 系统和应付账款平台会自动解析 XML 数据。同一个文件适用于所有用户群体。无需单独的 XML 附件,无需手动重新输入,也不存在合规性问题。
这种模式是强制性的。 德国自 2025 年 1 月起开始接受 B2B 发票 根据《增长机会法》,并在遵循 EN 16931 的欧盟市场中得到广泛认可。
一览:五个步骤

从 Dropbox 触发器生成 ZUGFeRD 的完整五步 Zap 链。
这种工作流程布局为何有效
可视化 PDF 模板和 XML 数据分别位于不同的 Dropbox 文件夹中。您可以单独更新其中一个,而无需修改另一个。设计人员负责修改 PDF,而会计人员负责修改 XML。
创建 ZUGFeRD 发票 接收 PDF 和 XML 文件,将其中一个嵌入到另一个文件中,应用一致性配置文件,并输出一个混合文件。无需编写 XML 拼接代码。
Zapier 每 2 分钟轮询一次 Dropbox,因此新发票会在几分钟内处理完毕。无需定时任务,不会造成计算资源闲置,也不会遗漏任何文件。
开始之前
- Zapier 账户。免费套餐支持此工作流程,因为每个 Zap 的免费套餐限制为五个 Zap 步骤。
- PDF4me API密钥首次设置: 将 PDF4me 连接到 Zapier。
- 已建立 Dropbox 连接,具有对源文件夹的读取权限和对输出文件夹的写入权限。
- 存储在 Dropbox 中的基础 PDF 和 ZUGFeRD 兼容的 XML 发票有效负载。
步骤 1:在 Dropbox 文件夹中创建新文件时触发
目前为止的流程: 扳机。
当监控文件夹中有文件时,此 Zap 就会启动。通常,这是您的“准备开票”交接文件夹。您可以将其用作新发票任务已排队的信号。
- 添加 Dropbox 触发和选择 文件夹中的新文件。
- 放 空间 到 默认。
- 放 文件夹 添加到您的监视路径。在本例中,我们使用
/Blog Data/Zugferd Invoice。 - 离开 是否包含子文件夹中的文件? 作为 错误的 除非您有意要使用嵌套文件。
- 放 是否包含文件内容? 到 是的 和 包含分享链接吗? 到 是的 这样下游步骤就可以干净利落地读取文件内容。

步骤 1:Dropbox 触发器每两分钟监视一次发票文件夹。
步骤 2 和 3:找到基础 PDF 文件和 XML 发票。
目前为止的流程: 触发后查找基础 PDF,然后查找 XML。
ZUGFeRD的混合配方需要两种成分。 可视化 PDF 人类阅读的,以及 结构化 XML 机器可以解析它们。两者都存储在已知的 Dropbox 位置,我们使用两种方式获取它们。 查找文件 行动。
步骤 2:找到基础 PDF
- 添加一个 Dropbox 行动和选择 查找文件。
- 空间: 默认。
- 文件夹:
/pdf4metest/sample(您的视觉模板的位置)。 - 文件名:
10 page.pdf(或者你的模板叫什么都行)。 - 是否包含文件内容? 设置为 是的这是下一步所需的二进制文件。
- 包含分享链接吗? 设置为 是的。

步骤 2:查找基础 PDF 模板的文件配置。
步骤 3:查找发票 XML 文件
相同的操作,不同的输入:
- 再添加一个 Dropbox 然后 查找文件 步。
- 文件夹:
/pdf4metest/Zugfred Invoice。 - 文件名:
version2.xml。 - 是否包含文件内容? 设置为 是的这是至关重要的,这样步骤 4 才能读取 XML 字节。
- 保持 如果没有找到搜索结果,则搜索结果是否成功? 作为 错误的 这样,如果文件丢失,Zap 就会干净利落地停止,而不是默默地生成一个空白的 PDF 文件。

步骤 3:查找指向 XML 发票有效负载的文件配置。
为什么需要两个独立的“查找文件”步骤而不是一个? 因为 PDF4me 的“创建 ZUGFeRD 发票”操作在步骤 4 中将 PDF 和 XML 作为两个不同的输入。在上游将它们分开意味着更清晰的映射,并且在出现问题时更容易调试。
步骤 4:使用 PDF4me 创建 ZUGFeRD 发票
目前为止的流程: 触发,然后查找 PDF,然后查找 XML,然后创建 ZUGFeRD。
这里会构建混合文件。PDF4me 操作会获取基础 PDF 文件,将 XML 发票有效负载嵌入其中,应用所选的一致性配置文件(此处为 BASIC),并返回一个符合 ZUGFeRD 标准的单个文件。
配置 PDF4me,创建 ZUGFeRD 发票 像这样:
- 文件 第二步的地图 文件 输出(基础 PDF)。
- 文件名 地图步骤 2 的 文件名 加 文件扩展名 因此,输出结果会继承一个有意义的名称。
- 输入格式 设置为 XML这告诉 PDF4me 要预期的有效载荷类型。
- 发票 XML 数据 第三步的地图 文件 输出(XML 内容)。
- 输出模式 设置为 XmlWithPdf这样就生成了嵌入 XML 的混合 PDF/A-3 格式,这是标准的 ZUGFeRD 格式。
- ZUGFeRD 版本 是
1.0如果您的贸易伙伴有特定要求,请使用 2.0 或更高版本。2.0 及以上版本符合德国 2025 年指令的要求。 - 符合性级别 是
BASIC这是包含明细项目的最低限度合法发票。切换到 EN16931 完全符合欧盟规定或 XRECH 在向德国公共部门实体开具发票时。 - 在 PDF 上渲染发票 是
TruePDF4me 将发票内容以可视化的方式绘制在 PDF 上,以便于阅读。 - 语言 是
de默认使用德语标签。切换到en,fr,it以此类推,具体取决于买家所在的地区。

步骤 4:基于 XML 的 ZUGFeRD 生成的完整参数映射,符合 BASIC 标准。
步骤 5:将混合 PDF 文件上传回 Dropbox
目前为止的流程: 触发后读取 PDF 和 XML,然后生成 ZUGFeRD,最后保存回 Dropbox。
最后一步是将结果写入输出文件夹,财务团队或应付账款门户连接器可以从中获取该结果。
- 添加 Dropbox 然后 上传文件。
- 空间: 默认。
- 文件夹:
/pdf4meoutput(或您的存档位置)。 - 文件 地图步骤 4 的 文件 URL (PDF4me 返回一个安全的 URL,Dropbox 可以直接导入)。
- 覆盖 是
True这会在测试期间干净利落地替换之前的运行结果。切换到False一旦投入生产。 - 指定文件名 地图步骤 4 的 文件名 因此,输出结果会保留发票编号。
- 指定文件扩展名 地图步骤 4 的 文件扩展名 (
.pdf)。 - 包含分享链接吗? 是 是的 如果您希望下一步(通知、ERP推送、电子邮件)使用可共享的Dropbox URL。

步骤 5:混合 PDF 文件将保存到 Dropbox 输出文件夹中,准备进行下游交付。
快速参考
| # | 步 | 关键映射 |
|---|---|---|
| 1 | Dropbox New File in Folder | Folder /Blog Data/Zugferd Invoice, Include file contents Yes |
| 2 | Dropbox Find File (base PDF) | Folder /pdf4metest/sample, File 10 page.pdf |
| 3 | Dropbox Find File (XML) | Folder /pdf4metest/Zugfred Invoice, File version2.xml |
| 4 | PDF4me Create ZUGFeRD Invoice | Input Format XML, Output Mode XmlWithPdf, BASIC, 1.0, Render on PDF True |
| 5 | Dropbox Upload File | Folder /pdf4meoutput, File from step 4 File Url, Overwrite True |
深度参数参考: 创建 ZUGFeRD 发票(Zapier 文档), Zapier入门指南。
常见问题解答
如何在 Zapier 中创建 ZUGFeRD 发票?
您需要按照上述步骤串联五个 Zap 步骤。Dropbox 触发器会检测新的发票任务。两个 Dropbox“查找文件”操作会获取您的基本 PDF 和 XML 有效负载。 PDF4me 创建 ZUGFeRD 发票 该操作使用 XML 输入格式、XmlWithPdf 输出模式、您选择的 ZUGFeRD 版本以及一致性配置文件运行。最后一步通过 Dropbox 上传文件来存储结果。无需编码,也无需 XML 拼接。PDF4me 会处理嵌入和 PDF/A-3 打包。
ZUGFeRD 在德国是否于 2025 年和 2026 年强制执行?
是的。德国的《增长机会法》要求所有B2B发票接收方必须接受结构化的电子发票。 2025年1月1日,全面发送义务将逐步实施 2028自 2027 年起,年收入超过 80 万欧元的企业必须遵守 ZUGFeRD 2.0 标准;自 2028 年起,所有企业都必须遵守该标准。符合 EN16931 或 XRECHNUNG 标准的 ZUGFeRD 2.0 或更高版本即可满足此项要求。ZUGFeRD 1.0 已过时,不再适用。 不是 遵守。
创建 ZUGFeRD 发票时,XML、JSON 和 CSV 输入之间有什么区别?
该行动的 输入格式 该参数接受三种有效载荷类型。 XML 如果您的ERP系统已经生成了与ZUGFeRD兼容的XML文件,您只需将其嵌入即可,那么这种方法最为理想。本指南使用XML格式。 JSON 当发票数据来自 Webhook 或现代会计平台时,PDF4me 是现代化的 API 友好型选择。它会自动将 JSON 字段映射到 ZUGFeRD XML 模式。 CSV 适用于从电子表格或旧系统批量导出账单数据。选择与您的上游数据源匹配的格式并填写。 仅有的 第 4 步中匹配的发票数据字段。
XmlWithPdf 和 XmlOnly 有什么区别?
XmlWithPdf 生成的是标准的 ZUGFeRD 混合格式:一个 PDF/A-3 格式的存档 PDF 文件,其中 XML 以附件形式嵌入。人阅读 PDF 文件,机器解析 XML。一个文件即可满足两种用户的需求。 XmlOnly 输出纯 XML 文件,不包含 PDF 封装。适用于 XRechnung 纯 XML 公共部门提交、EDI 管道或数据层集成测试。对于标准 B2B 发票,请选择 XmlWithPdf。
德国B2B发票应该使用哪个合规级别?
对于 ZUGFeRD 1.0(本指南), 基本的 这是包含明细项目的最低限度合法发票格式。适用于大多数 B2B 场景。适用于 ZUGFeRD 2.x 版本。 EN16931 是欧盟 B2B 的推荐默认值(也是德国授权文件中提到的默认值)。 XRECHARGE 在向德国联邦、州或市政府开具发票时,必须填写此表格。 扩展 添加行业特定字段。首先使用 BASIC (1.0) 或 EN16931 (2.0+) 标准,仅当您的买家是公共部门实体时才升级到 XRACHNUNG 标准。
故障排除
你的 输入格式 您映射的数据字段不匹配。 输入格式 = XML, 充满 发票 XML 数据 仅此而已。离开 发票 JSON 数据 和 发票 CSV 数据 空白。确认步骤 3 的内容。 包含文件内容 = 是 因此,XML 字节实际上到达了 PDF4me。
要么是基础 PDF 文件没有进入第四步的…… 文件 领域,或 在 PDF 上渲染发票 为 False。将步骤 2 的文件输出映射到步骤 4 的文件字段,并确认“在 PDF 上渲染发票”选项已启用。 真的 因此,PDF4me 将发票内容绘制在视觉层上。
检查你的 PDF4me API密钥 您的账户目前有效且有余额。请查看 PDF4me故障排除 如果 Zapier 显示连接已断开,则执行连接器重新授权步骤。
免费版 Dropbox 每 2 分钟进行一次投票。请稍候,或点击 测试触发器 手动检查。再三确认。 是否包含子文件夹中的文件? 匹配您放置文件的位置。默认值 错误的 只监视目标文件夹,不监视其子文件夹。
接下来该尝试什么呢?
可选强化:添加 Zapier 筛选 在步骤 1 之后执行此步骤,以跳过不符合命名约定的文件,或者 小路 在步骤 4 之后,根据输出成功或失败情况进行分支,然后再上传到 Dropbox。