ValidateFin
Voltar ao blog
EN 169318 min de leituraPor Eliel Nicaise

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.

Abrir o UBL / Peppol Validator

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%.

ObrigatórioSempre exigido para uma fatura conforme.
CondicionalExigido quando se aplica uma condição (ver cada linha).
OpcionalIndicado a título de referência - não exigido pela EN 16931 de base, mas as regras nacionais ou o Peppol tornam-no frequentemente obrigatório.

1. Nível do documento

Identificar a própria fatura: o seu número, datas, tipo e moeda.

CódigoCampoRequisitoFormatoExemplo
BT-1Número da faturaObrigatórioTextINV-2026-0001
BT-2Data de emissão da faturaObrigatórioYYYY-MM-DD2026-06-21
BT-3Código do tipo de faturaObrigatórioUNCL 1001380
BT-24Identificador de especificação (CIUS)ObrigatórioIdentifierurn:cen.eu:en16931:2017
BT-5Código da moeda da faturaObrigatórioISO 4217EUR
BT-10Referência do compradorOpcionalTextPO-4567
BT-9Data de vencimento do pagamentoCondicionalYYYY-MM-DD2026-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ódigoCampoRequisitoFormatoExemplo
BT-27Nome do vendedorObrigatórioTextACME GmbH
BT-31Identificador de IVA do vendedorCondicionalTextDE123456789
BT-30Identificador de registo legal do vendedorCondicionalTextHRB 12345
BT-34Endereço eletrónico do vendedorOpcionalIdentifier + EAS9930:DE123456789
BT-35Linha de endereço 1 do vendedorOpcionalTextHauptstraße 1
BT-37Localidade do vendedorOpcionalTextBerlin
BT-38Código postal do vendedorOpcionalText10115
BT-40Código do país do vendedorObrigatórioISO 3166-1DE

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ódigoCampoRequisitoFormatoExemplo
BT-44Nome do compradorObrigatórioTextJane Doe
BT-48Identificador de IVA do compradorCondicionalText- (B2C)
BT-49Endereço eletrónico do compradorOpcionalIdentifier + EAS0002:73282932
BT-50Linha de endereço 1 do compradorOpcionalText12 Rue de Paris
BT-52Localidade do compradorOpcionalTextLyon
BT-53Código postal do compradorOpcionalText69001
BT-55Código do país do compradorObrigatórioISO 3166-1FR

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ódigoCampoRequisitoFormatoExemplo
BT-126Identificador da linha da faturaObrigatórioText1
BT-129Quantidade faturadaObrigatórioDecimal2
BT-130Código da unidade de medidaObrigatórioUN/ECE Rec 20C62
BT-153Nome do artigoObrigatórioTextWireless keyboard
BT-146Preço líquido do artigoObrigatórioDecimal50.00
BT-131Montante líquido da linha da faturaObrigatórioDecimal (2)100.00
BT-151Código da categoria de IVA do artigo faturadoObrigatórioUNCL 5305S

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ódigoCampoRequisitoFormatoExemplo
BT-116Montante tributável da categoria de IVAObrigatórioDecimal (2)100.00
BT-117Montante do imposto da categoria de IVAObrigatórioDecimal (2)21.00
BT-118Código da categoria de IVAObrigatórioUNCL 5305S
BT-119Taxa da categoria de IVACondicionalPercentage21
BT-120Motivo de isenção de IVA (texto)CondicionalTextExempt - Art. 44
BT-121Código do motivo de isenção de IVACondicionalCodeVATEX-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ódigoCampoRequisitoFormatoExemplo
BT-106Soma dos montantes líquidos das linhas da faturaObrigatórioDecimal (2)100.00
BT-109Montante total da fatura sem IVAObrigatórioDecimal (2)100.00
BT-110Montante total do IVA da faturaCondicionalDecimal (2)21.00
BT-112Montante total da fatura com IVAObrigatórioDecimal (2)121.00
BT-115Montante a pagarObrigatórioDecimal (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 / Peppol

Perguntas 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.