E-Rechnung · Formats

XRechnung vs ZUGFeRD: Which German E-Invoice Format Should You Use?

Guide · 3 min read

Germany's two dominant e-invoice formats solve the same problem in different ways. XRechnung is a pure structured XML file built for machine processing. ZUGFeRD is a hybrid: a normal, human-readable PDF with the same structured XML embedded inside. Both can comply with EN 16931, so the choice usually comes down to who is receiving your invoice.

Quick answer: Use XRechnung when invoicing German public-sector clients, since federal authorities and most states require it. For B2B, both XRechnung and ZUGFeRD (version 2.0.1 or later, EN 16931 conformant profiles) satisfy the mandate; ZUGFeRD is often friendlier for small recipients because it still looks like a normal PDF.

XRechnung: the pure XML standard

XRechnung is the German Core Invoice Usage Specification (CIUS) of EN 16931, maintained by KoSIT, the coordination office for IT standards. An XRechnung file is XML only: there is no visual layout, no logo, no page design. It can be expressed in either of the two syntaxes permitted by EN 16931, UN/CEFACT CII or UBL 2.1. The recipient's software renders or imports the data; a human never reads the raw file directly.

XRechnung is mandatory for invoices to German federal public-sector bodies and required or accepted by the states (Bundeslaender), usually submitted through portals such as ZRE or OZG-RE together with a Leitweg-ID that routes the invoice to the right authority.

ZUGFeRD / Factur-X: the hybrid PDF

ZUGFeRD embeds a structured XML file, factur-x.xml, inside a PDF/A-3 document. The result is one file that works both ways: a person can open and read the PDF as usual, and accounting software can extract the XML and process the invoice automatically. ZUGFeRD is technically identical to the French standard Factur-X, which is why the embedded file carries that name.

ZUGFeRD defines several profiles. For the German B2B mandate, the profile must contain the full EN 16931 data set: from version 2.0.1, the EN 16931 (COMFORT) and EXTENDED profiles qualify, while MINIMUM and BASIC-WL do not count as e-invoices under the mandate.

Which one do you need?

There is no legal ranking between the two for B2B. Both are structured e-invoices under EN 16931, and a recipient who must accept e-invoices cannot reasonably reject one for being XRechnung rather than ZUGFeRD or vice versa. In practice, matching your customer's workflow avoids friction.

Producing both from one invoice

Because both formats carry the same EN 16931 data, a good tool lets you enter the invoice once and export either file. The E-Rechnung app does exactly that on iPhone: one tap exports XRechnung XML in CII or UBL 2.1 syntax, or a ZUGFeRD/Factur-X PDF with the XML embedded. For the underlying standard both formats share, see what EN 16931 actually defines.

This article is general information, not tax or legal advice. If you are unsure which format a specific contract or authority requires, check the client's supplier guidelines or ask your Steuerberater.

Common questions

Is ZUGFeRD accepted for the German B2B e-invoicing mandate?
Yes. ZUGFeRD from version 2.0.1 in an EN 16931 conformant profile (COMFORT or EXTENDED) counts as an e-invoice under the mandate. The MINIMUM and BASIC-WL profiles do not.
Do public authorities in Germany accept ZUGFeRD?
Federal authorities require XRechnung-conformant invoices, typically submitted via portals like ZRE or OZG-RE. Some accept ZUGFeRD if the XML part conforms to the XRechnung profile, but for public-sector work XRechnung is the safe default.
What is the difference between XRechnung and ZUGFeRD?
XRechnung is a pure XML file with no visual layout, designed for machine processing. ZUGFeRD is a readable PDF with the structured XML embedded inside, so humans and software can both process it. Both can conform to EN 16931.
Is ZUGFeRD the same as Factur-X?
Technically yes. ZUGFeRD 2.x and the French Factur-X share the same specification, and the embedded XML file is named factur-x.xml in both.
About the app
E-Rechnung - e-invoices on iPhone
About the app →