What is ZUGFeRD?
ZUGFeRD (Zentraler User Guide des Forums elektronische Rechnung Deutschland) is Germany's hybrid e-invoice format: a normal PDF that a human can open and read, with the complete invoice data embedded inside as structured XML that accounting software processes automatically. One file serves both audiences, which is why it became the practical default for German B2B invoicing.
Technically, ZUGFeRD is not a German solo effort: since version 2.0 it is identical to the French Factur-X standard, and its data model follows the European norm EN 16931. A ZUGFeRD invoice is therefore also a valid European e-invoice.
How the file works technically
A ZUGFeRD file is a PDF/A-3 document, the archival PDF flavor that allows embedded attachments. Inside sits an XML file (named factur-x.xml) in the UN/CEFACT Cross-Industry Invoice (CII) syntax, declared with the attachment relationship the receiving software looks for. The visible PDF pages and the XML must describe the same invoice; the XML is the legally decisive layer.
The XML declares which rules it follows through its specification identifier. This is the first thing validators and accounting systems read:
<ram:GuidelineSpecifiedDocumentContextParameter>
<ram:ID>urn:cen.eu:en16931:2017#compliant#urn:factur-x.eu:1p0:en16931</ram:ID>
</ram:GuidelineSpecifiedDocumentContextParameter>
Everything else follows from that line: the profile decides which fields are mandatory, and the EN 16931 business rules (over 200 of them) decide whether the file is valid.
What a ZUGFeRD invoice contains
A ZUGFeRD invoice carries the same details as any correct German invoice under Section 14 UStG, but every detail sits in a defined field of the XML instead of somewhere on the page. In the EN 16931 profile, that means:
- Invoice number (BT-1), issue date (BT-2), delivery or service date, and document type (BT-3), such as 380 for an invoice or 381 for a credit note
- Seller and buyer with name and postal address, plus the seller's VAT ID (BT-31) or tax number (BT-32)
- Line items with quantity, unit of measure, net price and VAT category per line
- The VAT breakdown per rate and category, and the totals: net amount, VAT amount and amount due
- Payment details such as the payment method and IBAN, plus the payment terms
- References where they apply: the buyer reference (BT-10), which carries the Leitweg-ID for public authorities, and the order number
On top of that come the specification identifier shown above, which names the profile, and the PDF page, which shows the same invoice to people. Since 1 January 2025 the XML is the legally binding part, so the page must never show different figures than the data. Which fields are mandatory depends on the profile; the table below shows how much each one carries. See complete examples in the sample file library.
Versions and profiles
ZUGFeRD 1.0 appeared in 2014 with its own data model. Version 2.0 (2019) rebuilt the format on EN 16931 and unified it with Factur-X; the current 2.x releases refine that line. New implementations should always target the current 2.x specification.
The profile controls how much data the XML layer carries:
| Profile | Line items | Typical use |
|---|---|---|
| MINIMUM | No | Automated accounts-payable flows matched against purchase orders |
| BASIC WL | No | Header-level bookings without line detail |
| BASIC | Yes | Simple invoices with standard fields |
| EN 16931 | Yes | The recommended default for German B2B invoices |
| EXTENDED | Yes | Industry extensions beyond the European norm |
| XRECHNUNG | Yes | Reference profile matching the German CIUS for public-sector invoices |
ZUGFeRD, XRechnung, Factur-X: how they relate
- ZUGFeRD: hybrid PDF with embedded CII XML, for B2B invoices between companies.
- XRechnung: pure XML (no PDF layer) with stricter German rules on top of EN 16931, required by public authorities and always carrying a Leitweg-ID.
- Factur-X: the same standard as ZUGFeRD 2.x under its French name; the files are technically identical.
Invoicing the public sector? Read the dedicated XRechnung format guide.
The German e-invoicing deadlines
- Since January 1, 2025: every German business must be able to receive e-invoices for domestic B2B transactions. A PDF alone no longer counts as an e-invoice.
- From January 1, 2027: businesses with more than EUR 800,000 annual turnover must issue e-invoices for domestic B2B.
- From January 1, 2028: the issuing obligation applies to all businesses.
ZUGFeRD (EN 16931 profile or higher) satisfies these requirements; so does XRechnung. Paper and plain PDF invoices lose their status as the default.
Sample files to download
All sample files now live on their own page: one ZUGFeRD invoice per profile from MINIMUM to EXTENDED, XRechnung in CII and UBL, credit note, correction, reverse charge, Kleinunternehmer, and deliberately broken files. Every file was generated and validated with the tools on this site, and every card opens the file straight in the validator or the viewer. Browse and download all sample files.
Work with ZUGFeRD files right here
- Create a ZUGFeRD invoice with the guided form
- Validate a ZUGFeRD file against EN 16931
- Validate an XRechnung including the CIUS rules
- Open an e-invoice and read it in the browser
- Convert an existing PDF invoice to ZUGFeRD
Looking for software rather than a format explanation? The ZUGFeRD software guide compares browser tools, downloads, ERP modules and the API.