Guide

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.

Updated: October 2026 And in France? → Reform 2026/2027
Please note: this page is a technical summary for developers, not legal or tax advice. The authoritative sources are section 14 of the German VAT Act (UStG) and the letters of the Federal Ministry of Finance (BMF) in their current version – check individual cases in the official sources or with your tax adviser.

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

  1. Ensure receiving (since 2025). Recognise incoming ZUGFeRD and XRechnung files, extract the XML and import the data – instead of re-keying the PDF.
  2. Check incoming invoices. Detect formally faulty e-invoices early: validation against the XML schema and the official Schematron (ZUGFeRD/Factur-X and KoSIT XRechnung).
  3. 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.
  4. Validate before sending. Check every generated invoice automatically so customers don’t send rejected invoices back.
  5. Mind archiving. The e-invoice must be stored unaltered in its original form (GoBD) – the XML is the authoritative original.
  6. 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.

⚙️

Create

The Creator generates ZUGFeRD/Factur-X XML in every profile as well as XRechnung (CII) from a typed .NET object model.

Creator · Demo
✔️

Validate

The Validator checks PDF/A-3, the ZUGFeRD envelope, XML schema and official Schematron – including KoSIT XRechnung as CII and UBL.

Validator · Demo
📄

Read

The free Reader reads ZUGFeRD XML or a PDF with embedded XML and produces a readable PDF view.

Reader · Demo

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

A question about ZUGFeRD or XRechnung in your .NET software? Get in touch – we are happy to answer technical questions on the format and validation.