Der Text von BR-CO-09 im Schematron der EN 16931 (validation-1.3.17), Schweregrad fatal: „The Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48) shall have a prefix in accordance with ISO code ISO 3166-1 alpha-2 by which the country of issue may be identified. Nevertheless, Greece may use the prefix ‘EL’.“
Die Regel betrifft drei Nummern: Ihre eigene (BT-31), die Ihres Steuervertreters, falls Sie einen haben (BT-63), und die des Kunden (BT-48). Griechenland ist die Ausnahme: Dort darf EL statt GR verwendet werden.

Die Regeln, die die Nummer verlangen
BR-CO-09 prüft das Format. Die folgenden anderen prüfen, dass die Nummer vorhanden ist, und hängen von der USt-Kategorie der Positionen ab:
| Regel | Wann sie gilt | Text |
|---|---|---|
| BR-CO-26 | Immer | In order for the buyer to automatically identify a supplier, the Seller identifier (BT-29), the Seller legal registration identifier (BT-30) and/or the Seller VAT identifier (BT-31) shall be present. |
| BR-S-02 | Positionen zum Regelsteuersatz | An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Standard rated" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63). |
| BR-AE-02 | Reverse Charge | An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Reverse charge" shall contain the Seller VAT Identifier (BT-31), the Seller Tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48) and/or the Buyer legal registration identifier (BT-47). |
| BR-IC-02 | Innergemeinschaftliche Lieferung | An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Intra-community supply" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48). |
Alle vier sind fatal. Beachten Sie den Unterschied: Bei einem Verkauf zum Regelsteuersatz genügt Ihre Nummer; bei einem Reverse-Charge-Verkauf oder einer innergemeinschaftlichen Lieferung wird zusätzlich die des Kunden benötigt.
Was Odoo prüft
Vor der Erstellung der Datei prüft Odoo, ob die USt-IdNr. Ihres Unternehmens und die des Kunden mit zwei Buchstaben beginnen. Falls nicht, warnt es mit „The VAT of the %s should be prefixed with its country code.“, wobei %s „supplier“ oder „customer“ ist. In Odoo 17 läuft diese Prüfung nur für drei Formate, Peppol BIS, XRechnung und NLCIUS (das niederländische Format); in Odoo 18, 19 und 20 liegt sie in der gemeinsamen EN-16931-Schicht.
Die Prüfung sieht nur auf vorangestellte Buchstaben. Ob es die richtigen Ländercodes sind oder ob die Nummer gültig ist, prüft diese Regel nicht.
So schreiben Sie es in Odoo
- Richtig
- Die Nummer so, wie das USt-Register des jeweiligen Landes sie führt, mit den zwei Buchstaben davor: DE für Deutschland, FR für Frankreich, BE für Belgien, NL für die Niederlande.
- Falsch
- Die Nummer ohne Buchstaben, mit Leerzeichen oder Punkten dazwischen oder mit dem Präfix eines anderen Landes.
- Griechenland
- EL davor, nicht GR: die Ausnahme, die die Regel selbst nennt.
Mit unserem Modul XRechnung und ZUGFeRD

In Odoo 18, 19 und 20 wird mit dem Abonnement FlexigoTech Cloud jede XRechnung und jede ZUGFeRD EN 16931, die das Modul erzeugt, gegen die KoSIT-Regeln geprüft, die auch die der EN 16931 einschließen: Eine USt-IdNr. ohne Präfix erscheint unter Validation Errors als BR-CO-09, und die Rechnung wird nicht als Ready to send markiert. In Odoo 17 validiert die veröffentlichte Version nicht.
Was zu korrigieren ist
- Öffnen Sie den Datensatz, den die Meldung nennt: Ihr Unternehmen (supplier) oder den Kunden (customer).
- Tragen Sie die USt-IdNr. mit dem Ländercode ein, ohne Leerzeichen.
- Bei Reverse Charge oder einem Verkauf in ein anderes EU-Land prüfen Sie zusätzlich die Nummer des Kunden.
- Erzeugen Sie die Datei erneut.
Weiterlesen
Geprüft im Quellcode des Moduls (Version 17.0 und 20.0) und in den verlinkten Quellen
Quellen
- 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): 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
