在 ZUGFeRD 中创建发票 n8n
此节点的功能
PDF4me 创建 Zugferd 发票 生成完全合规的 ZUGFeRD 混合电子发票 (结构化的PDF/A-3文档) XML 发票数据(嵌入在内)直接在您的 n8n 工作流程。转换 XML, JSON, 或者 CSV 将发票数据合并到一个混合文件中,以便于使用。 德国B2B电子发票强制令符合欧盟 EN 16931 标准或德国 XRECHNUNG 公共部门规范。支持 ZUGFeRD 1.0 至 2.4 的所有版本,并在一个节点中支持所有六个合规级别。
验证您的身份 API 要求
每一个 PDF4me 节点 n8n 需要有效 用于连接的凭证创建或选择一个可以容纳您的 PDF4me API 关键在于确保工作流程能够安全地验证 ZUGFeRD 发票生成请求。
您不容错过的重要事实
参数
必需 n8n 用户界面: 连接凭证、输入数据类型、文档名称(即使输入数据类型为 None 也始终需要,用作文档名称回退)、输出模式、Zugferd 版本、在 PDF 上渲染发票、语言、输入格式和发票数据输入类型。 符合性级别 根据 Zugferd 版本分支显示和必填项,1.0、2.0/2.1/2.2/2.4 和自定义版本具有不同的字段名称和选项集。匹配的发票数据字段(发票) XML/JSON/CSV 数据,二进制属性, Base64 根据发票数据输入类型,需要提供内容(或数据 URL)。运行时验证会强制要求所选路径包含非空内容,并会显示“发票…数据为空”或“发票 base64 内容为空”之类的错误。

满的 参数 查看;与下表一起使用,以定位节点中的每个字段。
| 范围 | 必需的 | 它的作用 | 例子 |
|---|---|---|---|
| Input Data Type | Conditional | How the background PDF (the visual layer of the hybrid invoice) is supplied. None creates the PDF from invoice data alone. Binary Data reads from a previous n8n node. Base64 String accepts encoded content. URL downloads from a public link. | Binary Data |
| Binary Property Name | Conditional | Name of the binary field from the previous node. Required when Input Data Type is Binary Data. | data |
| Base64 Content | Conditional | Base64-encoded PDF string. Required when Input Data Type is Base64 String. | JVBERi0xLjQK... |
| File URL | Conditional | Public URL to the source PDF. Required when Input Data Type is URL. | https://example.com/invoice.pdf |
| Document Name | Yes | Filename of the source PDF document. Always required in the UI, including when Input Data Type is None (used as document name fallback in the payload). Include the .pdf extension. | invoice.pdf |
| Output Mode | Yes | XML Only generates a pure XML file. XML With PDF generates the full hybrid ZUGFeRD file: a PDF/A-3 document with structured XML embedded inside. XML With PDF is the canonical ZUGFeRD output. | XML With PDF |
| Zugferd Version | Yes | ZUGFeRD specification version. 1.0 is legacy and does not satisfy the German B2B mandate. 2.0 through 2.4 all support EN 16931. 2.2 and 2.4 add the latest XRECHNUNG profile updates. Custom enables advanced version handling. | 2.0 |
| Zugferd Version Custom | Conditional | Custom ZUGFeRD version identifier. Shown and required only when Zugferd Version is Custom (the execute step throws if empty). | 2.3.1 |
| Conformance Level | Conditional | Profile controlling which invoice fields are required. Shown when Zugferd Version is 1.0 (legacy options). Switches to Conformance Level (Above 2) for versions 2.0/2.1/2.2/2.4 and Custom (MINIMUM, BASICWL, BASIC, EN16931, EXTENDED, XRECHNUNG). | EN16931 |
| Language | Yes | Display language for invoice labels in the rendered PDF. Options: German, French, Italian, English, Spanish, Dutch, Polish, Portuguese. The XML data itself remains language-neutral. | German |
| Render Invoice On PDF | Yes | Toggle (ON/OFF). When enabled, PDF4me visually renders the invoice content on the PDF using your invoice data. When disabled, only the structured XML is generated and embedded, useful when you supply a pre-designed background PDF. | true |
| Input Format | Yes | Format of the invoice data you are providing. XML for pre-built ZUGFeRD XML or UBL data. JSON for structured invoice objects. CSV for tabular batch exports. | XML sampleXML 2.0 sampleJSON 2.0 EN16931 sampleJSON (basic)CSV sampleCSV 2.0 sample |
| Invoice Data Input Type | Yes | How the invoice data reaches the node. Direct Text accepts pasted or mapped data inline. Binary Data reads from a previous file node. Base64 String for encoded payloads. URL downloads from a public link. | Direct Text |
| Invoice XML / JSON / CSV Data | Conditional | The actual invoice content. Appears as Invoice XML Data, Invoice JSON Data, or Invoice CSV Data, matching the chosen Input Format. Required when Invoice Data Input Type is Direct Text. Runtime also throws "Invoice … data is required" if empty. | XML sampleXML 2.0 sampleJSON 2.0 EN16931 sampleJSON (basic)CSV sampleCSV 2.0 samplePaste, map, or load via Binary / Base64 / URL to match the format you chose above. |
| Invoice Binary Property Name | Conditional | Name of the binary field holding the invoice data file. Required when Invoice Data Input Type is Binary Data. | data |
| Invoice Base64 Content | Conditional | Base64-encoded invoice data. Required when Invoice Data Input Type is Base64 String. Runtime also throws "Invoice base64 content is required" if empty. | PGludm9pY2U+... |
| Invoice Data URL | Conditional | Public URL to the invoice data file. Required when Invoice Data Input Type is URL. | https://example.com/invoice.json |
| Output File Name | No | Filename for the generated ZUGFeRD invoice. Default provided and normalized in execute (e.g. extension matched to Output Mode). Use .pdf for XML With PDF and .xml for XML Only. | zugferd_invoice.pdf |
| Output Binary Field Name | No | Name of the binary field holding the generated ZUGFeRD file. Defaults to data. Used to reference the file in subsequent workflow nodes. | data |
发票样本文件
在连接实际数据源之前,请使用这些示例文件测试节点对每种输入格式的兼容性。对于德国 B2B 生产工作流程,请从以下示例开始: sample-invoice-zugferd-2.0-en16931.json (ZUGFeRD 2.0, EN16931 符合性)。
ZUGFeRD-invoice-sample.xmlZUGFeRD-invoice-sample-2.0.xmlsample-invoice-zugferd-2.0-en16931.json示例发票.json测试发票.csvzugferd-invoice-2.0.csv高级选项
所有字段都位于 高级选项 收藏是可选的。可通过以下方式添加: 添加选项 在节点用户界面中。
简介输入数据类型选项
控制如何 背景 PDF 文档 (混合发票的视觉层)提供给节点。

