DeutschlandAnleitung

E-Rechnung senden in Odoo: XRechnung und ZUGFeRD

Rechtsstand: · Aktualisiert:

Gilt für: Odoo 19.0/20.0, Community und Enterprise; Datei- und ZUGFeRD-Details nur für Community belegt; Odoo Online, Odoo.sh, On-Premise; Modul account_edi_ubl_cii

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

  1. 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.xml auslesen 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.
  2. 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.
  3. 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).
  4. 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.
  5. 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.

Häufige Fragen

Kann ich ZUGFeRD aus Odoo über Peppol senden?

Nach der Odoo-Dokumentation sind über Peppol BIS Billing 3.0, XRechnung CIUS und NLCIUS versendbar; ZUGFeRD nennt sie dort nicht. Auch im öffentlichen Community-Quellcode von Odoo 19.0 und 20.0 ist ZUGFeRD nicht als Peppol-Format gekennzeichnet; für Community bleibt daher der E-Mail-Versand mit der PDF-Datei, in der der XML-Datensatz eingebettet ist.

Muss ich die XML-Datei zusätzlich zur PDF-Rechnung mitschicken?

Im öffentlichen Community-Quellcode bettet Odoo bei ZUGFeRD die Rechnungsdaten als Eintrag factur-x.xml in das PDF ein; eine zusätzliche XML-Datei ist dann nicht nötig. Bei XRechnung entsteht eine eigene XML-Datei; Sie schicken sie als Anhang mit oder übermitteln sie über Peppol, je nachdem, was Sie mit dem Empfänger vereinbart haben.

Reicht ein PDF ohne XML als E-Rechnung für Geschäftskunden in Deutschland?

Nein. Ein PDF ohne strukturierten Datenteil ist eine sonstige Rechnung; für Leistungen an inländische Unternehmer verlangt § 14 Abs. 1 Satz 6 UStG eines der beiden strukturierten Formatwege. Ob und ab wann Sie eine E-Rechnung ausstellen müssen, hängt von Empfänger, Umsatz und Jahr ab (§ 14 Abs. 2, § 27 Abs. 38 UStG).

Quellen

  1. Electronic invoicing (EDI), Odoo 19.0 DokumentationOdoo S.A. · abgerufen am
  2. Electronic invoicing (EDI), Odoo 20.0 DokumentationOdoo S.A. · abgerufen am
  3. Standard and extended support (Versions- und Erscheinungstabelle), Odoo 20.0 DokumentationOdoo S.A. · abgerufen am
  4. Odoo-Quellcode, Modul account_edi_ubl_cii, res_partner.py, Zweig 19.0 (Community)Odoo S.A. (GitHub) · abgerufen am
  5. Odoo-Quellcode, Modul account_edi_ubl_cii, res_partner.py, Zweig 20.0 (Community)Odoo S.A. (GitHub) · abgerufen am
  6. Odoo-Quellcode, account_edi_xml_ubl_xrechnung.py (Kennung xrechnung_3.0, Buyer reference aus der Leitweg-ID, Prüfungen für Telefon und E-Mail), Zweig 19.0 und 20.0 (Community)Odoo S.A. (GitHub) · abgerufen am
  7. Odoo-Quellcode, account_edi_ubl_pint.py (Buyer reference aus der Kundenreferenz), Zweig 19.0 (Community)Odoo S.A. (GitHub) · abgerufen am
  8. Odoo-Quellcode, account_edi_ubl_pint.py (Buyer reference aus der Kundenreferenz), Zweig 20.0 (Community)Odoo S.A. (GitHub) · abgerufen am
  9. Odoo-Quellcode, account_edi_cii.py (Guideline-Kennung des CII-Datensatzes), Zweig 19.0 (Community)Odoo S.A. (GitHub) · abgerufen am
  10. Odoo-Quellcode, account_edi_cii.py (Guideline-Kennung des CII-Datensatzes), Zweig 20.0 (Community)Odoo S.A. (GitHub) · abgerufen am
  11. Odoo-Quellcode, account_edi_xml_cii_facturx.py (CII-Builder für ZUGFeRD, Prüfung der Zahlungsangaben), Zweige 19.0 und 20.0 (Community)Odoo S.A. (GitHub) · abgerufen am
  12. Odoo-Quellcode, account_move_send.py (Einbetten der XML in das PDF als factur-x.xml, PDF/A-Umwandlung), Zweig 19.0 (Community)Odoo S.A. (GitHub) · abgerufen am
  13. Odoo-Quellcode, account_move_send.py (Einbetten der XML in das PDF als factur-x.xml, PDF/A-Umwandlung), Zweig 20.0 (Community)Odoo S.A. (GitHub) · abgerufen am
  14. Odoo-Quellcode, account/models/partner.py (Felder Invoice sending und eInvoice format), Zweig 19.0 (Community)Odoo S.A. (GitHub) · abgerufen am
  15. XRechnung – Versionen und BundlesKoordinierungsstelle für IT-Standards (KoSIT), Senator für Finanzen Bremen · abgerufen am
  16. XRechnung Version 3.0.2, Fassung vom 20. Juni 2024 (Regeln BR-DE-6, BR-DE-7, BR-DE-15, BR-DE-1)Koordinierungsstelle für IT-Standards (KoSIT) · abgerufen am
  17. Validator für XRechnung (v1.6.3, veröffentlicht am 20. August 2026)Koordinierungsstelle für IT-Standards (KoSIT), GitHub · abgerufen am
  18. Validator Configuration 2026-08-31, kompatibel mit XRechnung 3.0Koordinierungsstelle für IT-Standards (KoSIT), GitHub · abgerufen am
  19. E-Rechnung ansehen (Viewer der Steuerverwaltung)Bayerisches Landesamt für Steuern – ELSTER · abgerufen am
  20. EN16931 Validation artefacts v1.3.17 (UBL 2.1 und Cross Industry Invoice D16B), veröffentlicht am 12. Oktober 2026Europäische Kommission (ConnectingEurope, GitHub) · abgerufen am
  21. ZUGFeRD/Factur-X: Was ist ZUGFeRD?Forum elektronische Rechnung Deutschland (FeRD), AWV e.V. · abgerufen am
  22. Technisches zur E-Rechnung (Formate, hybrider Aufbau, Vorrang des strukturierten Teils)Forum elektronische Rechnung Deutschland (FeRD), AWV e.V. · abgerufen am
  23. FAQ E-Rechnung in der Bundesverwaltung, Abschnitt Leitweg-ID (Leitweg-ID auf jeder E-Rechnung an öffentliche Auftraggeber der Bundesverwaltung; keine eigene Leitweg-ID für Rechnungssteller; Vergabe auf Ebene von Bund und Ländern geregelt)Beschaffungsamt des BMI, e-rechnung-bund.de · abgerufen am
  24. § 14 Umsatzsteuergesetz (UStG), Ausstellung von RechnungenBundesministerium der Justiz, Gesetze im Internet · abgerufen am
  25. BMF-Schreiben vom 15. Oktober 2024 (III C 2 - S 7287-a/23/10001 :007), Rn. 25, 27, 30 und 31 (Kopie des Bayerischen Landesamts für Steuern)Bundesministerium der Finanzen · abgerufen am