Tekst BR-CO-09 w Schematronie EN 16931 (validation-1.3.17), z poziomem krytycznym 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’.”
Dotyczy trzech numerów: Twojego (BT-31), Twojego przedstawiciela podatkowego, jeśli go masz (BT-63), oraz nabywcy (BT-48). Grecja jest wyjątkiem: może użyć EL zamiast GR.

Reguły wymagające numeru
BR-CO-09 sprawdza format. Pozostałe sprawdzają, czy numer w ogóle jest, i zależą od kategorii VAT pozycji:
| Reguła | Kiedy ma zastosowanie | Tekst |
|---|---|---|
| BR-CO-26 | Zawsze | 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 | Pozycje ze stawką podstawową | 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 | Odwrotne obciążenie | 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 | Dostawa wewnątrzwspólnotowa | 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). |
Wszystkie cztery są krytyczne. Zwróć uwagę na różnicę: sprzedaż po stawce podstawowej wymaga tylko Twojego numeru, a odwrotne obciążenie lub dostawa wewnątrzwspólnotowa wymaga też numeru klienta.
Co sprawdza Odoo
Zanim wygeneruje plik, Odoo sprawdza, czy numer VAT Twojej firmy i klienta zaczyna się od dwóch liter. Jeśli nie, ostrzega komunikatem „The VAT of the %s should be prefixed with its country code.”, z „supplier” lub „customer”. W Odoo 17 to sprawdzenie działa tylko dla trzech formatów: Peppol BIS, XRechnung i NLCIUS (holenderski format); w Odoo 18, 19 i 20 znajduje się we wspólnej warstwie EN 16931.
Ostrzeżenie patrzy tylko na to, czy na początku są litery. Czy to właściwy kraj i czy numer jest poprawny, ta reguła już nie sprawdza.
Jak to wpisać w Odoo
- Dobrze
- Numer tak, jak publikuje go rejestr VAT danego kraju, z dwiema literami na początku: DE dla Niemiec, FR dla Francji, BE dla Belgii, NL dla Holandii.
- Źle
- Numer bez liter, ze spacjami lub kropkami w środku albo z prefiksem innego kraju.
- Grecja
- EL na początku, nie GR: wyjątek, który sama reguła przewiduje.
Z naszym modułem XRechnung i ZUGFeRD

W Odoo 18, 19 i 20, z subskrypcją FlexigoTech Cloud, każdy XRechnung i każdy ZUGFeRD EN 16931 wygenerowany przez moduł jest walidowany regułami KoSIT, które obejmują także te z EN 16931: numer VAT bez prefiksu pojawia się jako BR-CO-09 w Validation Errors i faktura nie dostaje statusu Ready to send. W Odoo 17 opublikowana wersja nie waliduje.
Co poprawić
- Otwórz kartę wskazaną w komunikacie: Twoją firmę (supplier) lub klienta (customer).
- Wpisz numer VAT z prefiksem kraju, bez spacji.
- Przy odwrotnym obciążeniu lub sprzedaży do innego kraju UE sprawdź także numer klienta.
- Wygeneruj plik ponownie.
Czytaj dalej
Sprawdzone w kodzie źródłowym modułu (wersja 17.0 i 20.0) i w podlinkowanych źródłach
Źródła
- 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_
- Kod modułu: flexigo_germany_xrechnung 20.0 (446f2f68): models/xrechnung_cloud.py
- Kod modułu: flexigo_germany_xrechnung 17.0 (ad05de8f): __manifest__.py
- github.com/ConnectingEurope/eInvoicing-EN16931/releases/tag/validation-1.3.17
