#What Is ZUGFeRD?
ZUGFeRD is a German hybrid e-invoice format that embeds a structured EN 16931 XML file inside a human-readable PDF/A-3 document — so the same file is both a normal-looking invoice for people and machine-readable data for accounting systems. It is the format most commonly used for German business-to-business (B2B) invoicing.
This page explains the ZUGFeRD standard factually. It is not tax or legal advice — confirm your own obligations with a qualified advisor.
#How the hybrid PDF/XML format works
A ZUGFeRD file is a PDF/A-3 (an archival PDF that can carry attachments) with an EN 16931 XML invoice embedded inside it, using the UN/CEFACT CII syntax. Open it in any PDF reader and you see a normal invoice; feed it to an EN 16931-aware system and it extracts the structured data automatically. That dual nature is the whole point: humans get a readable document, machines get clean data, from one file. ZUGFeRD is published by FeRD (Forum elektronische Rechnung Deutschland).
#ZUGFeRD profiles explained
ZUGFeRD defines several profiles — levels of data completeness:
| Profile | EN 16931-conformant? | Typical use | Satisfies German B2B mandate? |
|---|---|---|---|
| MINIMUM | No | Booking aid only | No |
| BASIC-WL | No | Booking aid (no line items) | No |
| BASIC | Yes | Simple invoices | Yes |
| COMFORT (EN 16931) | Yes | Standard B2B invoices | Yes |
| EXTENDED | Yes | Complex / multi-purpose | Yes |
The key takeaway: MINIMUM and BASIC-WL are not full e-invoices and do not meet the mandate on their own. BASIC and above do. Scribo's default for German B2B is the COMFORT profile (zugferd_comfort), and it also offers zugferd_basic.
#ZUGFeRD vs Factur-X — are they the same?
Effectively, yes. ZUGFeRD and France's Factur-X share the same technical specification — the same PDF/A-3 container and the same CII XML — published jointly by FeRD in Germany and FNFE-MPE in France. They are the same format under two national names.
#Which formats satisfy the German B2B mandate?
For domestic German B2B, an EN 16931-conformant e-invoice is required as the mandate phases in. A ZUGFeRD profile at BASIC or above, XRechnung, or Peppol BIS all qualify. See Germany's B2B e-invoicing mandate for the timeline.
#How do you create a ZUGFeRD invoice?
Producing a valid ZUGFeRD file means generating EN 16931 XML and embedding it correctly inside a conformant PDF/A-3 — fiddly to do by hand. Scribo does both: describe the invoice in plain language and it returns a ready ZUGFeRD COMFORT file, validated against EN 16931 at generate time, for free. Use it from the web app, the HTTP API, the hosted MCP server, the npm CLI, or the Claude/Codex skill — handy when a billing agent needs the finished compliant document rather than a decorative PDF.
#ZUGFeRD vs XRechnung
ZUGFeRD (hybrid PDF, mainly B2B) and XRechnung (pure XML, mainly B2G) are both EN 16931-compliant German formats. For a full side-by-side, see ZUGFeRD vs XRechnung.
#Frequently asked questions
Is a ZUGFeRD file a real e-invoice or just a PDF? It is both. A ZUGFeRD file is a PDF/A-3 document that a person can read normally, with a structured EN 16931 XML invoice embedded inside it that machines can process automatically. That embedded XML is what makes it a true e-invoice, not just a PDF.
Which ZUGFeRD profile do I need for the German B2B mandate? A profile that conforms to EN 16931 — in practice BASIC or above (COMFORT/EN 16931 is the common choice). The lightweight MINIMUM and BASIC-WL profiles do not carry a full EN 16931 invoice and do not satisfy the mandate on their own.
Is ZUGFeRD the same as Factur-X? Technically yes — ZUGFeRD (Germany) and Factur-X (France) share the same hybrid PDF/A-3 plus CII XML specification, published jointly by FeRD and FNFE-MPE. They are the same format under two national names.
Can accounting software read the embedded XML automatically? Yes. Systems that support EN 16931 extract the embedded XML from the PDF and process the invoice data without manual entry, while a person can still open the same file as an ordinary PDF.
Is ZUGFeRD mandatory? ZUGFeRD itself is not mandated by name. For German B2B, EN 16931-conformant e-invoices are being phased in, and a ZUGFeRD profile at BASIC or above is one valid way to comply. For invoices to public authorities (B2G), XRechnung is the usual format.
Sources: EU Directive 2014/55/EU; FeRD — Forum elektronische Rechnung Deutschland; FNFE-MPE — Factur-X.