输入数据类型下拉菜单:控制后台显示方式 PDF 到达节点
没有任何仅支持 XML/JSON/CSV,不支持背景 PDF二进制数据来自上一个节点的文件(最常见)数据)。Base64字符串Base64编码的文件内容URL从公共链接下载输出模式选项
控制节点是否产生纯 XML 文件或完整的 ZUGFeRD 混合格式(PDF/A-3 + 嵌入式) XML)。

输出模式下拉菜单有两个选项:纯 XML 或混合 PDF/A-3 XML 嵌入式
仅限 XML纯的 XML, 不 PDF 包装纸.xml。XML 和 PDF默认值:完整的 ZUGFeRD 混合文件ZUGFeRD 版本选项
生成的发票中嵌入了 ZUGFeRD 规范版本。

ZUGFeRD 版本下拉菜单提供六个版本选项,包括旧版 1.0 和最新版 2.4。
1.0遗留问题:不符合2025年的要求2.0默认值:广泛兼容性2.1细微改进2.2XRECHNUNG 简介已更新2.4最新消息:最新的 XRECHNUNG 支持风俗高级版本处理一致性级别选项
合规性配置文件控制哪些发票字段是必填和可验证的,这是合规性方面最关键的选择。

合规级别下拉菜单包含从最低到最高六个级别,用于控制现场要求和合规范围。
最低限度仅包含抬头,并非有效发票基本工作流基本款(不含线条):仅含增值税基本的最低法定发票EN16931默认值:欧洲标准扩展行业特定附加功能XRECHARGE德国公共部门强制性语言选项
渲染后的发票标签的显示语言 PDF 层。 XML 数据本身与语言无关。

语言:渲染结果的本地化标签 PDF (德语是德国B2B和B2G的典型特征)。
德语默认,德语 B2B/B2G英语国际发票法语Factur-X 工作流程意大利语意大利B2B西班牙语西班牙B2B荷兰语荷兰/比利时抛光波兰B2B葡萄牙语葡萄牙/巴西输入格式选项
您提供给节点的发票数据格式。

输入格式: 选择 XML, JSON, 或者 CSV 与您的发票有效载荷匹配。
XML预制件 XML 发票JSON默认值:现代 API 来源CSV表格形式的批量发票数据发票数据输入类型选项
控制发票数据( XML, JSON, 或者 CSV 内容)到达节点。

