Compliance

ZUGFeRD vs. XRechnung: which e-invoice format do you actually need?

Both are valid German e-invoice formats, but they serve different clients. Here's how to tell which one you need — and which one you almost certainly don't.

5 min read·30 July 2026
🇩🇪 Auf Deutsch lesen

Germany’s e-invoicing mandate mentions two format names — ZUGFeRD and XRechnung — and most explanations don’t make clear that these solve different problems for different clients. Getting this wrong means either sending the wrong format to a government agency, or overbuilding for a requirement you don’t actually have.

The core difference

ZUGFeRD (and its French/EU twin, Factur-X) is a hybrid format: a normal-looking PDF with a machine-readable XML file embedded inside it. Open it and a human sees an invoice; feed it to accounting software and it reads the structured data automatically. It’s built for B2B and B2C invoicing — any client, human or software, can use the same file.

XRechnung is pure XML — there is no visual PDF layer at all. It’s not something a person opens and reads; it exists purely to be processed by software. It was built specifically for B2G (business-to-government) invoicing in Germany and has been mandatory for invoicing most federal and many state public sector bodies since 2020.

Both are built on the same European core: the EN 16931 semantic data model. The difference is the container, not the underlying tax logic.

ZUGFeRD’s profiles

ZUGFeRD defines multiple profiles, each carrying more data than the last:

Profile What it carries
Minimum Payment data only, no line items
Basic WL Header-level totals, no full itemization
Basic Partial line-item detail
EN 16931 (Comfort) Full line-item tax detail, full payment terms, full addresses
Extended Everything in Comfort, plus additional fields required for XRechnung

For ordinary B2B invoicing — the level required by the German mandate and by accounting systems like DATEV — the EN 16931 / Comfort profile is the one that matters. It’s the most complete profile short of Extended, and it’s what satisfies the 2027/2028 sending obligation for private-sector clients.

When you actually need XRechnung

Only when your client is a German government body — a federal ministry, most state (Länder) administrations, or a public agency that requires B2G invoicing. In that case:

  • The invoice must be in XRechnung format specifically, not ZUGFeRD
  • You need a Leitweg-ID from the agency — a routing code that tells the receiving system which department the invoice belongs to
  • Submission typically goes through a dedicated portal (such as the federal ZRE) or the Peppol network, not a plain email attachment

If you’ve never invoiced a government agency directly, you almost certainly don’t need XRechnung. Freelancers and small businesses whose clients are other businesses or consumers are squarely in ZUGFeRD/Factur-X territory.

The practical rule

  • Invoicing a business or consumer client → ZUGFeRD / Factur-X, EN 16931 (Comfort) profile
  • Invoicing German federal or state government directly → XRechnung, with a Leitweg-ID from that agency

For the broader picture on what the e-invoicing mandate requires and by when, see our e-invoicing guide.

In Billino

Every invoice Billino generates is automatically a ZUGFeRD / Factur-X file at the EN 16931 (Comfort) profile — the format that covers the overwhelming majority of freelancer and small-business B2B invoicing, and satisfies the private-sector mandate without you doing anything differently. If you need to check whether a specific file — yours or one a client sent you, including an XRechnung XML — actually meets the EN 16931 standard, use the free e-invoice validator for a field-by-field compliance report.

Common questions

Can I send ZUGFeRD to a business client instead of XRechnung?

Yes, for ordinary B2B and B2C invoicing. XRechnung is only required when your client is a German federal or state government body.

Does ZUGFeRD satisfy Germany's e-invoicing mandate?

Yes, at the EN 16931 (Comfort) profile — that's the level required for standard B2B invoicing under the mandate.

What is a Leitweg-ID and when do I need one?

A routing code a German government agency gives you so your XRechnung invoice reaches the correct department. You only need it when invoicing that agency directly.

Are ZUGFeRD and Factur-X the same format?

Yes — Factur-X is the French/EU name for the same hybrid PDF+XML standard as Germany's ZUGFeRD.

Start invoicing today.
It's free.

No credit card. No invoice limit. Just sign up and send your first invoice.

Google Play
Coming soon
Download on the App Store
Works in your browser and on iOS · Android coming soon

Fair use policy applies.