Skip to content
Rechnungskit
Guide · E-invoicing
Explainer

XRechnung vs ZUGFeRD: the XRechnung format explained

XRechnung is a purely machine-readable e-invoice format: an XML file under the European standard EN 16931, with no PDF part. It is the standard for invoices to German authorities and public-sector buyers. Suppliers to the federal government have had to invoice electronically since November 27, 2020, in principle using the XRechnung standard (§ 3(1) and § 4(1) ERechV).

XRechnung vs. ZUGFeRD: the difference in one sentence

An XRechnung is XML only, while a ZUGFeRD invoice is a PDF with XML embedded in it. Both meet the same standard (EN 16931), and both count as an e-invoice under the German e-invoicing mandate, ZUGFeRD from version 2.0.1 and except in the MINIMUM and BASIC-WL profiles (section 14.1(13) and (14) UStAE, German). In practice, nobody can read an XRechnung without software, whereas a ZUGFeRD hybrid looks like a normal PDF invoice to the person who receives it.

Comparison · same standard, two formats
XRechnung or ZUGFeRD: what the recipient gets
XRechnungB2G
FormatXML only
StandardEN 16931
Readable without softwareNo needs a viewer or software
Typical recipientAuthorities, municipalities, public institutions
Recipient addressLeitweg-ID
ZUGFeRDB2B and B2C
FormatPDF with embedded XML
StandardEN 16931
Readable without softwareYes like a normal PDF invoice
Typical recipientBusinesses and consumers
Both count as e-invoices. A printout or screenshot of an XRechnung, on the other hand, is not an e-invoice.

Who actually needs an XRechnung?

Among online shops, almost nobody does. XRechnung becomes relevant when you invoice public-sector buyers (authorities, municipalities, public institutions), that is, in B2G business. For federal contracts, the E-Invoicing Ordinance (ERechV) has required electronic invoices since November 27, 2020 (§ 3(1) ERechV, § 11(3) ERechV, German). In principle you use the XRechnung standard; another standard is allowed if it complies with EN 16931 (§ 4(1) ERechV). Invoices for direct awards up to €1,000 are among the exceptions (§ 3(3) ERechV). You submit through a public portal such as ZRE or OZG-RE (§ 4(3) ERechV), with a Leitweg-ID (the public buyer's routing ID) as the recipient address. German states and municipalities have their own rules; what your buyer requires is usually stated in the order.

For B2B business between companies, ZUGFeRD meets the same legal requirement (section 14.1(14) UStAE, German), with the advantage that consumers and business customers can read the same invoice.

What an XRechnung must contain

Besides all mandatory invoice details under § 14(4) UStG (the German VAT Act), the E-Invoicing Ordinance requires, for invoices to the federal government, among other things the Leitweg-ID, bank details, payment terms and an email address of the supplier (§ 5(1) ERechV, German). In an XRechnung, the Leitweg-ID goes into the buyer reference field, alongside machine-readable line item and tax data. The portal checks every invoice automatically for formal errors and rejects faulty ones (§ 4(3) ERechV) before any person has looked at it.

How Rechnungskit handles it

Rechnungskit creates standard invoices as ZUGFeRD 2.5 under EN 16931. A permitted small-amount invoice (Kleinbetragsrechnung) without a recipient address deliberately stays a reduced PDF/A document and does not get a made-up XML recipient.

For public-sector buyers, XRechnung 3.0 is created automatically: you store the customer's Leitweg-ID on the customer record, and every further invoice to that customer is generated as XRechnung XML, checked against the KoSIT rules, archived and sent by email together with a PDF copy for reading. In the Rechnungskit checkout and through the API, the Leitweg-ID can also be passed in directly with the order. Rechnungskit does not handle delivery via PEPPOL; if needed, you upload the XML to portals such as ZRE or OZG-RE. The create e-invoices page shows how the automated flow works today, and the e-invoicing software page lists all features.

FAQ

No, both meet the same standard. For the federal government, XRechnung is the default standard, but other standards that comply with EN 16931 are allowed there too (§ 4(1) ERechV, German). For B2B and B2C, ZUGFeRD is more practical because people can still read the invoice.
Read more
Guide E-invoicing for B2C in Germany: does the mandate apply to online shops? Guide E-invoicing in Germany: the mandate explained for founders Guide Invoicing in a foreign currency in Germany: which exchange rate applies? (ECB, DATEV, OSS) Guide GoBD explained: principles, retention and what they mean for your invoices Guide Small-amount invoices in Germany (§ 33 UStDV): when the buyer's address can be left out Guide E-invoicing for small businesses in Germany (Kleinunternehmer): duties, exemptions, thresholds 2026 Guide The German cancellation button (§ 312k BGB): who needs it and how it works Guide The date of supply on German invoices: shipping date or payment date? Guide Leitweg-ID: what it is, how it is structured and how it gets onto the invoice Guide The OSS scheme explained: the €10,000 threshold, registration and an example Guide Deferred revenue for SaaS and online courses in Germany: when a pRAP is required Guide Proforma invoices in Germany: what they are for and why they are not invoices Guide Deferred revenue in German accounting (pRAP): definition, bookings and an example Guide Changing the billing address on a German invoice afterward: is it possible? (without a cancellation) Guide Correcting an invoice in Germany: which route for which error? Guide Server-side tracking for Meta: Conversions API with a lean consent bar Guide Shopify gift cards in Germany: gift card, discount code and store credit for VAT Guide Shopify invoices in Germany: what Shopify does, what is missing, what applies from 2027 Guide Shopware invoices: what Shopware 6 does on its own and what is missing Guide Stripe DATEV export: getting Stripe payments into DATEV as a booking batch Guide Booking Stripe fees in Germany: clearing account, reverse charge and Stripe Technology Europe Ltd Guide Stripe Invoicing in Germany: creating invoices, pricing and e-invoicing Guide Stripe invoices with payment terms as e-invoices: bank transfer to the Stripe IBAN Guide Stripe invoices in Germany: what Stripe Invoicing and Billing do, what is missing, and what applies from 2027 Guide Shipping costs and VAT in Germany: 7%, 19% or tax-exempt? Guide The German withdrawal button (§ 356a BGB): mandatory since June 19, 2026 Guide WooCommerce DATEV export: options, file format and account mapping Guide WooCommerce invoices in Germany: plugins, mandatory details, e-invoicing Guide Payment terms on invoices in Germany: rules, due date calculation and wording Guide ZUGFeRD explained

Rechnungskit is not a tax advisory or law firm. This article explains general principles and does not replace advice from a tax advisor (Steuerberater, § 5 StBerG) or a lawyer (§ 3 RDG). Rechnungskit is built for businesses based in Germany and prepares documents, tax rates and bookings automatically. How your specific case is treated remains your decision, ideally together with your tax advisor or a lawyer.

Every invoice automatically as a valid e-invoice.

Connect your payment provider and we take care of format, validation and archive. Start for free in test mode.

Try it now
de en