What is the E-Rechnungspflicht in Germany?
The E-Rechnungspflicht — Germany's mandatory electronic invoicing regime — was introduced by the Wachstumschancengesetz (the Growth Opportunities Act, in force since March 2024, BGBl. 2024 I Nr. 108) and is anchored in § 14 of the Umsatzsteuergesetz (UStG), the German VAT Act. It obliges companies to use structured electronic invoices for domestic B2B transactions — invoices whose data is held in a machine-readable XML format that complies with the European standard EN 16931.
A genuine e-invoice within the meaning of the law is not a PDF sent by email. A PDF file without embedded XML data counts in law as a "sonstige Rechnung" (an other invoice) and does not meet the requirements.
The E-Rechnungspflicht timetable:
| Phase | Date | What applies |
|---|---|---|
| Obligation to receive | from 1 January 2025 | All domestic B2B companies must be able to receive structured e-invoices |
| Transitional phase | until 31 December 2026 | Paper and PDF invoices remain permitted where the recipient agrees |
| Obligation to issue (large companies) | from 1 January 2027 | Companies with prior-year turnover above €800,000 must send e-invoices |
| Obligation to issue (all companies) | from 1 January 2028 | All domestic B2B companies must send structured e-invoices |
The E-Rechnungspflicht applies to every company that generates domestic B2B turnover subject to Umsatzsteuer, German VAT, in Germany. Invoices for small amounts up to €250 are excluded (§ 33 UStDV), as are certain VAT-exempt transactions under § 4 UStG.
XRechnung vs ZUGFeRD: which format applies to your SME?
Germany has two primary e-invoicing formats that satisfy the EU standard EN 16931: XRechnung and ZUGFeRD. Both are fit for the mandate — but they differ fundamentally in structure and in use case.
XRechnung: the XML standard for B2B
XRechnung is a pure XML data format from the Koordinierungsgremium für IT-Standards (KoSIT), the German coordination body for IT standards, optimised specifically for the German market. It carries structured data only — with no visual rendering.
- Pure XML format (no human-readable rendering)
- Fully compliant with the EU standard EN 16931
- Mandatory format for invoices to public sector contracting authorities at federal level since November 2020
- Increasingly adopted by large groups as their preferred B2B format
ZUGFeRD: the hybrid alternative
ZUGFeRD is a hybrid format: a PDF/A file with embedded XML that complies with EN 16931. The invoice is both human-readable, as a PDF, and machine-readable, as XML.
- Hybrid: PDF/A with embedded XML — one file, two uses
- Mandatory profile for B2B compliance: EN 16931
- Compatible with the French Factur-X standard
- More straightforward to explain to trading partners, because the invoice looks like an ordinary PDF
Recommendation for SMEs: ZUGFeRD is the more pragmatic choice for most SMEs. XRechnung is strictly required for invoices to public sector contracting authorities.
Setting up e-invoicing in Odoo: step by step
Odoo 17 supports the German e-invoicing formats natively through the German localisation. The configuration is less demanding than many companies expect — provided the master data is complete and properly maintained.
Prerequisites: Odoo 17.0 or later, the German localisation activated, the "Accounting" app installed.
Step 1: activate electronic invoicing on the journal
- Go to Accounting → Configuration → Journals
- Open the Customer Invoices journal
- In the Advanced Settings tab, under Electronic Invoicing, select the format: ZUGFeRD or XRechnung (UBL)
- Save the settings
Step 2: record your company details in full
Under Settings → Companies, check that the following mandatory fields are complete:
- Full company address (street, postcode, town, country)
- VAT identification number (Umsatzsteuer-Identifikationsnummer, USt-IdNr.)
- IBAN and BIC for payment details
- Handelsregisternummer, the commercial register number (recommended)
Step 3: configure your customer master data
In your customer contacts, check the following: the full address, the USt-IdNr. for EU B2B transactions, and the Leitweg-ID, the routing identifier, for invoices to public sector contracting authorities.
Step 4: create and validate your first e-invoice
- Create a customer invoice: Accounting → Customers → Invoices → New
- Complete every mandatory field and click Confirm to post the invoice
- In the attachments of the posted invoice you will find the e-invoice: with ZUGFeRD as a PDF/A with embedded XML, with XRechnung as a separate XML file
- Validate conformity with the free KoSIT validator before your first live transmission
GoBD compliance and e-invoicing: what SMEs must observe
The GoBD — the German principles for the proper keeping and retention of books, records and documents in electronic form (BMF circular of 28 November 2019) — apply irrespective of the E-Rechnungspflicht, and they become particularly relevant in practice with the move to e-invoices.
- Retention obligation: 10 years for invoices (§ 147 AO, § 257 HGB) — in unaltered digital form
- Originality: e-invoices must be archived in their original format
- Immutability: no further changes are possible once the invoice is posted
- Verfahrensdokumentation: written documentation of the processing and archiving procedure is required
Odoo supports GoBD compliance through the lock function for posted invoices, a complete audit log and digital archiving. The GoBD Verfahrensdokumentation has to be drawn up for each company individually — doo.FINANCE can help you with that.
Advantages of the e-invoicing solution in Odoo
- Automatic processing of incoming invoices: Odoo reads the XML data out of ZUGFeRD and XRechnung documents automatically
- Faster payment processes: structured e-invoices are processed more quickly by customers
- Marked cost savings: printing costs, postage and physical archiving fall away entirely
- Fewer errors through automatic validation: mandatory fields and format conformity are checked before transmission
- Audit-proof archiving included: all posted invoices are stored in Odoo in GoBD-compliant form
How doo.FINANCE supports your SME
As an Odoo Gold Partner specialising in German SMEs, we accompany companies from the first configuration through to full E-Rechnung compliance.
- E-invoicing setup in Odoo: activation and configuration of ZUGFeRD and XRechnung
- Master data clean-up: making sure your customer and supplier data is fit for e-invoicing
- GoBD Verfahrensdokumentation: drafting the documentation required
- Data migration from DATEV: transferring your data into Odoo
- Training for your team: practice-oriented training for accounting and management
Become E-Rechnung-ready now: get in touch with our team. In a free initial consultation we review your current position and show you which steps are still missing. Contact us for a free call →
Frequently asked questions about e-invoicing in Odoo
Does the E-Rechnungspflicht also apply to Kleinunternehmer under § 19 UStG?
As a matter of principle, the obligation to receive has applied since 1 January 2025 to all domestic B2B companies. Kleinunternehmer under § 19 UStG — businesses under the German small-business scheme — are in many cases not affected by the obligation to issue; the obligation to receive, however, applies to them as well. If in doubt, consult your Steuerberater.
As an Odoo user, can I carry on sending PDFs by email?
During the transitional phase until 31 December 2026 that is still permitted with the recipient's consent. From January 2027 (companies with annual turnover above €800,000) and from January 2028 (all companies), the obligation to issue applies in full. Prepare now.
ZUGFeRD or XRechnung — which do you recommend for my SME?
For most SMEs we recommend ZUGFeRD, because the invoice appears as a readable PDF. XRechnung is mandatory for invoices to public sector contracting authorities. In Odoo you can configure different formats for different customers.
How long does it take to set up e-invoicing in Odoo?
The technical configuration usually takes a few hours. With support from doo.FINANCE, most SMEs are fully set up within one to two weeks.
