Saltar para o conteúdo principal
EN 16931 · identificadores

Erro BR-CO-09: o NIF-IVA do vendedor ou do cliente não tem o prefixo do país

Numa fatura eletrónica europeia, o número de IVA leva sempre as duas letras do país à frente: DE, FR, BE, NL… A BR-CO-09 é a regra que o exige, e quase sempre dispara porque, na ficha do contacto, o número foi escrito sem prefixo. À volta dela há outras quatro regras que exigem que esse número exista, consoante o tipo de IVA da fatura.

FlexigoTech · Responsável: Víctor Gómez · Atualizado em 4 de novembro de 2026

O essencial

Versões
Odoo 17, 18, 19 e 20
Verificado
no código do módulo, versão 17.0 e 20.0 · nas fontes indicadas no fim
Leitura
3 min

O texto da BR-CO-09 no Schematron da EN 16931 (validation-1.3.17), com gravidade 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’.»

Afeta três números: o seu (BT-31), o do seu representante fiscal, se o tiver (BT-63), e o do cliente (BT-48). A Grécia é a exceção: pode usar EL em vez de GR.

Cartão da regra BR-CO-09 da EN 16931
O prefixo ISO 3166-1 nos NIF-IVA do vendedor, do representante e do comprador.

As regras que exigem o número

A BR-CO-09 olha para o formato. Estas outras verificam que o número esteja presente, e dependem da categoria de IVA das linhas:

RegraQuando se aplicaTexto
BR-CO-26SempreIn 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-02Linhas à taxa normalAn 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-02AutoliquidaçãoAn 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 intracomunitáriaAn 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).

As quatro são fatais. Repare na diferença: numa venda à taxa normal basta o seu número; numa autoliquidação ou numa entrega intracomunitária, é preciso também o do cliente.

O que verifica o Odoo

Antes de gerar o ficheiro, o Odoo verifica que o número de IVA da sua empresa e o do cliente começam por duas letras. Se não começarem, avisa com «The VAT of the %s should be prefixed with its country code.», com «supplier» ou «customer». No Odoo 17, esta verificação só corre em três formatos, Peppol BIS, XRechnung e NLCIUS (o formato dos Países Baixos); no Odoo 18, 19 e 20 está na camada comum da EN 16931.

O aviso só procura letras à frente. Se essas letras são as do país correto, ou se o número é válido, essa regra já não o verifica.

Como o escrever no Odoo

Certo
O número tal como o publica o registo de IVA de cada país, com as duas letras à frente: DE para a Alemanha, FR para França, BE para a Bélgica, NL para os Países Baixos.
Errado
O número sem letras, com espaços ou pontos pelo meio, ou com o prefixo de outro país.
Grécia
EL à frente, não GR: é a exceção que a própria regra indica.

Com o nosso módulo XRechnung e ZUGFeRD

Ficha de cliente no Odoo 20 com o NIF-IVA alemão com prefixo e o separador E-Invoicing do módulo XRechnung
O campo VAT com o prefixo DE, como a BR-CO-09 pede. Captura do Odoo 20 com dados de demonstração.

No Odoo 18, 19 e 20, com a subscrição do FlexigoTech Cloud, cada XRechnung e cada ZUGFeRD EN 16931 que o módulo gera é validado com as regras da KoSIT, que incluem as da EN 16931: um NIF-IVA sem prefixo aparece como BR-CO-09 em Validation Errors e a fatura não fica marcada como Ready to send. No Odoo 17, a versão publicada não valida.

O que corrigir

  1. Abra a ficha que o aviso indica: a sua empresa (supplier) ou o cliente (customer).
  2. Escreva o número de IVA com o prefixo do país, sem espaços.
  3. Se for uma autoliquidação ou uma venda a outro país da UE, verifique também o número do cliente.
  4. Gere o ficheiro de novo.

Continue a ler

Erros BR-09 e BR-11: morada do vendedor ou do comprador sem código de paísBR-09 e BR-11 exigem o código de país nas moradas do vendedor e do comprador; BR-08 e BR-10, a morada em si. O aviso do Odoo 17, 18, 19 e 20 e o que preencher.Erros BR-E-10, BR-AE-10, BR-IC-10 e BR-G-10: o motivo de isenção do IVABR-E-10, BR-AE-10, BR-IC-10, BR-G-10 e BR-O-10 exigem o motivo de isenção; BR-S-10 e BR-Z-10 proíbem-no. Como o Odoo 17, 18, 19 e 20 o define e onde se altera.XRechnung: erros BR-DE-2 a BR-DE-7, BR-DE-27 e BR-DE-28, o contacto do vendedorBR-DE-2 a BR-DE-7 exigem na XRechnung a cidade, o código postal, um contacto, um telefone e um e-mail do vendedor. O que diz cada regra e como cumpri-la no Odoo.
Verificado no código do módulo (versão 17.0 e 20.0) e nas fontes indicadas

Fontes