Sieben Regeln betreffen denselben Block. BR-49, BR-61 und BR-50 stammen aus der europäischen Norm EN 16931 und gelten für jedes Format; die BR-DE-Regeln gelten nur für XRechnung (KoSIT Schematron v2.6.0):
- BR-DE-1 (fatal): «Eine Rechnung (INVOICE) muss Angaben zu "PAYMENT INSTRUCTIONS" (BG-16) enthalten.» Ohne Zahlungsblock ist die XRechnung nicht gültig.
- BR-49 (fatal): «A Payment instruction (BG-16) shall specify the Payment means type code (BT-81).»
- BR-61 (fatal): «If the Payment means type code (BT-81) means SEPA credit transfer, Local credit transfer or Non-SEPA international credit transfer, the Payment account identifier (BT-84) shall be present.»
- BR-50 (fatal): «A Payment account identifier (BT-84) shall be present if Credit transfer (BG-17) information is provided in the Invoice.»
- BR-DE-23-a (fatal): «Wenn BT-81 "Payment means type code" einen Schlüssel für Überweisungen enthält (30, 58), muss BG-17 "CREDIT TRANSFER" übermittelt werden.»
- BR-DE-23-b (fatal): «Wenn BT-81 "Payment means type code" einen Schlüssel für Überweisungen enthält (30, 58), dürfen BG-18 und BG-19 nicht übermittelt werden.» Eine Überweisung darf nicht zugleich Kartendaten (BG-18) oder Lastschriftdaten (BG-19) enthalten.
- BR-DE-19 (Warnung): «"Payment account identifier" (BT-84) soll eine korrekte IBAN enthalten, wenn in "Payment means type code" (BT-81) mit dem Code 58 SEPA als Zahlungsmittel gefordert wird.» Es handelt sich um einen Hinweis: Bei Code 58 sollte das Konto eine gültige IBAN sein.

Die Zahlungsmittel, die Ihnen begegnen
- 30
- Überweisung (credit transfer). Den setzt Odoo bei einer Rechnung mit Empfängerbank.
- 58
- SEPA-Überweisung. Den setzt unser Modul XRechnung und ZUGFeRD.
- ZZZ
- Einvernehmlich festgelegt (mutually defined). Den setzt Odoo bei einer Rechnung ohne Bank.
- 57
- Dauerauftrag (standing agreement). Den setzt Odoo bei Gutschriften.
Was Odoo mit einer Rechnung macht
In Odoo 17, 18, 19 und 20 ist die Entscheidung dieselbe und hängt vom Feld Empfängerbank der Rechnung ab. Hat sie eine Bank, ist das Zahlungsmittel 30 und das Konto steht in BT-84: BR-61, BR-50 und BR-DE-23-a sind damit von selbst erfüllt. Ohne Bank ist das Zahlungsmittel ZZZ. Der Block BG-16 existiert, daher schlägt BR-DE-1 nicht an, aber die Rechnung sagt nicht, auf welches Konto gezahlt werden soll.
Außerdem wiederholt Odoo vor der Erzeugung der Datei die Prüfung von BR-61: Ist das Zahlungsmittel 30 oder 58 und hat die Rechnung keine Empfängerbank, stoppt es mit der Meldung zum Pflichtfeld. Mit der obigen Logik ist das schwer zu erreichen, doch ein Modul, das das Zahlungsmittel ändert, kann es auslösen.
Mit unserem Modul XRechnung und ZUGFeRD
Das Modul sieht nicht auf die Empfängerbank: Die Zahlungsanweisungen stammen aus der XRechnung-IBAN Ihres Unternehmens, mit Zahlungsmittel 58, der IBAN in BT-84 und der BIC, sofern vorhanden. Ist diese IBAN leer, erzeugt das Modul nichts und stoppt zuerst mit der Meldung «Company IBAN (BT-84) is required for XRechnung generation.». Mit dem Modul geht daher keine Rechnung ohne BG-16 hinaus.

In Odoo 18, 19 und 20 durchläuft mit dem Abonnement FlexigoTech Cloud jede erzeugte XRechnung zusätzlich die KoSIT-Regeln, und nur die bestandene Datei wird als Ready to send markiert. In Odoo 17 validiert die veröffentlichte Version nicht.
So beheben Sie es
- Wählen Sie in Odoo im Feld Empfängerbank der Rechnung das Bankkonto, auf das Sie einziehen, bevor Sie die XRechnung erzeugen.
- Tragen Sie mit unserem Modul die XRechnung-IBAN Ihres Unternehmens ein (und die BIC, falls Ihr Kunde sie verlangt).
- Prüfen Sie, ob die IBAN stimmt: Bei Zahlungsmittel 58 warnt BR-DE-19, wenn sie es nicht tut.
- Erzeugen Sie die XRechnung erneut; die bereits versandte bleibt unverändert.
Weiterlesen
Geprüft im Quellcode des Moduls (Version 17.0 und 20.0) und in den verlinkten Quellen
Quellen
- Quellcode des Moduls: flexigo_germany_xrechnung 20.0 (446f2f68): models/account_move.py
- github.com/odoo/odoo/blob/6f00fdadb875342de2d14a179f25431f93cd63c9/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/2982b5f44af03fae6a9888f20632c1cc19f623ba/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/4d2d4b5895db70596863df941d9a1f0beeb117f8/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/6f00fdadb875342de2d14a179f25431f93cd63c9/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/2982b5f44af03fae6a9888f20632c1cc19f623ba/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/4d2d4b5895db70596863df941d9a1f0beeb117f8/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/account_edi_ubl_
- Quellcode des Moduls: flexigo_germany_xrechnung 20.0 (446f2f68): lib/generators/ubl_generator.py
- Quellcode des Moduls: flexigo_germany_xrechnung 20.0 (446f2f68): models/xrechnung_cloud.py
- Quellcode des Moduls: flexigo_germany_xrechnung 17.0 (ad05de8f): __manifest__.py
- github.com/ConnectingEurope/eInvoicing-EN16931/releases/tag/validation-1.3.17
- github.com/itplr-kosit/xrechnung-schematron/releases/tag/v2.6.0