发票数据输入类型如何 XML, JSON, 或者 CSV 有效载荷以内联形式提供(来自先前节点的二进制数据、base64 编码或其他形式)。 URL)。
直接文本默认值:粘贴或内联映射二进制数据来自上一个节点的文件Base64字符串Base64编码数据URL从公共链接下载输出字段
| 场地 | 类型 | 它包含什么 |
|---|---|---|
fileName | String | Filename of the generated ZUGFeRD invoice, for example zugferd_invoice.pdf for XML With PDF output or zugferd_invoice.xml for XML Only output. |
mimeType | String | MIME type of the output file: application/pdf for hybrid output, application/xml for XML Only. Useful for content type validation in downstream HTTP or storage nodes. |
fileSize | Number | Size of the generated ZUGFeRD file in bytes. Useful for storage planning, bandwidth monitoring, and conditional routing in the workflow. |
success | Boolean | True when the ZUGFeRD invoice was generated successfully. False if validation failed or input data was malformed. Use this field to route error handling branches. |
message | String | Human-readable status message confirming success or describing the validation/parsing error encountered. Useful for logging and error notification steps. |
快速设置
- 添加 PDF4me 致你 n8n 工作流程。设置 资源 到 发票 和 发票操作 到 创建 Zugferd 发票。
- 在 用于连接的凭证请选择您的 PDF4me 凭证或点击 创建新凭证 并粘贴你的 API 钥匙。
- 放 输入数据类型:连接先前的节点(二进制数据),提供一个 Base64 字符串或 URL 背景 PDF或者选择“无”。 PDF4me 应该渲染 PDF 仅根据发票数据。
- 进入 文档名称 (例如
invoice.pdf)。 - 放 输出模式: XML 和 PDF 对于标准混合 ZUGFeRD 输出,或 仅限 XML 纯粹 XML。
- 选择 祖格费尔德版本 (使用 2.0 作为安全默认值; 2.4 (适用于最新的 XRECHNUNG 配置文件)。
- 选择 符合性级别: EN16931 对于一般的B2B业务, XRECH 针对德国公共部门的开票, 扩展 针对特定行业领域。
- 放 语言 对于渲染 PDF 标签(默认为德语)。
- 使能够 将发票渲染成 PDF 文件 如果你想 PDF4me 以可视化方式呈现发票内容;如果提供预先设计的背景,则禁用此功能。 PDF。
- 选择 输入格式 (JSON, XML, 或者 CSV) 和 发票数据输入类型 (直接文本、二进制数据、Base64字符串或URL)。将发票数据粘贴或映射到“发票数据”字段。
- 放 输出文件名 到
zugferd_invoice.pdf和 输出二进制字段名称 到data。 - 将输出连接到下一个节点(电子邮件发送器、云存储上传、政府门户网站)。 HTTP POST)并执行工作流。
工作流程示例
工作流程示例Common n8n workflow patterns using Create Zugferd Invoice.
- 当发票在会计平台(DATEV、sevDesk、lexoffice)中最终确定时,Webhook 触发器会触发。
- webhook 有效负载包含结构化的发票数据。 JSON 目的。
- PDF4me 创建 Zugferd 发票会生成混合发票。输入数据类型为 None(PDF4me 渲染 PDF 从 JSON输出模式为 XML(带 PDF),Zugferd 版本为 2.0,符合性级别为 EN16931,语言为德语,输入格式为 JSON发票数据输入类型为直接从 webhook 有效负载映射的文本。
- Gmail 节点向 ZUGFeRD 发送电子邮件 PDF 寄送到客户的应付账款地址,满足德国 B2B 接收授权要求。
- PostgreSQL 节点会记录发票号、ZUGFeRD 版本和合规级别,以便进行审计和合规性报告。
- 每个工作日 16:00 都会触发计划触发器来处理公共部门发票。
- SFTP 节点拉取新生成的 ERP XML 从导出文件夹中找到发票文件。
- PDF4me 创建 Zugferd 发票会生成符合 XRECHNUNG 标准的发票。输入数据类型为“无”,输出模式为 XML(带 PDF),Zugferd 版本为 2.4(最新 XRECHNUNG 配置文件),合规级别为 XRECHNUNG,语言为德语,输入格式为 [此处应填写输入格式]。 XML发票数据输入类型为从 SFTP 文件内容映射而来的二进制数据。
- 一个 HTTP 请求节点将 XRECHNUNG 发票上传到联邦 ZRE(联邦政府中央发票接收平台)或相关州门户网站。
- 微软 Outlook 节点向采购团队发送确认信息,PostgreSQL 节点记录提交参考信息。
- 每月1日,系统会触发计划触发器来处理每月账单。
- Google 云端硬盘节点下载合并后的数据。 CSV 账单导出,每行对应一张客户发票。
- “拆分批次”节点遍历每个批次。 CSV 排。 PDF4me 创建 Zugferd 发票会为每个客户生成一张 ZUGFeRD 发票。输入数据类型为“无”,输出模式为 XML(带 PDF),Zugferd 版本为 2.0,符合性级别为 EN16931,语言因客户所在地区而异,输入格式为 CSV发票数据输入类型为直接文本,内容为每行 CSV 文件。
- 微软 SharePoint 节点上传每个 ZUGFeRD PDF 到客户的账单存档文件夹。
- Gmail 节点会向每位客户发送混合发票;最终的 PostgreSQL 汇总行会记录批处理运行情况,包括发票数量和总金额。