Skip to main content

Create ZUGFeRD Invoice in Zapier

What this action does

PDF4me Create ZUGFeRD Invoice generates fully compliant ZUGFeRD hybrid e-invoices, a PDF/A-3 document with structured XML invoice data embedded inside, directly inside your Zapier workflow. Convert XML, JSON, or CSV invoice data into a single hybrid file ready for the German B2B e-invoicing mandate (2025+), EU-wide EN 16931 compliance, or the German XRECHNUNG public-sector profile. Supports ZUGFeRD versions 1.0 through 2.x and every conformance level, BASIC, COMFORT, EXTENDED, EN16931, XRECHNUNG, in one Zap action. Drop-in replacement for manual Adobe Acrobat, JustOn, or ZUGFeRD Manager workflows.

Authenticating Your API Request

To access the PDF4me Web API through Zapier, every action must be authenticated. Click Connect a new account the first time and paste your PDF4me API key, subsequent Zaps reuse the connection automatically.

Important Facts You Should Not Miss

ZUGFeRD 2.0+ required for the 2025 German B2B mandate
The Wachstumschancengesetz made e-invoice receipt mandatory from 1 January 2025, with full sending obligations by 2028. ZUGFeRD 2.0 or higher with EN16931 or XRECHNUNG conformance satisfies the mandate: ZUGFeRD 1.0 does not comply. The action defaults to 1.0 in some installations; switch explicitly to 2.0+ for production.
Fill one data field per run, never two
Map only the invoice data field matching your Input Format, Invoice Xml Data for XML, Invoice Json Data for JSON, Invoice Csv Data for CSV. Filling multiple fields "just in case" breaks validation and fails the Zap step at runtime.
Conformance Level, EN16931 is the safe default for 2.x
Pick EN16931 for general EU B2B invoicing (ZUGFeRD 2.x), XRECHNUNG for German public-sector entities, EXTENDED for industry-specific fields. For ZUGFeRD 1.0, BASIC is the minimum legal invoice level. MINIMUM and BASICWL omit line items and are not legal invoices on their own.
Zapier PDF4me Create ZUGFeRD Invoice action on the Configure step: File and File Name from prior steps, Input Format XML, Invoice Xml Data mapped from a previous step, Output Mode XmlOnly, Zugferd Version 1.0, Conformance Level BASIC, Render Invoice On Pdf True, Language de

Zapier action Configure tab, map File / File Name, set Input Format and the matching invoice data field, then Output Mode, Zugferd Version, Conformance Level, Render Invoice On Pdf, and Language.

Parameters

Required in the Zapier UI (asterisked): Input Format, Output Mode, Zugferd Version, and Conformance Level. Conditional: the matching Invoice data field (Invoice Xml Data, Invoice Json Data, or Invoice Csv Data) based on Input Format. For XmlWithPdf output: File and File Name (the template PDF) are typically required by the connector even though not asterisked in every layout. Optional: Render Invoice On Pdf, Language.

ParameterRequiredWhat it doesExample
FileConditionalTemplate/layout PDF that will hold the embedded XML in XmlWithPdf output. Map from a previous step (Dropbox, Google Drive, HTTP). Not required when Output Mode is XmlOnly.3. File: (Exists but not shown)
File NameConditionalFilename of the template PDF (filename + extension). Required alongside File for XmlWithPdf output. Map both `File Name` and `File Ext` from the prior step.3. File Name: 10 page + 3. File Ext: .pdf
Input FormatYesFormat of the invoice payload: XML, JSON, or CSV. Determines which invoice data field below must be filled. Asterisked in the Zapier UI.XML sampleXML 2.0 sampleJSON 2.0 EN16931 sampleJSON (basic)CSV sampleCSV 2.0 sample
Invoice Xml DataConditionalXML invoice payload. Required when Input Format is XML. Map from a previous file step that produced XML content. Leave empty for JSON/CSV inputs.XML sampleXML 2.0 sample4. File: (Exists but not shown)
Invoice Json DataConditionalJSON invoice payload. Required when Input Format is JSON. Best for webhook-driven or API-driven invoice data.JSON 2.0 EN16931 sampleJSON (basic)4. Body
Invoice Csv DataConditionalCSV invoice payload. Required when Input Format is CSV. Best for batch invoice exports from spreadsheets or legacy ERP exports.CSV sampleCSV 2.0 sample4. File
Output ModeYesXmlWithPdf produces the hybrid PDF/A-3 + embedded XML (canonical ZUGFeRD). XmlOnly produces pure XML with no PDF wrapper. Asterisked.XmlOnly
Zugferd VersionYesZUGFeRD specification version. 1.0 is legacy. 2.0+ aligns with EN 16931 and satisfies the German B2B mandate. Asterisked.1.0
Conformance LevelYesProfile controlling required invoice fields. For 1.0: BASIC, COMFORT, EXTENDED. For 2.x: MINIMUM, BASICWL, BASIC, EN16931, EXTENDED, XRECHNUNG. Asterisked.BASIC
Render Invoice On PdfNoToggle (True / False). When True, PDF4me visually renders invoice content on the PDF. When False, only the XML is embedded: useful when the template PDF already shows the invoice layout.True
LanguageNoTwo-letter locale code for printed invoice labels: de (German, default), en (English), fr (French), it (Italian), es (Spanish), nl (Dutch), pl (Polish), pt (Portuguese). The XML data itself remains language-neutral.de

