E-Rechnung senden in Odoo: XRechnung und ZUGFeRD
Kurz gesagt
In Odoo 19.0 und 20.0 legen Sie das E-Rechnungsformat beim Kunden fest (Reiter Accounting, Feld eInvoice format); das angebotene Format hängt laut Odoo-Dokumentation vom Land des Kunden ab, und für den Peppol-Versand nennt die Dokumentation nur BIS Billing 3.0, XRechnung CIUS und NLCIUS. Die Angaben zur erzeugten Datei sind nur für Community belegt: Im öffentlichen Quellcode der Zweige 19.0 und 20.0 stehen für Kunden in Deutschland die Formate Germany (XRechnung) und Germany (ZUGFeRD); Odoo erzeugt die XRechnung dort als eigene XML-Datei und führt sie als Peppol-Format, ZUGFeRD entsteht als PDF mit eingebettetem XML und ist nicht als Peppol-Format gekennzeichnet. Prüfen Sie die erzeugte Datei anschließend mit einem Validator.
Das Wichtigste
- Deutschland, Odoo 19.0 und 20.0: Die Formatwahl steht im Kundenformular, Reiter Accounting, Feld eInvoice format; das angebotene Format hängt laut Odoo-Dokumentation vom Kundenland ab, die beiden Deutschland-Formate Germany (XRechnung) und Germany (ZUGFeRD) sind im öffentlichen Community-Quellcode dem Ländercode DE zugeordnet.
- XRechnung erzeugt Odoo als eigene XML-Datei; im öffentlichen Community-Quellcode der Zweige 19.0 und 20.0 trägt der Datensatz die Kennung xrechnung_3.0.
- ZUGFeRD erzeugt Odoo nach dem öffentlichen Community-Quellcode (19.0 und 20.0) als PDF mit eingebettetem XML der Kennung factur-x.eu:1p0:extended (Profil EXTENDED); in PDF/A wandelt Odoo es nur für Aussteller in Deutschland oder Frankreich um.
- Für den Peppol-Versand nennt die Odoo-Dokumentation BIS Billing 3.0, XRechnung CIUS und NLCIUS; im öffentlichen Community-Quellcode von Odoo 19.0 und 20.0 ist ZUGFeRD kein Peppol-Format.
- XRechnung verlangt Telefonnummer und E-Mail des Ausstellers (BR-DE-6, BR-DE-7) und eine Käuferreferenz (BR-DE-15).
- XRechnung und ZUGFeRD ab 2.0.1 ohne MINIMUM und BASIC-WL erfüllen § 14 Abs. 1 Satz 6 UStG (BMF-Schreiben vom 15.10.2024, Rn. 25, 30).
Was Sie vorab brauchen
Odoo erzeugt die E-Rechnungsdatei aus einer bestätigten Rechnung und den Stammdaten der Beteiligten. Die Pflicht, in Deutschland überhaupt eine E-Rechnung auszustellen, ist gestuft und hängt von Empfänger, Umsatz und Jahr ab; die Fristen stehen in E-Rechnung in Deutschland: Pflicht und Odoo-Umsetzung. Formatwahl und Sendeweg beschreibt die Odoo-Dokumentation der Versionen 19.0 und 20.0; die Angaben zu Dateinamen, Kennungen und zur Umwandlung in PDF/A stammen aus dem öffentlichen Community-Quellcode beider Zweige. Für den Versand selbst halten Sie bereit:
- einen Kunden, der mit dem Land Deutschland geführt wird: Das im Sendefenster angebotene Format hängt laut Dokumentation vom Land des Kunden ab, die beiden Deutschland-Formate sind im öffentlichen Community-Quellcode dem Ländercode DE zugeordnet;
- Ihre Stammdaten als Aussteller: Name und Anschrift mit Ländercode (BR-6, BR-8, BR-9), Telefonnummer und E-Mail-Adresse (BR-DE-6, BR-DE-7) sowie Zahlungsangaben (BR-DE-1: Gruppe PAYMENT INSTRUCTIONS, BG-16). Im öffentlichen Community-Quellcode prüft Odoo vor dem Erzeugen der Datei die Telefonnummer und die E-Mail-Adresse des Ausstellers und verlangt für die ZUGFeRD-Datei zusätzlich ein an der Rechnung hinterlegtes Bankkonto mit Kontonummer sowie die USt-IdNr. des Ausstellers;
- für die Umwandlung des ZUGFeRD-PDF in PDF/A-3 ein Ausstellerunternehmen mit Land Deutschland oder Frankreich: Nur dann wandelt Odoo das PDF nach dem öffentlichen Community-Quellcode um;
- bei Rechnungen an öffentliche Auftraggeber der Bundesverwaltung die Leitweg-ID des Kunden, die er bei der Auftragserteilung mitteilt; die Vergabe der Leitweg-IDs ist auf Ebene von Bund und Ländern geregelt (FAQ E-Rechnung in der Bundesverwaltung, Abschnitt Leitweg-ID);
- für den Sendeweg Peppol eine abgeschlossene Registrierung Ihres Unternehmens im Peppol-Netz;
- die Rechnung selbst, zunächst als Entwurf.
Format wählen: XRechnung oder ZUGFeRD?
Beide Formate erfüllen nach dem BMF-Schreiben vom 15. Oktober 2024 die Anforderung des § 14 Abs. 1 Satz 6 UStG; die Entscheidung für eines von ihnen treffen nach Rn. 27 dieses Schreibens die Vertragsparteien. Die folgende Tabelle zeigt, was Odoo je Format erzeugt. Die Angaben zur ZUGFeRD-Datei und zu den Dateinamen sind – wie die übrigen Dateidetails – nur für Community belegt; die Odoo-Dokumentation beschreibt die Erzeugung nur allgemein.
| Merkmal | XRechnung | ZUGFeRD |
|---|---|---|
| Aufbau | reine XML-Datei, nicht in ein PDF eingebettet (FeRD) | PDF mit eingebettetem XML-Datensatz (UN/CEFACT CII); für Aussteller in Deutschland oder Frankreich wandelt Odoo das PDF in PDF/A-3 um |
| Syntax in Odoo | UBL (Builder erbt vom BIS-Billing-3.0-Builder) | CII |
| Kennung im Datensatz | urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0 |
urn:cen.eu:en16931:2017#conformant#urn:factur-x.eu:1p0:extended (Profil EXTENDED) |
| Datei aus Odoo | eigene XML-Datei …_xrechnung.xml |
PDF mit dem Eintrag factur-x.xml |
| Sendewege in Odoo | E-Mail oder Peppol | E-Mail; der öffentliche Community-Quellcode führt ZUGFeRD nicht als Peppol-Format |
| Verwendung | zentraler Standard im Umfeld öffentlicher Auftraggeber (FeRD) | hybrides Format für B2B-, B2G- und B2C-Rechnungen (FeRD) |
Die Zeilen zu Syntax, Kennung, Datei und Sendewegen sowie die PDF/A-Bedingung in der Zeile Aufbau stammen aus dem öffentlichen Community-Quellcode der Zweige 19.0 und 20.0; auch die beiden Formatnamen für Deutschland stehen dort. Die Formatbeschreibungen der Zeilen Aufbau und Verwendung folgen den Angaben von FeRD. Die Odoo-Dokumentation beschreibt die Erzeugung nur allgemein, nennt ZUGFeRD nicht und führt für den Peppol-Versand BIS Billing 3.0, XRechnung CIUS und NLCIUS; im Community-Quellcode ist XRechnung als Peppol-Format gekennzeichnet, ZUGFeRD nicht.
Ein hybrides Format fasst einen strukturierten Datenteil und einen für Menschen lesbaren Datenteil in einer Datei zusammen (BMF-Schreiben vom 15. Oktober 2024, Rn. 30; FeRD, Technisches zur E-Rechnung); bei ZUGFeRD ist das ein PDF mit eingebettetem XML-Datensatz in der Syntax UN/CEFACT CII, das nach der Formatdefinition von FeRD als PDF/A-3 ausgeführt ist. Für Zwecke der Umsatzsteuer ist der XML-Teil in Deutschland der führende Teil (Rn. 31). XRechnung ist nach der FeRD-Übersicht der in Deutschland zentrale Standard für elektronische Rechnungen im Umfeld öffentlicher Auftraggeber und ein reines XML-Format; ZUGFeRD lässt sich nach derselben Quelle im B2B-, B2G- und B2C-Verkehr einsetzen. Für ZUGFeRD nutzt Odoo den CII-Builder, der auch das französische Factur-X erzeugt; die XRechnung läuft über den UBL-Builder (Community-Quellcode, Zweige 19.0 und 20.0).
Schritt für Schritt: E-Rechnung aus Odoo senden
Schritt 1: Kundenformular öffnen
Gehen Sie auf Accounting ‣ Customers ‣ Customers und öffnen Sie den Kunden, für den die Rechnung bestimmt ist. Die Formatwahl sitzt im Reiter Accounting.
Schritt 2: Format und Sendeweg festlegen
Im Abschnitt Customer invoices wählen Sie im Feld eInvoice format das Format; die Dokumentation nennt das Feld an einer Stelle auch Format. Welche Auswahlwerte dort stehen, ist nur für Community belegt: Im öffentlichen Quellcode der Zweige 19.0 und 20.0 sind dem Ländercode DE die Werte Germany (XRechnung) und Germany (ZUGFeRD) zugeordnet. Im Feld Invoice sending wählen Sie by Email oder by Peppol. Die Dokumentation beschreibt, dass das angebotene Format vom Land des Kunden abhängt; nach demselben Quellcode schlägt Odoo bei Land Deutschland XRechnung vor, wenn beim Kunden eine Leitweg-ID hinterlegt ist.
Schritt 3: Nur für Peppol — Registrierung und Empfänger prüfen
Unter Accounting ‣ Configuration ‣ Settings finden Sie den Abschnitt PEPPOL Electronic Invoicing. Klicken Sie Activate Electronic Invoicing und tragen Sie die Peppol-Endpunktkennung ein; als Kennung nennt die Dokumentation die Handelsregister- oder die Umsatzsteuernummer. Tragen Sie außerdem E-Mail-Adresse und Telefonnummer mit Ländervorwahl ein. Die Registrierung wird laut Dokumentation innerhalb eines Tages freigeschaltet. Die Registrierung ist kostenlos und auch in Odoo Community möglich. Prüfen Sie danach im Kundenformular den Peppol-Endpunkt; mit Developer Mode und Verify zeigt Odoo an, ob der Empfänger im Peppol-Netz gefunden wird.
Schritt 4: Rechnung bestätigen
Bestätigen Sie die Rechnung. Die Dokumentation beschreibt das Erzeugen und Anhängen der E-Rechnungsdatei ausgehend von einer bestätigten Rechnung, und für den Versand über Peppol listet sie nur gebuchte Rechnungen auf.
Schritt 5: Senden und Sendeweg aktivieren
Klicken Sie auf Send. Im Fenster Print & Send aktivieren Sie die passende Option — by Email oder by Peppol — und klicken Sie auf Send. Odoo erzeugt dabei die E-Rechnungsdatei, hängt sie an die Rechnung und legt sie beim Versand bei.
Schritt 6: Datei entnehmen
Öffnen Sie die Rechnung und ihre Anhänge. Im öffentlichen Community-Quellcode der Zweige 19.0 und 20.0 trägt die XRechnungsdatei den Namen …_xrechnung.xml; beim ZUGFeRD-PDF ist der XML-Datensatz unter dem Namen factur-x.xml eingebettet. Fehlt ein Pflichtfeld, zeigt das Sendefenster nach demselben Quellcode die Meldung Errors occurred while creating the EDI document und nennt die betroffenen Felder; der Versand lässt sich trotzdem auslösen. Ergänzen Sie die Stammdaten und senden Sie erneut, damit die Rechnungsdatei entsteht.
So prüfen Sie das Ergebnis
- Datensatz vorhanden. Bei XRechnung muss eine XML-Datei an der Rechnung hängen, bei ZUGFeRD ein PDF, aus dem sich der eingebettete Datensatz
factur-x.xmlauslesen lässt (Aufbau und Einbettung nach dem öffentlichen Community-Quellcode der Zweige 19.0 und 20.0). Eine Datei, die die Anforderungen an das strukturierte Format nicht erfüllt, ist nach § 14 Abs. 1 Satz 4 UStG eine sonstige Rechnung. - Kennung prüfen. Öffnen Sie die Datei in einem Texteditor und vergleichen Sie die Kennung mit der Tabelle oben. Die XRechnung-Kennung endet auf
xrechnung_3.0; diese Version ist seit 1. Februar 2024 in Kraft und bleibt nach Angabe der KoSIT mindestens bis 31. Juli 2027 gültig. Die Vorversion der Spezifikation XRechnung 4.0 ist auf den 15. September 2026 datiert; die endgültige Fassung wird nach Angabe der KoSIT für das Frühjahr 2027 erwartet. - Pflichtangaben prüfen. Telefonnummer und E-Mail-Adresse des Ausstellers sind übermittlungspflichtig (BR-DE-6, BR-DE-7), das Element Buyer reference (BT-10) ebenfalls (BR-DE-15). Im öffentlichen Community-Quellcode belegt Odoo das Feld Buyer reference mit der am Kunden hinterlegten Referenz (
ref), ersatzweise mit der Referenz des übergeordneten Geschäftspartners; ist beim Kunden das Kennungsschema Germany Leitweg-ID (Code 0204) gewählt, setzt Odoo an diese Stelle die dort hinterlegte Leitweg-ID. Der Platzhalter „N/A“ steht nur dann in der Datei, wenn keine dieser Referenzen vorliegt. Für Rechnungen an öffentliche Auftraggeber der Bundesverwaltung erfassen Sie die Leitweg-ID deshalb im Kundenformular mit diesem Kennungsschema; bei anderen Empfängern hinterlegen Sie die mit dem Empfänger vereinbarte Käuferreferenz in der Referenz des Kunden. Die Vergabe der Leitweg-IDs ist auf Ebene von Bund und Ländern geregelt (FAQ E-Rechnung in der Bundesverwaltung, Abschnitt Leitweg-ID). - XRechnung validieren. Der Validator der KoSIT prüft die Datei gegen die Regeln der XRechnung; verwenden Sie ihn mit der aktuellen Validierungskonfiguration (Fassung vom 31. August 2026, für XRechnung 3.0). Zur Sichtprüfung können Sie die Datei außerdem im E-Rechnungs-Viewer der Steuerverwaltung ansehen; das ist laut Seite ein unverbindlicher Service.
- ZUGFeRD und EN 16931 prüfen. Lesen Sie zuerst den im PDF eingebetteten CII-Datensatz (
factur-x.xml, Einbettung nach dem öffentlichen Community-Quellcode) aus und wenden Sie darauf die EN-16931-Validierungsartefakte der Europäischen Kommission an; die Fassung 1.3.17 vom 12. Oktober 2026 unterstützt nach ihrer Release-Angabe die Validierung von UBL 2.1 und Cross Industry Invoice D16B.
Wenn etwas nicht klappt
| Symptom | Ursache | Abhilfe |
|---|---|---|
| Meldung „Errors occurred while creating the EDI document“ beim Senden | Pflichtangabe fehlt: Telefonnummer oder E-Mail-Adresse des Ausstellers (BR-DE-6, BR-DE-7), bei der ZUGFeRD-Datei zusätzlich das Bankkonto mit Kontonummer an der Rechnung (BR-DE-1) und die USt-IdNr. des Ausstellers (BR-CO-26) | Feld laut Meldung ergänzen, Rechnung erneut senden |
| Peppol-Status bleibt vor „Done“ stehen | Empfänger ist nicht als Peppol-Teilnehmer registriert oder die Endpunktkennung ist falsch | Endpunkt im Kundenformular mit Verify prüfen; sonst die Rechnung per E-Mail senden |
| Empfänger verlangt ZUGFeRD über Peppol | ZUGFeRD ist im öffentlichen Community-Quellcode von Odoo 19.0 und 20.0 kein Peppol-Format; die Dokumentation nennt für Peppol BIS Billing 3.0, XRechnung CIUS und NLCIUS | mit dem Empfänger XRechnung oder BIS Billing 3.0 vereinbaren |
| In der XRechnung steht als Buyer reference „N/A“ | Im öffentlichen Community-Quellcode füllt Odoo das Feld mit der am Kunden hinterlegten Referenz (ref) oder der Referenz des übergeordneten Geschäftspartners und setzt den Platzhalter erst, wenn keine davon vorhanden ist |
Am Kunden die mit dem Empfänger vereinbarte Käuferreferenz hinterlegen; bei Rechnungen an öffentliche Auftraggeber der Bundesverwaltung dort die bei der Auftragserteilung mitgeteilte Leitweg-ID des Kunden als Endpunktkennung mit dem Kennungsschema Germany Leitweg-ID (Code 0204) erfassen; Aussteller benötigen keine eigene Leitweg-ID, und die Vergabe der Leitweg-IDs ist auf Ebene von Bund und Ländern geregelt (FAQ E-Rechnung in der Bundesverwaltung, Abschnitt Leitweg-ID) |
Wann Sie Hilfe holen sollten
Welches zulässige Format Sie verwenden, ist eine zivilrechtliche Frage zwischen Ihnen und dem Empfänger (BMF-Schreiben vom 15. Oktober 2024, Rn. 27); bei öffentlichen Auftraggebern der Bundesverwaltung gibt der Kunde die bei der Auftragserteilung mitgeteilte Leitweg-ID vor, und die Vergabe der Leitweg-IDs ist auf Ebene von Bund und Ländern geregelt (FAQ E-Rechnung in der Bundesverwaltung, Abschnitt Leitweg-ID). Wenn ein Empfänger ein Format verlangt, das Odoo nicht erzeugt, oder wenn Ihr Validator Fehler zurückmeldet, die Sie nicht auf Stammdaten zurückführen können, klären Sie das mit Ihrer Steuerberatung oder einem Odoo-Partner. Für den Empfang und die Weiterverarbeitung eingehender E-Rechnungen siehe E-Rechnung empfangen und verarbeiten in Odoo; die Registrierung im Peppol-Netz beschreibt Peppol mit Odoo.