fakturai blog

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:

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:

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

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.

Check a ZUGFeRD file for free

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)

Free validator · Create API key · API docs