Germany B2B E-Rechnung
Germany E-Invoicing on Odoo: XRechnung and ZUGFeRD
Germany's B2B e-invoicing mandate is already running. Since 1 January 2025 every business must be able to receive structured e-invoices, and issuing them becomes mandatory in two steps: from 1 January 2027 for businesses with prior-year turnover above €800,000, and from 1 January 2028 for everyone. Odoo issues XRechnung and ZUGFeRD / Factur-X invoices, reads incoming ones, and sends them over Peppol.
Last reviewed:
What it is
The E-Rechnung mandate comes from the Wachstumschancengesetz (Growth Opportunities Act) of 27 March 2024, with implementation details in letters from the Federal Ministry of Finance (BMF) of 15 October 2024 and 15 October 2025. It covers domestic B2B supplies between businesses in Germany. An e-invoice is a structured electronic invoice that follows the European standard EN 16931, in practice XRechnung or ZUGFeRD from version 2.x. A PDF on its own, or an emailed scan, is an 'other invoice' (sonstige Rechnung), not an e-invoice. Invoices under €250 gross are exempt, and existing EDI procedures may continue if the invoice data can be extracted in a compliant form.
Why it matters
Receiving is already compulsory, so a business that cannot process an incoming XRechnung is out of line today. Issuing deadlines follow: 2027 for businesses with prior-year turnover above €800,000 and 2028 for all others. Until then, paper and other formats remain allowed, but PDF invoices need the recipient's consent. Doing this inside the ERP means the invoice data is the same data your bookkeeping, GoBD archive and DATEV export already use, rather than a separate tool that re-keys it.
Features
| Capability | What it does |
|---|---|
| XRechnung 3.0 (UBL) | Odoo generates XRechnung invoices in UBL format, tagged with the XRechnung 3.0 specification. The buyer reference field carries the Leitweg-ID that public-sector buyers require. |
| ZUGFeRD / Factur-X (hybrid PDF + XML) | A readable PDF with the structured XML embedded. Customers who still read invoices by eye get a PDF; their systems read the XML. Use a profile that meets EN 16931; the Minimum and Basic-WL profiles do not count as e-invoices. |
| Receiving and importing e-invoices | Incoming XRechnung and ZUGFeRD files are read into draft vendor bills, so the structured data is used rather than re-typed. This is the part the 2025 receiving obligation requires. |
| Peppol sending and receiving | Odoo acts as its own Peppol access point in Germany and 31 other countries. Registration is free and available in Odoo Community, so invoices travel over Peppol instead of email where the buyer is registered. |
| Customer-by-customer format choice | Set the format per customer: XRechnung for public-sector and large buyers, ZUGFeRD where the customer still wants a PDF, Peppol where they are registered. |
| One record for e-invoicing, GoBD and DATEV | The same posted invoice feeds the e-invoice, the GoBD archive and the DATEV export for your Steuerberater, so nothing is keyed twice. |
How it works
-
Readiness check
We check which of your entities must issue from 2027 and which from 2028, which customers and suppliers already exchange e-invoices, and whether you can receive today.
-
Receive first
Incoming XRechnung and ZUGFeRD import is set up and tested on real supplier invoices, closing the obligation that has applied since January 2025.
-
Configure issuing
German localization, customer formats, Leitweg-IDs for public buyers, and Peppol registration. PDF layouts are kept for customers who still want them.
-
Test with real customers
Test invoices go to a few key customers before the switch, including credit notes, so rejections are found before the deadline rather than at it.
-
Go live and monitor
Issuing switches on per customer group ahead of your deadline. Rejections and delivery status are visible on each invoice.
Deployment timeline
For a company already on Odoo with the German localization, this is mainly configuration and testing rather than development. New Odoo implementations include it from the start. We confirm the effort and a fixed price after a short readiness check.
Best for
German businesses on Odoo, or moving to Odoo, that must issue e-invoices from 1 January 2027 (prior-year turnover above €800,000) or 1 January 2028; groups with German subsidiaries running Odoo elsewhere; companies that sell to German public-sector buyers and need XRechnung with a Leitweg-ID; and any business that still cannot read incoming XRechnung files today.
Frequently asked questions
-
When does the German e-invoicing mandate apply?
Receiving: since 1 January 2025 for all domestic B2B supplies. Issuing: paper and other formats remain allowed until 31 December 2026 for everyone, and until 31 December 2027 for businesses whose prior-year turnover was €800,000 or less. From 1 January 2028 all domestic B2B invoices must be e-invoices. Sources: the Wachstumschancengesetz and BMF letters of 15 October 2024 and 15 October 2025.
-
Is a PDF invoice an e-invoice in Germany?
No. A PDF is an 'other invoice' (sonstige Rechnung). Until the issuing deadlines it can still be used with the recipient's consent, but it does not meet the mandate. An e-invoice must follow EN 16931, such as XRechnung or ZUGFeRD from version 2.x with a compliant profile.
-
Does Odoo support XRechnung and ZUGFeRD?
Yes. Odoo's e-invoicing module generates XRechnung 3.0 in UBL format, with the buyer reference used for the Leitweg-ID, and Factur-X, which is technically equivalent to ZUGFeRD. It also imports incoming XML invoices into draft vendor bills and can send and receive over Peppol.
-
What is the difference between XRechnung and ZUGFeRD?
XRechnung is a pure XML format and the standard for German public-sector buyers. ZUGFeRD is a hybrid: a readable PDF with the XML embedded. Both meet EN 16931 when a compliant profile is used. Many businesses send ZUGFeRD to private customers who still read PDFs and XRechnung to public buyers.
-
Are small invoices exempt?
Yes. Invoices with a gross amount up to €250 (Kleinbetragsrechnungen) are exempt and can still be issued as other invoices.
-
Can we keep using EDI?
Yes, existing EDI procedures may continue beyond 2028 as long as the invoice data can be correctly extracted into a format that meets the requirements. Odoo can run alongside an EDI channel for the customers that use one.
-
Do we need Peppol in Germany?
The mandate does not require a specific transmission channel; email with an XRechnung or ZUGFeRD attachment is allowed. Peppol is useful where your customers or public buyers are registered on it. In Odoo, Peppol registration is free.
-
How does this relate to GoBD and DATEV?
They are separate obligations that use the same invoice data. E-invoicing governs the invoice format, GoBD governs how records are kept and archived, and DATEV is how your Steuerberater receives the books. See our Germany GoBD and DATEV page for that side.
-
Does the German e-invoicing mandate cover invoices to consumers?
No. The E-Rechnung mandate covers domestic B2B supplies between businesses in Germany, so invoices to consumers sit outside it. Within its scope, invoices up to €250 gross are exempt, and existing EDI procedures can continue if the invoice data can be extracted in a compliant form. Odoo sets the invoice format per customer, so in-scope and out-of-scope invoices run from one database.
-
Which ZUGFeRD profiles count as an e-invoice in Germany?
Only profiles that meet the European standard EN 16931. ZUGFeRD from version 2.x with a compliant profile qualifies; the Minimum and Basic-WL profiles do not, so invoices sent in them count as 'other invoices' (sonstige Rechnungen). If another tool sends your ZUGFeRD invoices today, check its profile before your issuing deadline: 1 January 2027 above €800,000 prior-year turnover, otherwise 1 January 2028.
-
How long does it take to set up E-Rechnung in Odoo?
For a company already on Odoo with the German localization, E-Rechnung is mainly configuration and testing, not development. We set up incoming XRechnung and ZUGFeRD import first, then customer formats, Leitweg-IDs for public buyers and Peppol registration, and test with a few key customers before the switch. New Odoo implementations include it from the start. See how we serve businesses in Germany.