XRechnung vs ZUGFeRD: which one do you need?
By evoicely · Last checked 19 October 2026
Both count as e-invoices in Germany, as long as ZUGFeRD uses the EN 16931 profile or higher. XRechnung is a pure XML file. ZUGFeRD is a PDF that people can read, with the same kind of XML embedded. For most B2B customers ZUGFeRD is the friendlier default. For German public-sector buyers, and anyone who asks for it explicitly, send XRechnung.
At a glance
| XRechnung | ZUGFeRD 2.x | |
| What it is | XML only (UBL or CII syntax) | PDF/A-3 with CII XML embedded ("hybrid") |
| Human-readable | Only with a viewer | Yes, it's a normal PDF |
| Standard | German rules on top of EN 16931, maintained by KoSIT | Joint German–French standard (FeRD), the same as Factur-X |
| Counts as an e-invoice in DE | Yes | Yes, from version 2.0.1, except the MINIMUM and BASIC WL profiles |
| Typical use | Public sector (with a Leitweg-ID), larger companies with automated payables | B2B with small and mid-sized customers |
| Extra mandatory fields | German rules (BR-DE): buyer reference, seller contact, payment details, electronic addresses | Depends on the profile; the XRECHNUNG profile carries the same German rules |
ZUGFeRD profiles
ZUGFeRD comes in profiles that carry more or less structured data: MINIMUM, BASIC WL, BASIC, EN 16931 (also called COMFORT), EXTENDED and XRECHNUNG. According to the Federal Ministry of Finance, ZUGFeRD from version 2.0.1 meets the requirements for an e-invoice except the MINIMUM and BASIC WL profiles. Those two don't carry all the details an invoice must contain as structured data. (BMF FAQ)
The safe default is EN 16931. It maps one to one onto the European standard, and every compliant receiver can process it.
In a ZUGFeRD file, the XML is the invoice
The PDF is for people, but the structured data is what counts. If the PDF and XML disagree, you have a problem. That's why ZUGFeRD should be generated from one source of data, never by attaching XML to a separately designed PDF that can drift.
How to choose
- Selling to German public authorities? XRechnung. They usually require a Leitweg-ID as the buyer reference and often accept invoices only through their portals.
- Customer asks for a specific format? Send that. Both sides may agree on any EN 16931-compliant format.
- Otherwise: ZUGFeRD EN 16931 works for most customers. People can read it, software can process it, and nobody has to install a viewer.
And Peppol?
Peppol is a delivery network, and Peppol BIS Billing 3.0 is its invoice format. Germany doesn't require Peppol for B2B; email is fine. Belgium does require it (see Belgium's Peppol mandate). XRechnung in UBL syntax and Peppol BIS are close relatives, since both build on EN 16931.
Where evoicely fits
evoicely is being built to produce both from your Stripe invoices: ZUGFeRD EN 16931 by default, XRechnung when a customer needs it, each checked with the official KoSIT validator. It's planned, not available yet. Join the waitlist.
This is general information, not legal or tax advice. Check what applies to your business with your tax advisor.