Tax

Setting Up XRechnung in Odoo: The 2026 Practical Guide for the Mittelstand

The doo.FINANCE team· 8 mininfX

Since 1 January 2025, every company established in Germany must be able to receive electronic invoices from other businesses — a PDF invoice sent by e-mail is no longer sufficient in a B2B context once the sender issues a structured invoice. For many Mittelstand companies, that is only the beginning: from 2027, the obligation to issue them follows in stages. Setting your ERP up correctly now turns a statutory requirement into a process you can document and defend.

At doo.FINANCE, an Odoo Gold Partner and consultancy for finance and compliance, we set up e-invoicing processes for the German Mittelstand on a regular basis. This guide shows you precisely how to set up XRechnung in Odoo — from the deadlines through the localisation to compliant dispatch.

What is XRechnung – and who needs it?

The XRechnung is a purely structured, XML-based invoice format. It follows a semantic data model based on the European standard EN 16931 and was originally developed for the public sector (B2G). Unlike a PDF, an XRechnung is not intended to be looked at but to be processed automatically: systems read the amount, the tax, the service data and the payment terms directly.

For the B2B world, one point is decisive: an E-Rechnung — an electronic invoice in the legal sense — is precisely such a structured invoice (XRechnung, or the hybrid ZUGFeRD format), and not a plain PDF. Anyone who already invoices public authorities knows the XRechnung; with the E-Rechnungspflicht, Germany's e-invoicing mandate, it now moves to the centre of every Mittelstand accounting function.

E-Rechnungspflicht: the deadlines at a glance

The obligation was enacted through the Wachstumschancengesetz (the Growth Opportunities Act, promulgated on 27 March 2024) and anchored in § 14 UStG, the German VAT Act. The timetable is staggered:

  • Since 1 January 2025: all companies established in Germany must be able to receive electronic invoices.
  • Transitional rule until the end of 2026: paper and other formats remain permissible with the recipient's consent.
  • From 1 January 2027: companies with a prior-year turnover above €800,000 (2024 as the reference year) must issue electronic invoices.
  • For companies up to €800,000, the transitional period is extended until the end of 2027.
  • From 1 January 2028: the obligation to issue applies in principle to all domestic B2B companies.

The obligation to receive therefore already applies — irrespective of your size. A properly configured Odoo ensures that incoming XRechnung files are read and posted correctly, and that you generate outgoing electronic invoices on time and in a compliant format.

Setting up XRechnung in Odoo: step by step

Activate the German localisation and the formats

The foundation is the German localisation. As soon as Germany is recorded as the company's country, Odoo installs the German fiscal package (chart of accounts, taxes, tax reports). You then make the required format available for e-invoicing: Odoo supports both "XRechnung UBL (Germany)" and ZUGFeRD/Factur-X (a hybrid PDF/A-3 invoice with embedded XML).

In practice, you activate the format in the invoicing journal: in the journal settings for customer invoices, you select the e-invoicing format your customers require — for purely structured invoices, the "XRechnung UBL (Germany)" option.

Keep master data and the electronic address in order

An XRechnung is valid only if the mandatory fields are complete. Pay close attention, therefore, to clean master data:

  • the complete company and customer address (street, postcode, town, country);
  • the Umsatzsteuer-Identifikationsnummer — the German VAT identification number — or the tax number;
  • an electronic address for the recipient (for example the e-mail address used as routing information);
  • for invoices to public authorities, the Leitweg-ID, the routing identifier of the contracting public body.

Missing or incorrect master data is the most frequent reason for rejected electronic invoices. A short data check before you go live saves a great many corrections afterwards.

Creating and sending an XRechnung

Once everything is configured, the XRechnung arises in the normal invoicing run: you enter the customer invoice as usual, and Odoo generates the structured file in the chosen format when the invoice is posted. Before the first live dispatch, use a test invoice to verify that all lines, tax rates and recipient details are carried over correctly — errors are harder to detect in XML than in the Odoo accounting view.

XRechnung or ZUGFeRD – which format?

