XRechnung vs Peppol BIS Billing 3.0: A Guide for Foreign Suppliers
If your company sits outside Germany and has just won a contract with a German business customer, two names will come up almost immediately: XRechnung and Peppol BIS Billing 3.0. Both describe a properly structured electronic invoice, and the difference between them decides whether the file you send actually gets accepted. Germany already requires every business to be able to receive a B2B electronic invoice, and on the receiving side an ordinary e-mail inbox is enough. The obligation to send one is being phased in on a schedule tied to company turnover, ending in a full cut-off after which every business must send electronic invoices. XRechnung is the German rulebook built directly on the same European core standard that Peppol BIS Billing 3.0 also sits on, which is exactly why the two get confused. This note walks through what XRechnung actually is, how it relates to Peppol BIS Billing 3.0, which invoice formats a German customer will accept, and which technical details commonly need checking before a foreign supplier's first invoice into Germany goes through.
What XRechnung Actually Is (and How Peppol BIS Billing 3.0 Fits Under It)
EN 16931 is the European standard behind every compliant electronic invoice: it fixes which data an invoice must carry and how the amounts on it must relate to one another. Its schematron splits into 58 base rules, numbered BR-01 to BR-65, plus a further 24 calculation and consistency rules, numbered BR-CO-01 to BR-CO-26. Peppol BIS Billing 3.0 is built directly on top of that same European standard, in the OASIS UBL 2.1 syntax, and adds 41 of its own rules on top of what EN 16931 already requires, in the release dated November 2025. XRechnung is Germany's own rulebook on the identical European standard, developed by KoSIT, and it already carries the Peppol BIS Billing 3.0 business rules inside it, which is exactly why a file built only to Peppol BIS Billing 3.0 does not automatically satisfy XRechnung, even though a file built correctly to XRechnung does satisfy Peppol BIS Billing 3.0.
The current release is XRechnung 3.0.2, and its base version, XRechnung 3.0, has applied since the start of February 2024.
Germany's Two Separate Deadlines: Receiving and Sending
Since the start of 2025, every business in Germany must be able to receive a B2B electronic invoice, and receiving one needs nothing more than an ordinary e-mail inbox on the customer's side; there is no special software requirement for a business that only receives invoices.
Sending is staged by turnover, and this is your German customer's own deadline, not a rule that binds a supplier outside Germany directly. A German business may still issue a plain PDF or paper invoice until the end of 2026, a company with a turnover up to 800 000 euro in the previous year keeps that option until the end of 2027, older EDI procedures outside EN 16931 are tolerated on the same 2027 date, and from the start of 2028 every business sends electronic invoices in B2B. Knowing these dates tells you exactly when a German buyer that still accepts a PDF today will start asking for XRechnung instead, so a request that seems sudden is really the customer catching up with a deadline it has known about for years.
Two Formats a German Customer Can Accept
XRechnung is not the only format that counts as a proper electronic invoice under German rules. ZUGFeRD is a hybrid file, an ordinary PDF with a structured XML file embedded inside it, and from version 2.0.1 it meets the legal definition of an electronic invoice, with one exception: its MINIMUM and BASIC-WL profiles leave out part of the EN 16931 data model and do not qualify.
A supplier whose own accounting software can only export a PDF should ask exactly which ZUGFeRD profile that software writes, because a file in the MINIMUM or BASIC-WL profile will not carry the full data set a German buyer's system is built to expect.
Identifiers and Rules That Trip Up a First Invoice Into Germany
Sending an invoice over the Peppol network to a German party means addressing it correctly. A German public authority is identified on the network by its Leitweg-ID, carried under scheme 0204, while a German VAT number, the USt-IdNr., is carried under scheme 9930; using the wrong one means the network cannot correctly match the invoice to the recipient.
The VAT category code on every invoice line has to be right as well. EN 16931 fixes a closed set of values: S for the standard rate, Z for a zero rate, E for exempt, AE for reverse charge, K for a supply inside the European Union, G for an export outside it, and further codes for special cases, and each of these carries its own group of calculation rules the invoice line has to satisfy.
For an invoice addressed to a German public buyer specifically, XRechnung's own rule BR-DE-15 requires the buyer reference field to be filled in; in practice this is exactly where the Leitweg-ID goes, and an invoice that leaves it empty is rejected before anyone even looks at the amounts.
Frequently asked questions
Do I have to use XRechnung, or is a Peppol BIS Billing 3.0 invoice enough?
XRechnung already carries the Peppol BIS Billing 3.0 business rules inside it, so a file built correctly to XRechnung also satisfies Peppol BIS Billing 3.0. The direction does not run the other way: XRechnung adds extra rules of its own, such as the mandatory buyer reference field, so a plain Peppol BIS Billing 3.0 file can still be missing something XRechnung demands.
Can I just keep sending a PDF invoice to my German customer?
For now, yes: Germany still allows a plain PDF or paper invoice until the end of 2026, with an extended option until the end of 2027 for a customer whose turnover in the previous year was up to 800 000 euro. The step worth taking now, rather than waiting for that date, is to ask whoever maintains your invoicing software whether it can already produce a file in the ZUGFeRD or XRechnung structure, since ZUGFeRD only counts as a proper electronic invoice from version 2.0.1 onward and an older version will not be enough once the deadline arrives.
What happens if I leave the buyer reference field blank on an invoice to a German public authority?
BR-DE-15 applies specifically to an invoice sent to a German public authority, where the buyer reference field is where the Leitweg-ID goes; it is not a general requirement stamped on every German invoice regardless of who the buyer is. The identifier in that field tells you which kind of buyer you are dealing with: a public authority is addressed under Peppol scheme 0204 for its Leitweg-ID, while an ordinary private company is addressed under scheme 9930 for its VAT number, so check which one applies to your customer before treating the field as optional.
Conclusion
None of this is homework you can skip because your own country runs a different scheme: the moment a German business customer asks for an electronic invoice, the file has to satisfy XRechnung or an accepted equivalent such as ZUGFeRD, not a rulebook borrowed from your home market. Getting the network identifiers, the VAT category code and fields such as the buyer reference right on the first attempt saves a rejected file and a second wait before the invoice gets paid. If you would rather check a finished invoice against these rules before it goes out, see ARLing's e-invoicing overview.
Sources. The facts in this note are numbered after our internal fact list and were checked on the publication date. ARLing is not a bank; a clean check result is no guarantee that the bank accepts the payment. If a source has changed since, write to andrej@arling.sk and we will correct this page.
- F85, F86, F88: Bundesministerium der Finanzen, FAQ zur obligatorischen E-Rechnung, https://www.bundesfinanzministerium.de/Content/DE/FAQ/e-rechnung.html (overené 11. 9. 2026)
- F87: KoSIT, XRechnung FAQ, https://xeinkauf.de/xrechnung/faq/; schematron XRechnung, https://github.com/itplr-kosit/xrechnung-schematron (overené 11. 9. 2026)
- F89: zoznamy kódov Peppol, https://docs.peppol.eu/poacc/billing/3.0/codelist/ICD/ a https://docs.peppol.eu/poacc/billing/3.0/codelist/eas/ (overené 11. 9. 2026)
- F90: schematron CEN EN 16931, https://github.com/ConnectingEurope/eInvoicing-EN16931 (licencia EUPL 1.2, overené 11. 9. 2026)
- F91: schematron Peppol BIS Billing 3.0, https://github.com/OpenPEPPOL/peppol-bis-invoice-3 (overené 11. 9. 2026)
- F92: schematron CEN EN 16931, https://github.com/ConnectingEurope/eInvoicing-EN16931; zoznam kódov Peppol, https://docs.peppol.eu/poacc/billing/3.0/codelist/vatex/ (overené 11. 9. 2026)
- F99: schematron XRechnung, súbor XRechnung-UBL-validation.sch, https://github.com/itplr-kosit/xrechnung-schematron (licencia Apache License 2.0, overené 11. 9. 2026)