El text de BR-CO-09 al Schematron de EN 16931 (validation-1.3.17), amb gravetat 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’.»
Afecta tres números: el teu (BT-31), el del teu representant fiscal si en tens (BT-63) i el del client (BT-48). Grècia és l'excepció: pot usar EL en lloc de GR.

Les regles que demanen el número
BR-CO-09 mira el format. Aquestes altres miren que el número hi sigui, i depenen de la categoria d'IVA de les línies:
| Regla | Quan aplica | Text |
|---|---|---|
| BR-CO-26 | Sempre | 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 | Línies al tipus general | 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 | Inversió del subjecte passiu | 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 | Lliurament intracomunitari | 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). |
Les quatre són fatals. Fixa't en la diferència: en una venda al tipus general només cal el teu número; en una inversió del subjecte passiu o en un lliurament intracomunitari, també el del client.
Què comprova Odoo
Abans de generar el fitxer, Odoo mira que el número d'IVA de la teva empresa i el del client comencin per dues lletres. Si no, avisa amb «The VAT of the %s should be prefixed with its country code.», amb «supplier» o «customer». A Odoo 17 aquesta comprovació només corre en tres formats, Peppol BIS, XRechnung i NLCIUS (el format dels Països Baixos); a Odoo 18, 19 i 20 és a la capa comuna de EN 16931.
L'avís només mira que hi hagi lletres davant. Que siguin les del país correcte, o que el número sigui vàlid, ja no ho comprova aquesta regla.
Com escriure'l a Odoo
- Bé
- El número tal com el publica el registre d'IVA de cada país, amb les seves dues lletres davant: DE per a Alemanya, FR per a França, BE per a Bèlgica, NL per als Països Baixos.
- Malament
- El número sense lletres, amb espais o punts al mig, o amb el prefix d'un altre país.
- Grècia
- EL davant, no GR: és l'excepció que recull la pròpia regla.
Amb el nostre mòdul XRechnung i ZUGFeRD

A Odoo 18, 19 i 20, amb la subscripció a FlexigoTech Cloud, cada XRechnung i cada ZUGFeRD EN 16931 que genera el mòdul es valida amb les regles de KoSIT, que inclouen les de EN 16931: un NIF-IVA sense prefix queda com BR-CO-09 a Validation Errors i la factura no es marca com Ready to send. A Odoo 17, la versió publicada no valida.
Què corregir
- Obre la fitxa que diu l'avís: la teva empresa (supplier) o el client (customer).
- Escriu el número d'IVA amb el prefix del país, sense espais.
- Si és una inversió del subjecte passiu o una venda a un altre país de la UE, comprova també el número del client.
- Torna a generar el fitxer.
Continua llegint
Comprovat al codi del mòdul (versió 17.0 i 20.0) i a les fonts enllaçades
Fonts
- 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_
- Codi del mòdul: flexigo_germany_xrechnung 20.0 (446f2f68): models/xrechnung_cloud.py
- Codi del mòdul: flexigo_germany_xrechnung 17.0 (ad05de8f): __manifest__.py
- github.com/ConnectingEurope/eInvoicing-EN16931/releases/tag/validation-1.3.17