Input Format Options

Controls which data format your invoice payload uses, and which Invoice data field you must fill below.

XMLPre-built XML invoice
Best when your ERP already produces ZUGFeRD-compliant XML or UBL XML that just needs wrapping in the hybrid PDF. Map the file into Invoice Xml Data.
JSONModern API-sourced data
Best for webhook-driven workflows or SaaS billing systems that emit JSON. PDF4me maps JSON fields to the ZUGFeRD XML schema automatically. Map into Invoice Json Data.
CSVSpreadsheet or batch export
Best for batch invoice exports from Google Sheets, Excel, legacy systems, or per-row billing scenarios. PDF4me maps CSV columns to the schema. Map into Invoice Csv Data.

Output Mode Options

Controls whether you produce the canonical ZUGFeRD hybrid file or pure XML.

XmlWithPdfDefault, full ZUGFeRD hybrid file
Produces the standard ZUGFeRD hybrid: PDF/A-3 archival PDF with the structured XML invoice embedded inside as an attachment. Humans read the PDF, machines parse the XML. The canonical output for B2B e-invoicing. Requires File and File Name to be mapped.
XmlOnlyPure XML, no PDF wrapper
Produces only the structured XML invoice. Use for XRechnung pure-XML public-sector submissions, EDI pipelines, data-layer testing, or systems that ingest only XML without a visual representation.

Zugferd Version Options

The ZUGFeRD specification version embedded in the generated invoice. Determines which Conformance Level options appear in the dropdown.

1.0Legacy, pre-EN 16931
Original 2014 specification. Conformance options: BASIC, COMFORT, EXTENDED. Does NOT satisfy the 2025+ German B2B e-invoicing mandate. Use only for legacy receivers that explicitly require 1.0.
2.0+Recommended, EN 16931 aligned
Aligns with the European Standard EN 16931 and satisfies the German B2B mandate. Conformance options include MINIMUM, BASICWL, BASIC, EN16931, EXTENDED, XRECHNUNG. The right choice for 2025+ production invoicing and Factur-X interoperability.

Conformance Level Options

The conformance profile controls which invoice fields are required and validated. Available options depend on the chosen Zugferd Version.

MINIMUM2.x only, header only
Header data only, no line items. NOT a valid legal invoice. For internal accounting drop-offs only.
BASICWL2.x only, VAT only
Adds VAT breakdowns but no line items. For booking-only scenarios reconciled against orders.
BASICBoth versions, minimum legal invoice
Adds line items. Meets the absolute minimum of the EU e-invoicing directive. Available in both 1.0 and 2.x.
COMFORT1.0 only, extended references
Adds reference data and additional fields on top of BASIC. ZUGFeRD 1.0 only, equivalent to EN16931 in modern 2.x.
EN169312.x, Recommended B2B default
European Standard EN 16931 full profile. The recommended default for EU B2B invoicing and the level the German mandate references. ZUGFeRD 2.x only.
EXTENDEDBoth versions, industry extras
Adds industry-specific fields beyond the baseline (logistics, freight, sector-specific references). Available in both 1.0 and 2.x.
XRECHNUNG2.x, German public-sector mandatory
The German XRechnung CIUS profile, mandatory for invoices to federal, state, and municipal authorities. Stricter validation than EN16931. ZUGFeRD 2.x only.

Output Fields

FieldTypeWhat it contains
File ContentBinaryGenerated ZUGFeRD invoice file: hybrid PDF/A-3 for XmlWithPdf output or pure XML for XmlOnly output. Map into the next Zap step (upload, email, ERP POST).
File UrlStringDirect URL to access the generated file: useful for sharing or downstream HTTP processing.
File NameStringOutput filename without extension.
Full File NameStringComplete output filename with extension (.pdf for hybrid, .xml for XmlOnly).

Sample Invoice Files

Use these sample files to test the action with each input format before connecting your live data source. For German B2B production workflows, start with sample-invoice-zugferd-2.0-en16931.json (ZUGFeRD 2.0, EN16931 conformance).

