Tax

E-invoicing with Odoo: the complete 2025 guide for SMEs

The doo.FINANCE team· 7 mininfX

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 receivefrom 1 January 2025All domestic B2B companies must be able to receive structured e-invoices
Transitional phaseuntil 31 December 2026Paper and PDF invoices remain permitted where the recipient agrees
Obligation to issue (large companies)from 1 January 2027Companies with prior-year turnover above €800,000 must send e-invoices
Obligation to issue (all companies)from 1 January 2028All 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

  1. Go to Accounting → Configuration → Journals
  2. Open the Customer Invoices journal
  3. In the Advanced Settings tab, under Electronic Invoicing, select the format: ZUGFeRD or XRechnung (UBL)
  4. 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

  1. Create a customer invoice: Accounting → Customers → Invoices → New
  2. Complete every mandatory field and click Confirm to post the invoice
  3. 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
  4. 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.

Let's take action

A question about your accounting?

A free first consultation with a doo.FINANCE expert to review your situation.

Book a call →