First the common ground: both are full e-invoices
Before we compare, the most important sentence first: ZUGFeRD and XRechnung are not opponents. Both are based on the European norm EN 16931, both contain the same structured mandatory data, both meet the legal requirements from 2025.
The question is therefore not “which is right” but “which fits which situation”. And the answer is different for sending than for receiving.
ZUGFeRD: the hybrid document
ZUGFeRD is a PDF with an embedded XML file. You open the file and see a perfectly normal, designed invoice — with logo, layout, readable for anyone. Hidden in the same document is the machine-readable XML.
That is the great charm: a human without special software can read the invoice immediately, a machine can process the structured part. ZUGFeRD is technically related to the French Factur-X — the same hybrid approach, which is practical in cross-border business. Important: only from profile EN 16931 (formerly “Comfort”) does ZUGFeRD count as a full e-invoice. The lean profiles MINIMUM and BASIC WL are not enough.

XRechnung: pure data, no picture
The XRechnung is the exact counterpart: a pure XML file, without layout, without logo, without a picture. Double-click in a normal editor — and you see cryptic code. That is not an error, that is the format.
For public administration the XRechnung is the set standard; in B2G it has been mandatory since 2020. It is very strictly defined, which makes automatic processing clean — but it absolutely needs a viewer or suitable software for a human to read it.
The practical difference in everyday work
Imagine two recipients. One still works largely manually, looks at invoices individually, has no special software. For them a ZUGFeRD invoice is more pleasant — they immediately see a readable PDF.
The other processes hundreds of invoices automatically. For them the XRechnung is ideal because it carries no ballast and is strictly structured. There is no “better” without context. There is only “fits the process” or “does not fit”.
Which format should you send yourself?
If you mostly invoice other companies and do not know how good their software is, ZUGFeRD is often the diplomatic choice: the recipient can read the invoice in any case, even without special software, and the structured data are still there.
If you invoice public authorities, there is no way around the XRechnung — including a correct routing ID. Many SMEs run most calmly with ZUGFeRD in B2B and XRechnung for authority customers.
What counts on receiving: you need both
Now the point that relativizes the whole “vs.” question: when receiving you cannot choose what comes in.
One supplier sends ZUGFeRD, the next XRechnung, a third an old PDF. Your intake must accept, detect, validate and archive all variants cleanly in the respective original. “We only accept XRechnung” is not an option the law allows you. On the receiving side the question is therefore not ZUGFeRD or XRechnung — but: does my process handle both without manual work?
Decision aid in one paragraph
Whoever does not want to get lost in profiles can hold on to a few rules of thumb:
- Sending to companies, mixed or unknown recipient software → ZUGFeRD (from profile EN 16931).
- Sending to authorities / public clients → XRechnung with routing ID.
- Heavily automated own processing → XRechnung is lean and strict.
- Receiving, no matter from whom → accept both formats, detect automatically, archive each original.
- In doubt: the supplier's format decides, not your wish.