XRechnung vs ZUGFeRD: Which E-Invoice Format Should You Use?
XRechnung vs ZUGFeRD 2.x compared. Understand the key differences, when to use each format, and which is right for your German business.
XRechnung vs ZUGFeRD: Which E-Invoice Format Should You Use?
Both XRechnung and ZUGFeRD are valid and accepted e-invoice formats under German law. They both meet the compliance requirements. But they work quite differently โ and picking the wrong one for your situation creates unnecessary friction down the line.
The Core Difference
| XRechnung | ZUGFeRD 2.x | |
|---|---|---|
| What it is | Pure XML file | PDF with embedded XML |
| Human-readable | โ Not really | โ Yes โ looks like a normal invoice |
| Machine-readable | โ Yes | โ Yes |
| EN 16931 compliant | โ Always | โ Only with Profile "EN 16931" or "XRechnung" |
| Best for | Government, large enterprises | SMBs, freelancers, mixed recipient base |
The short version: XRechnung is pure data, no frills. ZUGFeRD is a hybrid โ it looks like a normal invoice to a human but has the structured XML baked in underneath.
XRechnung: Just the Data
XRechnung is a pure XML format โ no PDF, no visual layer. It looks something like this:
<rsm:CrossIndustryInvoice>
<rsm:ExchangedDocument>
<ram:ID>INV-2025-001</ram:ID>
...
</rsm:ExchangedDocument>
</rsm:CrossIndustryInvoice>
Not exactly riveting reading for humans. But that's the point โ it's designed for machines to consume directly, not for people to stare at.
XRechnung makes sense when:
- You invoice the German government (it's legally required for B2G since 2020)
- Your trading partners run automated invoice processing on their end
- You're sending high volumes (100+/month) and want clean data pipelines
- Nobody on the receiving end actually needs to eyeball the invoice
ZUGFeRD 2.x: The Best of Both Worlds (With a Catch)
ZUGFeRD embeds the structured XML inside a PDF/A-3 file. The recipient gets a normal-looking PDF they can open and read, with the machine-readable data included inside it.
From an integration standpoint, it's a clever solution โ especially during transition periods where some of your clients have modern AP automation and others are still printing things out.
ZUGFeRD makes sense when:
- You invoice a mix of businesses and individuals
- Some of your customers haven't gotten their e-invoicing setup sorted yet
- You want the change to feel gradual (the PDF looks exactly like what people expect)
- You're a freelancer or small business without a dedicated finance team
The ZUGFeRD Profile Trap โ Don't Get Caught Here
This is where a lot of people get burned. Not all ZUGFeRD profiles are actually compliant with the German B2B mandate:
| Profile | EN 16931 Compliant | Valid for B2B? |
|---|---|---|
| Minimum | โ No | โ No |
| Basic WL | โ No | โ No |
| Basic | โ No | โ No |
| EN 16931 | โ Yes | โ Yes |
| XRechnung | โ Yes | โ Yes |
| Extended | โ ๏ธ Partially | โ ๏ธ Check with recipient |
If your accounting software generates ZUGFeRD "Basic" by default and you've never changed it โ you're technically generating non-compliant invoices. Go check now.
You need Profile "EN 16931" or "XRechnung" โ nothing lower.
What Most German SMBs Should Actually Use
For the majority of freelancers and small businesses in Germany: ZUGFeRD 2.x with Profile EN 16931.
Here's why:
- โ Fully compliant for B2B e-invoicing
- โ Still looks like a normal invoice โ no confusion during the transition years
- โ Can be archived as both PDF and structured data
- โ Identical to France's Factur-X format โ useful if you invoice French companies
If you primarily invoice the government or large corporations with automated accounts payable systems, go with XRechnung. They'll prefer it, and there's no reason to send them a PDF they won't use.
Software Support
Practically all major German accounting tools support both formats at this point. For a full breakdown of which tools are actually good at this, see our software comparison โ.
Updated December 2024. Format compliance verified against KoSIT specifications.