Campos obrigatórios da EN 16931: campos da fatura e formatos
Referência campo a campo dos campos obrigatórios da fatura EN 16931: códigos de termos de negócio, formatos e exemplos para vendedor, comprador, linhas e IVA.
Valide o seu ficheiro agora
Grátis, instantâneo e 100% no seu navegador - nenhum ficheiro é enviado.
Como ler esta referência
A EN 16931 define um modelo semântico de dados - uma lista de «termos de negócio» (BT) agrupados em «grupos de negócio» (BG). Este guia enumera os campos necessários para uma fatura conforme ao núcleo - cada campo obrigatório, os principais campos condicionais e os campos opcionais essenciais - cada um com o seu formato e um exemplo realista.
Cada campo está marcado como Obrigatório (sempre exigido), Condicional (exigido quando se aplica uma regra - por exemplo, a taxa de IVA quando a categoria é «padrão») ou Opcional (não exigido pela EN 16931 de base, mas incluído porque as regras nacionais ou o Peppol o tornam frequentemente obrigatório). Para além do núcleo, o CIUS do seu país (um perfil nacional como o XRechnung ou a especificação francesa) ou o Peppol BIS podem acrescentar mais campos obrigatórios.
O mesmo modelo é expresso em duas sintaxes XML - UBL 2.1 e UN/CEFACT CII (a base da Factur-X / ZUGFeRD). Os códigos BT/BG abaixo são idênticos em ambas; apenas os nomes dos elementos XML diferem. Os exemplos utilizam uma venda interna com uma taxa de IVA de 21%.
1. Nível do documento
Identificar a própria fatura: o seu número, datas, tipo e moeda.
| Código | Campo | Requisito | Formato | Exemplo |
|---|---|---|---|---|
| BT-1 | Número da fatura | Obrigatório | Text | INV-2026-0001 |
| BT-2 | Data de emissão da fatura | Obrigatório | YYYY-MM-DD | 2026-06-21 |
| BT-3 | Código do tipo de fatura | Obrigatório | UNCL 1001 | 380 |
| BT-24 | Identificador de especificação (CIUS) | Obrigatório | Identifier | urn:cen.eu:en16931:2017 |
| BT-5 | Código da moeda da fatura | Obrigatório | ISO 4217 | EUR |
| BT-10 | Referência do comprador | Opcional | Text | PO-4567 |
| BT-9 | Data de vencimento do pagamento | Condicional | YYYY-MM-DD | 2026-07-21 |
2. Vendedor (BG-4 / BG-5)
Quem emite a fatura. O código do país é sempre obrigatório; o identificador de IVA é exigido sempre que se cobra IVA.
| Código | Campo | Requisito | Formato | Exemplo |
|---|---|---|---|---|
| BT-27 | Nome do vendedor | Obrigatório | Text | ACME GmbH |
| BT-31 | Identificador de IVA do vendedor | Condicional | Text | DE123456789 |
| BT-30 | Identificador de registo legal do vendedor | Condicional | Text | HRB 12345 |
| BT-34 | Endereço eletrónico do vendedor | Opcional | Identifier + EAS | 9930:DE123456789 |
| BT-35 | Linha de endereço 1 do vendedor | Opcional | Text | Hauptstraße 1 |
| BT-37 | Localidade do vendedor | Opcional | Text | Berlin |
| BT-38 | Código postal do vendedor | Opcional | Text | 10115 |
| BT-40 | Código do país do vendedor | Obrigatório | ISO 3166-1 | DE |
3. Comprador (BG-7 / BG-8)
Quem recebe a fatura. No B2C o comprador é um particular, pelo que o identificador de IVA fica em branco - mas o nome e o código do país continuam obrigatórios.
| Código | Campo | Requisito | Formato | Exemplo |
|---|---|---|---|---|
| BT-44 | Nome do comprador | Obrigatório | Text | Jane Doe |
| BT-48 | Identificador de IVA do comprador | Condicional | Text | - (B2C) |
| BT-49 | Endereço eletrónico do comprador | Opcional | Identifier + EAS | 0002:73282932 |
| BT-50 | Linha de endereço 1 do comprador | Opcional | Text | 12 Rue de Paris |
| BT-52 | Localidade do comprador | Opcional | Text | Lyon |
| BT-53 | Código postal do comprador | Opcional | Text | 69001 |
| BT-55 | Código do país do comprador | Obrigatório | ISO 3166-1 | FR |
4. Linha da fatura (BG-25)
É exigida pelo menos uma linha. Cada linha descreve um artigo com a sua quantidade, preço, montante líquido e categoria de IVA.
| Código | Campo | Requisito | Formato | Exemplo |
|---|---|---|---|---|
| BT-126 | Identificador da linha da fatura | Obrigatório | Text | 1 |
| BT-129 | Quantidade faturada | Obrigatório | Decimal | 2 |
| BT-130 | Código da unidade de medida | Obrigatório | UN/ECE Rec 20 | C62 |
| BT-153 | Nome do artigo | Obrigatório | Text | Wireless keyboard |
| BT-146 | Preço líquido do artigo | Obrigatório | Decimal | 50.00 |
| BT-131 | Montante líquido da linha da fatura | Obrigatório | Decimal (2) | 100.00 |
| BT-151 | Código da categoria de IVA do artigo faturado | Obrigatório | UNCL 5305 | S |
5. Discriminação do IVA (BG-23)
Uma discriminação por taxa de IVA, resumindo a base tributável e o montante do imposto. Exigida mesmo numa fatura de taxa única.
| Código | Campo | Requisito | Formato | Exemplo |
|---|---|---|---|---|
| BT-116 | Montante tributável da categoria de IVA | Obrigatório | Decimal (2) | 100.00 |
| BT-117 | Montante do imposto da categoria de IVA | Obrigatório | Decimal (2) | 21.00 |
| BT-118 | Código da categoria de IVA | Obrigatório | UNCL 5305 | S |
| BT-119 | Taxa da categoria de IVA | Condicional | Percentage | 21 |
| BT-120 | Motivo de isenção de IVA (texto) | Condicional | Text | Exempt - Art. 44 |
| BT-121 | Código do motivo de isenção de IVA | Condicional | Code | VATEX-EU-AE |
6. Totais do documento (BG-22)
O resumo monetário. Estes montantes têm de ser internamente coerentes ou as regras de cálculo da EN 16931 rejeitarão a fatura.
| Código | Campo | Requisito | Formato | Exemplo |
|---|---|---|---|---|
| BT-106 | Soma dos montantes líquidos das linhas da fatura | Obrigatório | Decimal (2) | 100.00 |
| BT-109 | Montante total da fatura sem IVA | Obrigatório | Decimal (2) | 100.00 |
| BT-110 | Montante total do IVA da fatura | Condicional | Decimal (2) | 21.00 |
| BT-112 | Montante total da fatura com IVA | Obrigatório | Decimal (2) | 121.00 |
| BT-115 | Montante a pagar | Obrigatório | Decimal (2) | 121.00 |
Formatos e listas de códigos
A EN 16931 não permite inventar valores para campos tipados - têm de seguir estes formatos e listas de códigos normalizados.
Datas
Data de calendário ISO 8601, formato YYYY-MM-DD (ex. 2026-06-21). Sem hora nem fuso horário nas datas da fatura.
Montantes monetários
Decimal com no máximo 2 casas decimais, ponto como separador decimal e sem separador de milhares (ex. 1234.50).
Moeda (BT-5)
Código de três letras ISO 4217 (ex. EUR, SEK, PLN). Uma moeda de documento por fatura.
Códigos de país
Código de duas letras ISO 3166-1 alpha-2 (ex. DE, FR, BE) para cada endereço.
Categoria de IVA (BT-118 / BT-151)
Código UNCL 5305: S (standard), Z (taxa zero), E (isento), AE (autoliquidação), K (intra-UE), G (exportação), O (fora do âmbito).
Unidade de medida (BT-130)
Código UN/ECE Recomendação 20/21 (ex. C62 = unidade/peça, KGM = quilograma, HUR = hora, MTR = metro).
Tipo de fatura (BT-3)
Código UNCL 1001: 380 (fatura comercial), 381 (nota de crédito), 384 (fatura corrigida), 389 (fatura autofaturada).
Identificadores e esquemas
Muitos IDs incluem um identificador de esquema - ex. um ID de IVA de vendedor como DE123456789, ou um endereço eletrónico qualificado por um esquema Peppol EAS (como 9930).
O que muda no B2C (faturação a particulares)
A EN 16931 foi concebida sobretudo para B2B e B2G, mas o seu modelo central aplica-se a qualquer fatura - incluindo vendas a particulares. A estrutura não muda; apenas alguns campos se comportam de forma diferente.
O identificador de IVA do comprador (BT-48) não é exigido para particulares - omita-o. O nome do comprador (BT-44) e o código do país do comprador (BT-55) permanecem obrigatórios, e um endereço postal completo é vivamente recomendado (e muitas vezes exigido pelas regras nacionais de IVA).
O IVA continua a aplicar-se na totalidade: cada linha precisa de um código de categoria de IVA (BT-151) e a discriminação do IVA (BG-23) tem de estar presente. Para uma venda interna B2C normal, esta é a categoria S com a sua taxa normal nacional.
O encaminhamento é a verdadeira diferença. A rede Peppol destina-se a B2B/B2G, pelo que, para B2C puro, continua a produzir um XML conforme à EN 16931 (para arquivo, declaração de IVA/OSS, ou para entregar ao cliente), mas normalmente não o envia através do Peppol. Verifique sempre o mandato do seu país - alguns só exigem faturas estruturadas para B2B ou acima de um limiar.
Um exemplo completo (todos os campos obrigatórios)
Aqui está uma fatura mínima mas totalmente conforme à EN 16931, em UBL 2.1, correspondente ao exemplo B2C acima (uma venda de 100 € com 21 % de IVA). Cada termo de negócio obrigatório está presente e identificado com o seu código BT.
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
<cbc:CustomizationID>urn:cen.eu:en16931:2017</cbc:CustomizationID> <!-- BT-24 -->
<cbc:ID>INV-2026-0001</cbc:ID> <!-- BT-1 -->
<cbc:IssueDate>2026-06-21</cbc:IssueDate> <!-- BT-2 -->
<cbc:DueDate>2026-07-21</cbc:DueDate> <!-- BT-9 -->
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode> <!-- BT-3 -->
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode> <!-- BT-5 -->
<cac:AccountingSupplierParty> <!-- BG-4 Seller -->
<cac:Party>
<cac:PostalAddress>
<cbc:StreetName>Hauptstraße 1</cbc:StreetName> <!-- BT-35 -->
<cbc:CityName>Berlin</cbc:CityName> <!-- BT-37 -->
<cbc:PostalZone>10115</cbc:PostalZone> <!-- BT-38 -->
<cac:Country><cbc:IdentificationCode>DE</cbc:IdentificationCode></cac:Country> <!-- BT-40 -->
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>DE123456789</cbc:CompanyID> <!-- BT-31 -->
<cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>ACME GmbH</cbc:RegistrationName> <!-- BT-27 -->
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty> <!-- BG-7 Buyer (B2C) -->
<cac:Party>
<cac:PostalAddress>
<cac:Country><cbc:IdentificationCode>FR</cbc:IdentificationCode></cac:Country> <!-- BT-55 -->
</cac:PostalAddress>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Jane Doe</cbc:RegistrationName> <!-- BT-44 -->
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">21.00</cbc:TaxAmount> <!-- BT-110 -->
<cac:TaxSubtotal> <!-- BG-23 VAT breakdown -->
<cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount> <!-- BT-116 -->
<cbc:TaxAmount currencyID="EUR">21.00</cbc:TaxAmount> <!-- BT-117 -->
<cac:TaxCategory>
<cbc:ID>S</cbc:ID> <!-- BT-118 -->
<cbc:Percent>21</cbc:Percent> <!-- BT-119 -->
<cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal> <!-- BG-22 Totals -->
<cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount> <!-- BT-106 -->
<cbc:TaxExclusiveAmount currencyID="EUR">100.00</cbc:TaxExclusiveAmount> <!-- BT-109 -->
<cbc:TaxInclusiveAmount currencyID="EUR">121.00</cbc:TaxInclusiveAmount> <!-- BT-112 -->
<cbc:PayableAmount currencyID="EUR">121.00</cbc:PayableAmount> <!-- BT-115 -->
</cac:LegalMonetaryTotal>
<cac:InvoiceLine> <!-- BG-25 Invoice line -->
<cbc:ID>1</cbc:ID> <!-- BT-126 -->
<cbc:InvoicedQuantity unitCode="C62">2</cbc:InvoicedQuantity> <!-- BT-129 / BT-130 -->
<cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount> <!-- BT-131 -->
<cac:Item>
<cbc:Name>Wireless keyboard</cbc:Name> <!-- BT-153 -->
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID> <!-- BT-151 -->
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">50.00</cbc:PriceAmount> <!-- BT-146 -->
</cac:Price>
</cac:InvoiceLine>
</Invoice>Este é o núcleo da EN 16931. Para a enviar através do Peppol, acrescente também os endereços eletrónicos (BT-34 / BT-49), o ProfileID (BT-23) e uma referência do comprador (BT-10). A mesma fatura em CII (Factur-X) utiliza os mesmos códigos BT com nomes de elementos diferentes.
Valide gratuitamente a sua fatura EN 16931
Gere o seu ficheiro UBL ou CII e depois carregue-o no nosso validador para verificar cada campo obrigatório, lista de códigos e regra de negócio da EN 16931 - inteiramente no seu navegador, sem que nenhum dado seja enviado para qualquer servidor.
Abrir o validador UBL / PeppolPerguntas frequentes
Quantos campos exige a EN 16931?
O modelo central tem cerca de 160 termos de negócio, mas apenas um subconjunto é obrigatório. Uma fatura conforme mínima precisa de aproximadamente 25–30 campos obrigatórios distribuídos pelo cabeçalho do documento, o vendedor, o comprador, pelo menos uma linha, a discriminação do IVA e os totais.
O número de IVA do comprador é obrigatório?
Não. O BT-48 é condicional - exigido para autoliquidação B2B ou fornecimentos intra-UE, mas não para vendas B2C a particulares. O nome e o código do país do comprador são sempre obrigatórios.
Que formato de data utiliza a EN 16931?
Datas de calendário ISO 8601, YYYY-MM-DD (ex. 2026-06-21). As datas da fatura não incluem componente de hora nem de fuso horário.
Quantas casas decimais são permitidas nos montantes?
Os montantes monetários utilizam um máximo de 2 casas decimais com ponto como separador decimal. As quantidades e os preços unitários podem usar mais casas decimais.
Qual é a diferença entre campos obrigatórios e condicionais?
Os campos obrigatórios têm de estar sempre presentes. Os campos condicionais tornam-se obrigatórios quando se aplica uma regra - por exemplo, a taxa de IVA (BT-119) é exigida quando a categoria de IVA é "Standard".
Que código de tipo de fatura devo usar?
O BT-3 utiliza a lista de códigos UNCL 1001. Use 380 para uma fatura comercial e 381 para uma nota de crédito; 384 é uma fatura corrigida.
Preciso de UBL e CII em simultâneo?
Não - escolha uma sintaxe. O UBL 2.1 é comum no Peppol; o CII está na base da Factur-X/ZUGFeRD. Os termos de negócio obrigatórios são idênticos em ambos.
Existem campos obrigatórios adicionais para além do modelo central?
Sim. Os CIUS nacionais (ex. XRechnung na Alemanha, o perfil francês) e o Peppol BIS acrescentam regras - por exemplo, o XRechnung exige uma referência do comprador (BT-10) e os dados de contacto do vendedor.
Que código de categoria de IVA utilizo numa venda interna normal?
Categoria S (taxa standard) com a percentagem aplicável no BT-119. Use Z para taxa zero, E para isento e AE para autoliquidação.
Como verifico se a minha fatura está completa?
Valide-a face às regras de negócio da EN 16931 (Schematron), não apenas ao esquema XSD. O nosso validador UBL/Peppol gratuito verifica os campos obrigatórios, as listas de códigos e as regras de cálculo da EN 16931.