ZUGFeRD XML Sample
ZUGFeRD 1.0 BASIC XML. Use with Input Format: XML. Map into Invoice Xml Data.
ZUGFeRD-invoice-sample.xml
ZUGFeRD 2.0
ZUGFeRD 2.0 XML Sample (EN16931)
ZUGFeRD 2.0 EN16931 XML with seller/buyer parties, line items, VAT, and monetary summation in CrossIndustryInvoice format. Use with Input Format: XML, ZUGFeRD Version: 2.0, Conformance: EN16931.
ZUGFeRD-invoice-sample-2.0.xml
Recommended
JSON 2.0 EN16931 Sample
Full structured invoice for ZUGFeRD 2.0 with EN16931 conformance. Use with Input Format: JSON, Zugferd Version: 2.0, Conformance Level: EN16931. Map into Invoice Json Data.
sample-invoice-zugferd-2.0-en16931.json
JSON Invoice Sample (basic)
Simpler JSON for smoke tests with ZUGFeRD 1.0 and BASIC conformance.
sample-invoice.json
CSV Invoice Sample
Flat CSV row for Input Format: CSV. Map into Invoice Csv Data.
test-invoice.csv
ZUGFeRD 2.0
CSV 2.0 Invoice Sample
Extended 22-column CSV: InvoiceId, IssueDate, seller/buyer address fields, SellerVatId, ProductId, Currency, PaymentReference, IBAN, BIC. Use with Input Format: CSV, ZUGFeRD 2.0.
zugferd-invoice-2.0.csv

Quick Setup

  1. In Zapier, click + to add a new action and select PDF4me.
  2. Choose Create ZUGFeRD Invoice as the action event.
  3. Connect your PDF4me account or paste your API key when prompted.
  4. For XmlWithPdf output, map File and File Name to your layout PDF (often a previous Dropbox or Google Drive download step). For XmlOnly, these can be left empty.
  5. Set Input Format to XML, JSON, or CSV depending on your data source.
  6. Fill only the matching invoice data field: Invoice Xml Data, Invoice Json Data, or Invoice Csv Data. Leave the other two empty.
  7. Set Output Mode to XmlWithPdf (hybrid file, canonical ZUGFeRD) or XmlOnly (pure XML).
  8. Choose Zugferd Version: 2.0+ for 2025+ German B2B mandate compliance, 1.0 only for legacy receivers.
  9. Choose Conformance Level: EN16931 for general B2B (2.x), XRECHNUNG for German public sector, BASIC for ZUGFeRD 1.0 legacy.
  10. Toggle Render Invoice On Pdf to True if you want PDF4me to visually render invoice content on the PDF; False if your template PDF already shows the layout.
  11. Set Language to the locale code matching your buyer's region (de, en, fr, it, es, nl, pl, pt).
  12. Click Test action, verify the output, and turn the Zap on.

Workflow Examples

Workflow ExamplesCommon Zapier workflow patterns using Create ZUGFeRD Invoice.
SaaS webhook JSON → ZUGFeRD 2.x EN16931 → email customer
  1. Your SaaS billing system fires a webhook to Zapier when a German B2B customer is invoiced.
  2. PDF4me Create ZUGFeRD Invoice runs: Input Format = JSON, Invoice Json Data mapped from the webhook payload, Output Mode = XmlWithPdf, Zugferd Version = 2.0, Conformance = EN16931, Language = de.
  3. The hybrid PDF (human-readable + machine-parseable) is attached to a Gmail step and sent to the customer's accounts-payable address, satisfying the 2025+ B2B e-invoicing mandate.
  4. A Google Sheets row logs the invoice ID, customer, amount, and timestamp for audit reporting.
  5. A SharePoint upload archives a copy of the ZUGFeRD PDF for compliance retention.
ERP CSV export → XRECHNUNG → German public-sector portal
  1. A scheduled Zap runs every weekday at 16:00 to process pending public-sector invoices.
  2. A Dropbox trigger picks up the latest ERP CSV export and the layout PDF.
  3. PDF4me Create ZUGFeRD Invoice runs: Input Format = CSV, Invoice Csv Data = the CSV file, Output Mode = XmlWithPdf, Zugferd Version = 2.0, Conformance = XRECHNUNG, Language = de.
  4. The compliant XRECHNUNG hybrid PDF is POSTed via a Webhook step to the federal ZRE portal or the relevant state e-invoicing endpoint.
  5. A confirmation email goes to the AR team with the submission reference; a PostgreSQL log captures the audit trail.
