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, and has been mandatory for invoices to the federal government since November 2020.
XRechnung vs. ZUGFeRD: the difference in one sentence
An XRechnung is XML only, while a ZUGFeRD invoice (German) 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. 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.
Who actually needs an XRechnung?
Among online shops, almost nobody does. XRechnung is mandatory when you invoice public-sector buyers (authorities, municipalities, public institutions), that is, in B2G business. The federal government and many German states explicitly require XRechnung there, usually submitted through platforms such as ZRE or OZG-RE, with a Leitweg-ID (the public buyer's routing ID) as the recipient address.
For B2B business between companies, ZUGFeRD meets the same legal requirement, 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 UStG (the German VAT Act), the XRechnung format requires additional structured fields, among them the public buyer's Leitweg-ID (German) as the buyer reference, plus machine-readable line item and tax data. If a mandatory field is missing or the XML breaks the schema, the receiving portal rejects the invoice 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, German) 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 (German) page shows how the automated flow works today, and the e-invoicing software (German) page lists all features.
FAQ
This article explains general principles and is not tax advice (§ 5 StBerG). Rechnungskit is built for businesses based in Germany and prepares documents, tax rates and bookings automatically. How a specific case is treated for tax purposes remains your decision, ideally together with your tax advisor (Steuerberater).
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.
Start for free