Il testo di BR-CO-09 nello Schematron di EN 16931 (validation-1.3.17), con gravità 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’.»
Riguarda tre numeri: il tuo (BT-31), quello del tuo rappresentante fiscale se ce l'hai (BT-63) e quello del cliente (BT-48). La Grecia è l'eccezione: può usare EL al posto di GR.

Le regole che richiedono il numero
BR-CO-09 controlla il formato. Queste altre verificano che il numero ci sia, e dipendono dalla categoria IVA delle righe:
| Regola | Quando si applica | Testo |
|---|---|---|
| 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 | Righe ad aliquota ordinaria | 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 | Inversione contabile | 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 | Cessione intracomunitaria | 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). |
Tutte e quattro sono fatal. Nota la differenza: in una vendita ad aliquota ordinaria basta il tuo numero; in un'inversione contabile o in una cessione intracomunitaria serve anche quello del cliente.
Cosa controlla Odoo
Prima di generare il file, Odoo verifica che la partita IVA della tua azienda e quella del cliente inizino con due lettere. In caso contrario avvisa con «The VAT of the %s should be prefixed with its country code.», con «supplier» o «customer». In Odoo 17 questo controllo gira solo per tre formati, Peppol BIS, XRechnung e NLCIUS (il formato dei Paesi Bassi); in Odoo 18, 19 e 20 si trova nel livello comune di EN 16931.
L'avviso controlla solo che ci siano lettere davanti. Che siano quelle del paese giusto, o che il numero sia valido, non è qualcosa che questa regola verifica.
Come scriverla in Odoo
- Giusto
- Il numero così come lo pubblica il registro IVA di ciascun paese, con le sue due lettere davanti: DE per la Germania, FR per la Francia, BE per il Belgio, NL per i Paesi Bassi.
- Sbagliato
- Il numero senza lettere, con spazi o punti in mezzo, o con il prefisso di un altro paese.
- Grecia
- EL davanti, non GR: è l'eccezione che la regola stessa riporta.
Con il nostro modulo XRechnung e ZUGFeRD

In Odoo 18, 19 e 20, con l'abbonamento a FlexigoTech Cloud, ogni XRechnung e ogni ZUGFeRD EN 16931 generato dal modulo viene validato con le regole di KoSIT, che includono quelle di EN 16931: una partita IVA senza prefisso compare come BR-CO-09 in Validation Errors e la fattura non viene segnata come Ready to send. In Odoo 17, la versione pubblicata non valida.
Cosa correggere
- Apri la scheda indicata dall'avviso: la tua azienda (supplier) o il cliente (customer).
- Scrivi la partita IVA con il prefisso del paese, senza spazi.
- In caso di inversione contabile o di vendita verso un altro paese UE, controlla anche il numero del cliente.
- Genera di nuovo il file.
Continua a leggere
Verificato nel codice del modulo (versione 17.0 e 20.0) e nelle fonti collegate
Fonti
- 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_
- Codice del modulo: flexigo_germany_xrechnung 20.0 (446f2f68): models/xrechnung_cloud.py
- Codice del modulo: flexigo_germany_xrechnung 17.0 (ad05de8f): __manifest__.py
- github.com/ConnectingEurope/eInvoicing-EN16931/releases/tag/validation-1.3.17
