ZUGFeRD
ZUGFeRD is the hybrid e-invoice format of the German market: a PDF that people can read, carrying an XML file that software can process. If you invoice German customers, this is the format you are most likely to meet next to XRechnung.
By Peppol Validator · Last updated
In short
- One file, two layers: a PDF/A-3 for the human reader and an embedded CII XML for the accounting system. The XML is what counts for tax purposes.
- ZUGFeRD and Factur-X are one standard since version 2.1, maintained jointly by Germany (FeRD) and France (FNFE-MPE).
- The profile matters. From BASIC upwards the XML is a valid EN 16931 invoice and counts as an e-invoice in Germany. MINIMUM and BASIC WL do not.
How a ZUGFeRD invoice is built
The container is PDF/A-3 (ISO 19005-3), an archival PDF flavour that allows file attachments. The attachment is an XML document in UN/CEFACT Cross Industry Invoice (CII) syntax, one of the two syntaxes recognised by the European norm EN 16931 (the other is UBL). Metadata inside the PDF declares which ZUGFeRD version and profile the attachment follows.
For the recipient, this means a gradual path to automation: a small business can open the PDF like any other invoice, while a company with an ERP system imports the XML without retyping anything. German tax guidance states that, for hybrid invoices, the structured XML prevails if it differs from the visible PDF, so the XML has to be correct on its own.
The name is an acronym of Zentraler User Guide des Forums elektronische Rechnung Deutschland. FeRD coordinates every release with its French partner FNFE-MPE, which publishes the same specification as Factur-X.
ZUGFeRD profiles
Profiles set how much structured data the XML must carry. They are the most common source of confusion: a file can be a perfectly valid ZUGFeRD MINIMUM document and still not be an e-invoice under German law.
| Profile | Data content | EN 16931 | E-invoice (DE) |
|---|---|---|---|
| MINIMUM | Header and totals only, no invoice lines | No (booking aid) | No |
| BASIC WL | Header data and VAT breakdown, no lines (“without lines”) | No (booking aid) | No |
| BASIC | Core invoice with lines, reduced data set | Yes, compliant subset | Yes |
| EN 16931 (COMFORT) | The full EN 16931 semantic model | Yes | Yes |
| EXTENDED | EN 16931 plus extra fields for complex processes | Yes, plus extra fields | Yes |
| XRECHNUNG | Aligned with the German XRechnung CIUS | Yes, XRechnung rules | Yes |
In practice, most German invoicing software defaults to the EN 16931 profile. Choose EXTENDED only when you need fields beyond the norm, for example for complex delivery or logistics data, and XRECHNUNG when a recipient explicitly asks for XRechnung content inside a PDF.
Versions and their Factur-X equivalents
| ZUGFeRD | Factur-X | Note |
|---|---|---|
| 1.0 (2014) | none | Pre-EN 16931 data model |
| 2.0 (2019) | 1.0 (largely aligned) | First EN 16931-based version |
| 2.1 / 2.1.1 (2020) | 1.0.05 | Identical; XRECHNUNG profile added |
| 2.2 (2022) | 1.0.06 | Identical |
| 2.3.x (2024–2025) | 1.0.07 / 1.07.x | Identical |
| 2.4 (from 15 Jan 2026) | 1.08 | Identical; adds sub-lines |
ZUGFeRD 1.0 is not EN 16931 compliant and should not be used for new invoices. The German Federal Ministry of Finance accepts ZUGFeRD from version 2.0.1. For a new implementation, target the current release.
ZUGFeRD, XRechnung and Peppol
XRechnung is the German CIUS of EN 16931, maintained by KoSIT. It is XML only, in UBL or CII, and adds German rules (BR-DE-) such as the Leitweg-ID for public-sector buyers. Public authorities generally expect XRechnung; whether a portal accepts a ZUGFeRD file in the XRECHNUNG profile depends on that portal.
Peppol BIS Billing 3.0 uses UBL only, so a ZUGFeRD file is not sent over Peppol as such. Many German businesses use XRechnung over Peppol for public-sector invoices and ZUGFeRD by email for B2B. A side-by-side view is in ZUGFeRD vs Factur-X vs XRechnung, and the syntax differences in UBL vs CII vs Factur-X.
ZUGFeRD and the German mandate
Since 1 January 2025 every business in Germany must be able to receive structured e-invoices. Issuing becomes mandatory from 1 January 2027 for companies with prior-year turnover above EUR 800,000 and from 1 January 2028 for all others. ZUGFeRD in profile BASIC or higher is an accepted format, as are XRechnung and Peppol BIS. Deadlines and exemptions are covered in the German e-invoicing mandate and e-invoicing in Germany.
Validating a ZUGFeRD invoice
Our validator works on XML, not PDF. Save the attached XML from the PDF/A-3 first (usually factur-x.xml, via your PDF reader's attachments panel or a tool such as pdfdetach, qpdf or mutool), then upload it to the ZUGFeRD validator.
The XML is checked against the CEN EN 16931 schematron for CII: business rules (BR-), calculations (BR-CO-), decimals (BR-DEC-), VAT categories, code lists and CII syntax rules (CII-SR-). For the XRECHNUNG profile, the German KoSIT BR-DE rules run too. We do not check PDF/A-3 conformance, the PDF metadata, the FeRD profile-specific rules or the XML schema; for a binding XRechnung check use the KoSIT validator as well.
Frequently asked questions
What is ZUGFeRD?
ZUGFeRD is a German hybrid e-invoice format. A ZUGFeRD invoice is a PDF/A-3 document with an XML file attached in UN/CEFACT Cross Industry Invoice (CII) syntax. People read the PDF; software reads the XML. The format is maintained by FeRD, the Forum for Electronic Invoicing Germany.
What does ZUGFeRD stand for?
Zentraler User Guide des Forums elektronische Rechnung Deutschland, roughly 'Central User Guide of the Forum for Electronic Invoicing Germany'. FeRD sits within the AWV association and develops the format together with its French partner FNFE-MPE.
Which ZUGFeRD profiles exist?
ZUGFeRD 2.x defines MINIMUM, BASIC WL, BASIC, EN 16931 (formerly COMFORT), EXTENDED and XRECHNUNG. MINIMUM and BASIC WL carry header data only and are not complete EN 16931 invoices. BASIC is a compliant subset, EN 16931 covers the full norm, EXTENDED adds fields for complex processes, and XRECHNUNG follows the German XRechnung CIUS.
Are ZUGFeRD and Factur-X the same thing?
Since ZUGFeRD 2.1 (Factur-X 1.0.05) they are technically identical; ZUGFeRD 2.0 was already closely aligned. ZUGFeRD is the German name, Factur-X the French one. The current release is ZUGFeRD 2.4 / Factur-X 1.08, in force since 15 January 2026. ZUGFeRD 1.0 predates EN 16931 and uses a different data model.
How is ZUGFeRD different from XRechnung?
XRechnung is XML only, with no PDF. It is the German CIUS of EN 16931, maintained by KoSIT, and can be expressed in UBL or CII. ZUGFeRD wraps CII XML inside a PDF/A-3. Both satisfy the German B2B mandate when EN 16931 compliant. For invoices to public authorities, XRechnung is the standard.
Does ZUGFeRD meet the German e-invoicing mandate?
Yes, from version 2.0.1 and in profile BASIC or higher, according to the Federal Ministry of Finance (BMF). MINIMUM and BASIC WL do not qualify because VAT-relevant data is missing from the XML. A plain PDF without embedded XML is not an e-invoice either.
Can I validate a ZUGFeRD PDF?
Not as a PDF. Our validator accepts XML only. Extract the attached XML (usually factur-x.xml) from the PDF/A-3 and upload it to the ZUGFeRD validator, which checks it against the CEN EN 16931 rules for CII, plus the German KoSIT BR-DE rules for the XRECHNUNG profile. PDF/A-3 conformance and the XML schema are not checked.
How do I get the XML out of a ZUGFeRD PDF?
Use the attachments panel of your PDF reader (the paperclip in Adobe Acrobat Reader), or a command-line tool such as pdfdetach -saveall invoice.pdf, qpdf --show-attachment=factur-x.xml invoice.pdf or mutool extract invoice.pdf. The file is named factur-x.xml from ZUGFeRD 2.1 (xrechnung.xml in the XRECHNUNG profile), zugferd-invoice.xml in 2.0 and ZUGFeRD-invoice.xml in 1.0.
Further reading
ZUGFeRD validator
Check the embedded CII XML against EN 16931
ZUGFeRD vs Factur-X vs XRechnung
The three formats side by side
Factur-X validator
Check CII XML from Factur-X invoices
XRechnung validator
Check XRechnung (UBL or CII) against EN 16931 and the BR-DE rules
KoSIT validator
The official XRechnung test tool
German e-invoicing mandate
Deadlines 2025 to 2028 and exemptions
Leitweg-ID
Routing ID for invoices to German authorities
Peppol in Germany
Mandate, formats and access points