Both formats satisfy the EN 16931 standard and qualify as an electronic invoice. The difference lies in the presentation:

  • XRechnung is purely structured (XML only). It is the standard in the public sector and frequently mandatory there.
  • ZUGFeRD is a hybrid format: a human-readable PDF with embedded XML. That eases the transition, because recipients without structured processing still see a PDF.

For day-to-day B2B work, ZUGFeRD is often the more pragmatic option, whereas public-sector customers frequently require the XRechnung. Because Odoo handles both formats, you can select the appropriate one for each customer — a clear advantage over standalone tools.

Do not overlook GoBD compliance

The electronic invoice is only one part of the obligation. Electronic invoices fall under the GoBD — the German principles for the proper keeping and retention of books and records in electronic form. Among other things, that means: retention in an unalterable form, traceability, and machine-readability throughout the retention period.

An integrated system such as Odoo helps here, because invoice, journal entry and supporting document remain connected and can be documented in an audit-proof manner. Even so, the technical capability does not replace sound process documentation (Verfahrensdokumentation). Have your setup reviewed by a specialist before you go live.

From DATEV to Odoo: what the move means

Many Mittelstand companies work with DATEV — often in cooperation with their Steuerberater, the German tax adviser. Moving to Odoo does not mean abandoning that cooperation: Odoo can be set up so that accounting data remains available to your Steuerberater, while you consolidate invoicing, payments and reporting in a single system.

A clean migration follows a proven sequence: transfer the chart of accounts and balances, import the master data, configure taxes and formats (XRechnung/ZUGFeRD), and run a short parallel phase as a control. For many companies, the E-Rechnungspflicht is the occasion to take this step in a structured way now, rather than adding yet another standalone tool.

What happens in the event of a breach of the E-Rechnungspflicht?

The electronic invoice is not a formality. If a company cannot issue a compliant electronic invoice from the applicable cut-off date, practical and tax consequences follow — queries from the Finanzamt, Germany's local tax office, for instance, or disputes over proper invoice evidence.

The receiving side matters just as much: a company that cannot process incoming electronic invoices risks delays and errors in its input VAT deduction. An Odoo configured in good time ensures that you issue in the required form and post structured incoming invoices correctly — and that you remain on the safe side.

Frequently asked questions (FAQ)

From when must my company issue electronic invoices?

The obligation to receive has applied to everyone since 1 January 2025. The obligation to issue begins on 1 January 2027 for companies with a prior-year turnover above €800,000 (2024 as the reference year). For smaller companies, the transitional period is extended until the end of 2027; from 1 January 2028 the obligation applies in principle to all domestic B2B companies.

Is a PDF sent by e-mail a valid electronic invoice?

No. An electronic invoice in the legal sense is a structured invoice compliant with EN 16931 — that is, an XRechnung (pure XML) or ZUGFeRD (a PDF with embedded XML). A plain PDF counts as an "other invoice" and is permissible only within the scope of the transitional arrangements.

Does Odoo really support the XRechnung natively?

Yes. The "XRechnung UBL (Germany)" format can be activated in the journal settings for customer invoices; Odoo additionally supports ZUGFeRD/Factur-X. The prerequisites are the German localisation and complete master data, including the electronic address.

What is the difference between XRechnung and ZUGFeRD?

The XRechnung is purely structured (XML only) and is frequently mandatory in the public sector. ZUGFeRD is a hybrid format: a readable PDF with embedded XML. Both satisfy EN 16931. In Odoo you can select the appropriate format for each customer.

What must I observe in relation to the GoBD?

Electronic invoices must be archived in an unalterable, traceable and machine-readable form throughout the entire retention period. An integrated system such as Odoo supports this, but it does not replace process documentation. Have your setup reviewed by a specialist.

XRechnung in Odoo — properly set up, audit-proof

doo.FINANCE configures your German localisation, activates XRechnung and ZUGFeRD, and supports you in a GoBD-compliant way through to secure live operation. Let us discuss your setup.

Contact us for a free call →

This article is provided for general information only and does not constitute tax or legal advice. Deadlines and statutory requirements can change and depend on your own situation. Please consult a qualified adviser before making any decisions.

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 →