Saltar al contenido principal
EN 16931 · identificadores

Error BR-CO-09: el NIF-IVA del vendedor o del cliente no lleva el prefijo del país

En una factura electrónica europea, el número de IVA va siempre con las dos letras del país delante: DE, FR, BE, NL… BR-CO-09 es la regla que lo exige, y casi siempre salta porque en la ficha del contacto el número está escrito sin prefijo. A su alrededor hay otras cuatro reglas que piden que ese número exista, según el tipo de IVA de la factura.

FlexigoTech · Responsable: Víctor Gómez · Actualizado el 4 de noviembre de 2026

Lo esencial

Versiones
Odoo 17, 18, 19 y 20
Comprobado
en el código del módulo, versión 17.0 y 20.0 · en las fuentes enlazadas al final
Lectura
3 min

El texto de BR-CO-09 en el Schematron de EN 16931 (validation-1.3.17), con gravedad 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 a tres números: el tuyo (BT-31), el de tu representante fiscal si lo tienes (BT-63) y el del cliente (BT-48). Grecia es la excepción: puede usar EL en vez de GR.

Tarjeta de la regla BR-CO-09 de EN 16931
El prefijo ISO 3166-1 en los NIF-IVA del vendedor, del representante y del comprador.

Las reglas que piden el número

BR-CO-09 mira el formato. Estas otras miran que el número esté, y dependen de la categoría de IVA de las líneas:

ReglaCuándo aplicaTexto
BR-CO-26SiempreIn 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-02Líneas al tipo generalAn 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-02Inversión del sujeto pasivoAn 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-02Entrega intracomunitariaAn 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).

Las cuatro son fatales. Fíjate en la diferencia: en una venta al tipo general solo hace falta tu número; en una inversión del sujeto pasivo o en una entrega intracomunitaria, también el del cliente.

Lo que comprueba Odoo

Antes de generar el fichero, Odoo mira que el número de IVA de tu empresa y el del cliente empiecen por dos letras. Si no, avisa con «The VAT of the %s should be prefixed with its country code.», con «supplier» o «customer». En Odoo 17 esa comprobación solo corre en tres formatos, Peppol BIS, XRechnung y NLCIUS (el formato de Países Bajos); en Odoo 18, 19 y 20 está en la capa común de EN 16931.

El aviso solo mira que haya letras delante. Que esas letras sean las del país correcto, o que el número sea válido, ya no lo comprueba esa regla.

Cómo escribirlo en Odoo

Bien
El número tal como lo publica el registro de IVA de cada país, con sus dos letras delante: DE para Alemania, FR para Francia, BE para Bélgica, NL para Países Bajos.
Mal
El número sin letras, con espacios o puntos en medio, o con el prefijo de otro país.
Grecia
EL delante, no GR: es la excepción que recoge la propia regla.

Con nuestro módulo XRechnung y ZUGFeRD

Ficha de cliente en Odoo 20 con el NIF-IVA alemán con prefijo y la pestaña E-Invoicing del módulo XRechnung
El campo VAT con el prefijo DE, como lo pide BR-CO-09. Captura de Odoo 20 con datos de demostración.

En Odoo 18, 19 y 20, con la suscripción a FlexigoTech Cloud, cada XRechnung y cada ZUGFeRD EN 16931 que genera el módulo se valida con las reglas de KoSIT, que incluyen las de EN 16931: un NIF-IVA sin prefijo queda como BR-CO-09 en Validation Errors y la factura no se marca como Ready to send. En Odoo 17, la versión publicada no valida.

Qué corregir

  1. Abre la ficha que dice el aviso: tu empresa (supplier) o el cliente (customer).
  2. Escribe el número de IVA con el prefijo del país, sin espacios.
  3. Si es una inversión del sujeto pasivo o una venta a otro país de la UE, comprueba también el número del cliente.
  4. Genera el fichero de nuevo.

Sigue leyendo

Errores BR-09 y BR-11: la dirección del vendedor o del comprador sin código de paísBR-09 y BR-11 piden el código de país en la dirección del vendedor y del comprador; BR-08 y BR-10, la dirección misma. El aviso de Odoo 17, 18, 19 y 20 y qué rellenar.Errores BR-E-10, BR-AE-10, BR-IC-10 y BR-G-10: el motivo de exención del IVABR-E-10, BR-AE-10, BR-IC-10, BR-G-10 y BR-O-10 piden el motivo de exención; BR-S-10 y BR-Z-10 lo prohíben. Cómo lo decide Odoo 17, 18, 19 y 20 y dónde se cambia.XRechnung: errores BR-DE-2 a BR-DE-7, BR-DE-27 y BR-DE-28, el contacto del vendedorBR-DE-2 a BR-DE-7 piden en XRechnung la ciudad, el código postal, un contacto, un teléfono y un correo del vendedor. Qué dice cada regla y cómo cumplirlas en Odoo.
Comprobado en el código del módulo (versión 17.0 y 20.0) y en las fuentes enlazadas

Fuentes