Format
What is ZUGFeRD? The hybrid PDF/XML e-invoice format explained
Short answer: ZUGFeRD is a German e-invoice format with a hybrid structure: a visible PDF/A-3 file carrying an embedded, machine-readable XML data set per EN 16931. You see the invoice in a PDF reader while software reads the embedded XML. Factur-X is the identical French profile. Unlike XRechnung, ZUGFeRD is not pure XML — it is PDF and XML in one file.
Definition: what makes ZUGFeRD ZUGFeRD
The core of ZUGFeRD is its hybrid structure: an ordinary PDF invoice (in the PDF/A-3 archival format) carries a structured XML data set as an attachment. The human eye reads the PDF, software reads the XML — both are the same invoice in a single file. ZUGFeRD therefore combines the readability of a PDF with the automatic processability of a structured e-invoice.
The embedded XML uses the UN/CEFACT CII (Cross Industry Invoice) syntax and expresses the semantic data model of EN 16931 — amount, tax rates, line items, delivery date, recipient. A ZUGFeRD invoice at the right profile is therefore a fully valid EN 16931 e-invoice, just with an additional visible PDF layer.
ZUGFeRD and Factur-X: one format, two names
Factur-X is the French counterpart to ZUGFeRD. It uses the same hybrid structure (PDF/A-3 with embedded EN 16931 CII XML) and the same profiles, and the two are developed jointly by German and French bodies. ZUGFeRD 2.x and Factur-X are therefore compatible — technically the same format at its core. Anything that can process ZUGFeRD can usually process Factur-X.
The ZUGFeRD profiles
ZUGFeRD 2.x defines several profiles with increasing data scope. The profile determines which fields the XML contains:
- MINIMUM — header and total data only, intended as a booking aid. Not a complete EN 16931 e-invoice on its own.
- BASIC-WL (Without Lines) — header and total level without line items.
- BASIC — with line items; a subset of EN 16931 for simple invoices.
- EN 16931 (COMFORT) — fully EN 16931 compliant; the profile for most B2B invoices.
- EXTENDED — a superset with additional fields for more complex business cases.
- XRECHNUNG — expresses the German XRechnung rules (CIUS) inside the ZUGFeRD container as CII.
For a complete B2B e-invoice, BASIC or higher is what matters in practice; the MINIMUM and BASIC-WL profiles do not carry enough to count as a standalone EN 16931 e-invoice.
ZUGFeRD vs XRechnung: hybrid vs pure XML
Both formats satisfy EN 16931 but differ in structure and typical use:
- XRechnung is a pure XML file with no visible PDF view — a German CIUS of EN 16931, the established standard for invoicing public-sector buyers (B2G).
- ZUGFeRD/Factur-X is hybrid (PDF plus embedded CII XML), popular in B2B because the same file works for humans and machines.
For a direct comparison see XRechnung vs ZUGFeRD, and how both relate under the norm is covered in ZUGFeRD, XRechnung and EN 16931. The sibling format in detail: What is XRechnung?
Where ZUGFeRD is accepted — and where pure XML is required
In domestic B2B, both XRechnung and ZUGFeRD/Factur-X are permitted e-invoice formats. In B2G (public-sector), many bodies instead require pure XRechnung XML and address the invoice via a Leitweg-ID — a plain ZUGFeRD PDF is not necessarily enough there. Whether a hybrid is accepted depends on the individual recipient and its inbound channel. How the Leitweg-ID is structured is covered in the Leitweg-ID for XRechnung.
Create, view and check ZUGFeRD
- Create: generate an EN 16931 compliant ZUGFeRD file from your invoice data — create a ZUGFeRD e-invoice.
- Structure in XML: what a compliant e-invoice looks like in XML — e-invoice example (XML).
- Open & view: make the embedded XML readable — open a German e-invoice.
Is my ZUGFeRD file valid? Check it for free
A ZUGFeRD PDF can open and still carry a faulty or incomplete XML — wrong totals, missing mandatory fields, a mismatched profile. Whether the embedded XML really meets EN 16931 and the German business rules is only shown by a technical check with a KoSIT-aligned accept gate. The free fakturai validator reads ZUGFeRD, Factur-X and XRechnung files and checks them in one step — no account needed.
What fakturai does not replace
fakturai checks the technical format and structural compliance per EN 16931 with a KoSIT-aligned accept gate. The content and tax correctness of the invoice, proper archiving and accounting treatment remain your responsibility. fakturai is not tax advice and makes no legal, tax or delivery guarantees.
Next step
Free German e-invoice validator
Related: What is a German e-invoice? · What is XRechnung? · XRechnung vs ZUGFeRD · E-invoice example (XML)