B2B e-invoicing mandate in Germany: ZUGFeRD and XRechnung in .NET
Since 1 January 2025, businesses established in Germany must be able to receive e-invoices; for issuing, transition periods run until the end of 2026 or 2027. This guide summarises deadlines and formats and shows what .NET developers and software vendors should implement now.
Deadlines 2025–2028
Under the Growth Opportunities Act (Wachstumschancengesetz), e-invoices are in principle mandatory for transactions between businesses established in Germany (B2B). The introduction is phased:
| Period | Receiving | Issuing |
|---|---|---|
| from 1 Jan 2025 | Mandatory for all domestic businesses, no transition period | Paper and other electronic invoices (e.g. plain PDF) still permitted; other electronic formats only with the recipient’s consent |
| 2027 | Mandatory | E-invoice mandatory if prior-year turnover exceeds €800,000; below that, paper/PDF still possible. EDI with the recipient’s consent still permitted |
| from 1 Jan 2028 | Mandatory | E-invoice mandatory for all domestic B2B transactions |
Exceptions include small-amount invoices up to €250 and travel tickets; small businesses under the VAT exemption scheme do not have to issue e-invoices but must be able to receive them. According to the BMF, an e-mail inbox is sufficient for receiving – the invoice must then be processed by machine and archived properly.
What is an e-invoice?
Under the law, an e-invoice is an invoice in a structured electronic format that complies with the European standard EN 16931 and allows automated processing. A PDF sent by e-mail without embedded data is not an e-invoice but an “other electronic invoice”.
ZUGFeRD vs. XRechnung
Two formats dominate in Germany. Both are based on EN 16931; other formats (e.g. EDI) are possible if the required details can be converted correctly and completely into a compliant format.
| ZUGFeRD / Factur-X | XRechnung | |
|---|---|---|
| Structure | Hybrid: PDF/A-3 with embedded CII XML | Pure XML (CII or UBL) |
| Readability | PDF for humans, XML for machines | Machine-readable only, displayed via a viewer |
| Valid as a B2B e-invoice | From version 2.0.1, profiles EN 16931, EXTENDED and XRECHNUNG – not MINIMUM and BASIC WL | Yes |
| Typical use | B2B, also cross-border (identical to Factur-X in France) | Invoices to public administration (B2G), increasingly B2B too |
Important: with a ZUGFeRD invoice the XML is authoritative. If PDF and XML differ, the BMF generally treats the structured part as decisive – so PDF and XML must be generated from the same data.
What .NET developers should do now
- Ensure receiving (since 2025). Recognise incoming ZUGFeRD and XRechnung files, extract the XML and import the data – instead of re-keying the PDF.
- Check incoming invoices. Detect formally faulty e-invoices early: validation against the XML schema and the official Schematron (ZUGFeRD/Factur-X and KoSIT XRechnung).
- Prepare issuing (2027/2028). Generate invoices from your own data in the EN 16931 profile or higher; for public authorities, XRechnung with a Leitweg-ID.
- Validate before sending. Check every generated invoice automatically so customers don’t send rejected invoices back.
- Mind archiving. The e-invoice must be stored unaltered in its original form (GoBD) – the XML is the authoritative original.
- Plan for updates. ZUGFeRD, XRechnung and the KoSIT rules are released in new versions regularly.
How Facturexa helps in .NET
The Facturexa libraries cover the format side – offline in your own application on .NET 10, .NET 8 or .NET Framework 4.8, without a cloud service.
To get started: the documentation shows the NuGet integration, and the free 30-day trial lets you test with your own invoices. Prices under Licence & pricing.
Official sources
- Federal Ministry of Finance – e-invoicing FAQ (German, with the BMF letters on the introduction of mandatory e-invoicing)
- E-Rechnung-Bund – XRechnung for the federal administration (B2G)
- FeRD – Forum elektronische Rechnung Deutschland (ZUGFeRD specification)