Pre-built XML → XmlOnly → EDI partner integration
  1. Your ERP already generates ZUGFeRD-compliant XML invoices via its export module and drops them into a Google Drive folder.
  2. Zapier triggers on each new XML file. PDF4me Create ZUGFeRD Invoice runs: Input Format = XML, Invoice Xml Data = the XML file, Output Mode = XmlOnly, Zugferd Version = 2.0, Conformance = EN16931.
  3. The validated pure-XML invoice is sent via SFTP to the trading partner's EDI endpoint, no PDF wrapper needed for system-to-system handoff.
  4. A Slack notification confirms the EDI delivery; an Airtable record updates with the partner and submission timestamp.

Frequently Asked Questions

What is ZUGFeRD and how does it differ from XRechnung and Factur-X?+
ZUGFeRD is the German hybrid e-invoicing standard: a PDF/A-3 archival-grade PDF with structured XML invoice data embedded inside as an attachment. Humans can read the PDF in any viewer; ERP systems and accounting software extract and process the XML automatically without manual data entry. XRechnung is the German public-sector profile, mandatory when invoicing federal, state, or municipal authorities, it can be issued as pure XML or as a ZUGFeRD conformance level. Factur-X is the French sister format that uses the identical hybrid PDF/A-3 + XML structure as ZUGFeRD 2.x and is fully interoperable for cross-border French-German invoicing. Use ZUGFeRD 2.x with EN16931 for general EU B2B, XRECHNUNG conformance for German public sector, and ZUGFeRD/Factur-X for international DACH-FR workflows.
Which ZUGFeRD Version should I choose in Zapier for the 2025 German B2B e-invoicing mandate?+
The German Wachstumschancengesetz (Growth Opportunities Act) made e-invoice receipt mandatory for all B2B transactions from 1 January 2025, with full sending obligations phasing in through 2028. ZUGFeRD 2.0 or higher with EN16931 or XRECHNUNG conformance is required to satisfy the mandate. ZUGFeRD 1.0 is legacy and does not comply. The Zapier action exposes 1.0 as a default in some installations: explicitly switch to 2.0+ for compliant production workflows. Confirm the exact version your trading partner or invoicing portal accepts; some larger enterprises and government portals may require version 2.2 or 2.4 specifically.
What is the difference between XmlWithPdf and XmlOnly output modes?+
XmlWithPdf generates the standard ZUGFeRD hybrid invoice: a PDF/A-3 archival document with the structured XML invoice data embedded as an attachment inside the PDF. Humans read the PDF, machines parse the XML: one file serves both audiences and is the canonical ZUGFeRD format for B2B. XmlOnly generates a pure XML file with no PDF wrapper, used when the receiving system only ingests XML, typical for XRechnung pure-XML public-sector portals, EDI pipelines, or data-layer integration testing. Choose XmlWithPdf for production B2B invoicing; XmlOnly for pure-XML system integration or compliance submissions that explicitly require XML-only delivery.
Which Conformance Level should I pick: BASIC, COMFORT, EXTENDED, EN16931, or XRECHNUNG?+
Conformance levels differ by ZUGFeRD version. For ZUGFeRD 1.0: BASIC (minimum legal invoice with line items), COMFORT (additional reference data on top of BASIC), and EXTENDED (industry-specific fields beyond the baseline) are available. For ZUGFeRD 2.x: MINIMUM (header only, not a legal invoice: for internal use only), BASICWL (Basic Without Lines, adds VAT but no line items, for booking-only), BASIC (line items, minimum EU directive), EN16931 (European Standard full profile, recommended default for EU B2B), EXTENDED (industry-specific fields), and XRECHNUNG (German public-sector mandatory profile with stricter validation). Start with BASIC for ZUGFeRD 1.0 workflows and EN16931 for ZUGFeRD 2.x B2B. Switch to XRECHNUNG when invoicing German federal, state, or municipal authorities.
Can I generate ZUGFeRD invoices from CSV data, and how do CSV, JSON, and XML inputs compare?+
Yes. The Input Format parameter supports XML, JSON, and CSV: pick the format matching your data source. CSV is ideal for batch invoice exports from spreadsheets (Google Sheets, Excel), legacy ERP exports, or per-row billing workflows where each row represents one invoice. JSON is the modern choice when invoice data arrives from a webhook, REST API, or SaaS billing system that emits structured JSON payloads. XML is best when your ERP already produces ZUGFeRD or UBL XML that just needs wrapping in the hybrid PDF. The action automatically maps CSV columns or JSON fields to the ZUGFeRD XML schema before embedding in the output PDF, no manual XML construction is required for CSV or JSON paths. Critical: fill ONLY the data field matching your chosen Input Format. Mapping both Invoice Xml Data and Invoice Csv Data in the same run will fail the validation step.

Same Task on Other Platforms

Get Help