ValidateFin
Volver al blog
EN 169318 min de lecturaPor Eliel Nicaise

Campos obligatorios de EN 16931: requisitos y formatos

Referencia campo por campo de los campos obligatorios de la factura EN 16931: códigos BT, formatos y ejemplos para vendedor, comprador, líneas, IVA y totales.

Valide su archivo ahora

Gratis, instantáneo y 100 % en su navegador - ningún archivo se sube nunca.

Abrir el UBL / Peppol Validator

Cómo leer esta referencia

La EN 16931 define un modelo semántico de datos - una lista de «términos de negocio» (BT) agrupados en «grupos de negocio» (BG). Esta guía enumera los campos necesarios para una factura conforme al núcleo - cada campo obligatorio, los principales campos condicionales y los campos opcionales esenciales - cada uno con su formato y un ejemplo realista.

Cada campo se marca como Obligatorio (siempre requerido), Condicional (requerido cuando se aplica una regla - por ejemplo, el tipo de IVA cuando la categoría es «estándar») u Opcional (no exigido por la EN 16931 base, pero incluido porque las normas nacionales o Peppol suelen hacerlo obligatorio). Más allá del núcleo, el CIUS de su país (un perfil nacional como XRechnung o la especificación francesa) o Peppol BIS pueden añadir más campos obligatorios.

El mismo modelo se expresa en dos sintaxis XML - UBL 2.1 y UN/CEFACT CII (la base de Factur-X / ZUGFeRD). Los códigos BT/BG que figuran a continuación son idénticos en ambas; solo difieren los nombres de los elementos XML. Los ejemplos utilizan una venta nacional con un tipo de IVA del 21%.

ObligatorioSiempre requerido para una factura conforme.
CondicionalRequerido cuando se aplica una condición (véase cada fila).
OpcionalIndicado a título de referencia - no exigido por la EN 16931 base, pero las normas nacionales o Peppol suelen hacerlo obligatorio.

1. Nivel de documento

Identifique la factura en sí: su número, fechas, tipo y moneda.

CódigoCampoRequisitoFormatoEjemplo
BT-1Número de facturaObligatorioTextINV-2026-0001
BT-2Fecha de emisión de la facturaObligatorioYYYY-MM-DD2026-06-21
BT-3Código de tipo de facturaObligatorioUNCL 1001380
BT-24Identificador de especificación (CIUS)ObligatorioIdentifierurn:cen.eu:en16931:2017
BT-5Código de moneda de la facturaObligatorioISO 4217EUR
BT-10Referencia del compradorOpcionalTextPO-4567
BT-9Fecha de vencimiento del pagoCondicionalYYYY-MM-DD2026-07-21

2. Vendedor (BG-4 / BG-5)

Quién emite la factura. El código de país es siempre obligatorio; el identificador de IVA es requerido siempre que se aplique IVA.

CódigoCampoRequisitoFormatoEjemplo
BT-27Nombre del vendedorObligatorioTextACME GmbH
BT-31Identificador de IVA del vendedorCondicionalTextDE123456789
BT-30Identificador de registro legal del vendedorCondicionalTextHRB 12345
BT-34Dirección electrónica del vendedorOpcionalIdentifier + EAS9930:DE123456789
BT-35Línea 1 de la dirección del vendedorOpcionalTextHauptstraße 1
BT-37Ciudad del vendedorOpcionalTextBerlin
BT-38Código postal del vendedorOpcionalText10115
BT-40Código de país del vendedorObligatorioISO 3166-1DE

3. Comprador (BG-7 / BG-8)

Quién recibe la factura. En B2C el comprador es un particular, por lo que el identificador de IVA se deja vacío - pero el nombre y el código de país siguen siendo obligatorios.

CódigoCampoRequisitoFormatoEjemplo
BT-44Nombre del compradorObligatorioTextJane Doe
BT-48Identificador de IVA del compradorCondicionalText- (B2C)
BT-49Dirección electrónica del compradorOpcionalIdentifier + EAS0002:73282932
BT-50Línea 1 de la dirección del compradorOpcionalText12 Rue de Paris
BT-52Ciudad del compradorOpcionalTextLyon
BT-53Código postal del compradorOpcionalText69001
BT-55Código de país del compradorObligatorioISO 3166-1FR

4. Línea de factura (BG-25)

Se requiere al menos una línea. Cada línea describe un artículo con su cantidad, precio, importe neto y categoría de IVA.

CódigoCampoRequisitoFormatoEjemplo
BT-126Identificador de la línea de facturaObligatorioText1
BT-129Cantidad facturadaObligatorioDecimal2
BT-130Código de unidad de medidaObligatorioUN/ECE Rec 20C62
BT-153Nombre del artículoObligatorioTextWireless keyboard
BT-146Precio neto del artículoObligatorioDecimal50.00
BT-131Importe neto de la línea de facturaObligatorioDecimal (2)100.00
BT-151Código de categoría de IVA del artículo facturadoObligatorioUNCL 5305S

5. Desglose del IVA (BG-23)

Un desglose por tipo de IVA, resumiendo la base imponible y el importe del impuesto. Requerido incluso para una factura de un solo tipo.

CódigoCampoRequisitoFormatoEjemplo
BT-116Base imponible de la categoría de IVAObligatorioDecimal (2)100.00
BT-117Importe del impuesto de la categoría de IVAObligatorioDecimal (2)21.00
BT-118Código de categoría de IVAObligatorioUNCL 5305S
BT-119Tipo de la categoría de IVACondicionalPercentage21
BT-120Motivo de exención de IVA (texto)CondicionalTextExempt - Art. 44
BT-121Código del motivo de exención de IVACondicionalCodeVATEX-EU-AE

6. Totales del documento (BG-22)

El resumen monetario. Estos importes deben ser internamente coherentes o las reglas de cálculo de EN 16931 rechazarán la factura.

CódigoCampoRequisitoFormatoEjemplo
BT-106Suma de los importes netos de las líneas de facturaObligatorioDecimal (2)100.00
BT-109Importe total de la factura sin IVAObligatorioDecimal (2)100.00
BT-110Importe total del IVA de la facturaCondicionalDecimal (2)21.00
BT-112Importe total de la factura con IVAObligatorioDecimal (2)121.00
BT-115Importe a pagarObligatorioDecimal (2)121.00

Formatos y listas de códigos

EN 16931 no le permite inventar valores para los campos tipados - deben seguir estos formatos y listas de códigos estándar.

Fechas

Fecha de calendario ISO 8601, formato YYYY-MM-DD (p. ej. 2026-06-21). Sin hora ni zona horaria en las fechas de factura.

Importes monetarios

Decimal con un máximo de 2 decimales, un punto como separador decimal y sin separador de miles (p. ej. 1234.50).

Moneda (BT-5)

Código de tres letras ISO 4217 (p. ej. EUR, SEK, PLN). Una moneda de documento por factura.

Códigos de país

Código de dos letras ISO 3166-1 alpha-2 (p. ej. DE, FR, BE) para cada dirección.

Categoría de IVA (BT-118 / BT-151)

Código UNCL 5305: S (estándar), Z (tipo cero), E (exento), AE (inversión del sujeto pasivo), K (intracomunitario), G (exportación), O (fuera de ámbito).

Unidad de medida (BT-130)

Código de la Recomendación 20/21 de UN/ECE (p. ej. C62 = unidad/pieza, KGM = kilogramo, HUR = hora, MTR = metro).

Tipo de factura (BT-3)

Código UNCL 1001: 380 (factura comercial), 381 (nota de crédito), 384 (factura corregida), 389 (factura autofacturada).

Identificadores y esquemas

Muchos identificadores llevan un identificador de esquema - p. ej. un identificador de IVA del vendedor como DE123456789, o una dirección electrónica cualificada por un esquema EAS de Peppol (como 9930).

Qué cambia para B2C (facturación a particulares)

EN 16931 se diseñó principalmente para B2B y B2G, pero su modelo básico se aplica a cualquier factura - incluidas las ventas a particulares. La estructura no cambia; unos pocos campos simplemente se comportan de forma diferente.

El identificador de IVA del comprador (BT-48) no es requerido para particulares - omítalo. El nombre del comprador (BT-44) y el código de país del comprador (BT-55) siguen siendo obligatorios, y se recomienda encarecidamente una dirección postal completa (y a menudo es requerida por las normas nacionales de IVA).

El IVA sigue aplicándose en su totalidad: cada línea necesita un código de categoría de IVA (BT-151) y el desglose del IVA (BG-23) debe estar presente. Para una venta nacional B2C normal, esta es la categoría S con su tipo estándar nacional.

El enrutamiento es la verdadera diferencia. La red Peppol está orientada a B2B/B2G, por lo que para B2C puro sigue generando un XML conforme a EN 16931 (para archivado, declaración de IVA/OSS, o para entregar al cliente), pero normalmente no lo envía a través de Peppol. Compruebe siempre el mandato de su país - algunos solo exigen facturas estructuradas para B2B o por encima de un umbral.

Un ejemplo completo (todos los campos obligatorios)

Aquí tienes una factura mínima pero totalmente conforme con la EN 16931, en UBL 2.1, que corresponde al ejemplo B2C anterior (una venta de 100 € al 21 % de IVA). Cada término de negocio obligatorio está presente y etiquetado con su 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 es el núcleo de la EN 16931. Para enviarla por Peppol, añade también las direcciones electrónicas (BT-34 / BT-49), el ProfileID (BT-23) y una referencia del comprador (BT-10). La misma factura en CII (Factur-X) utiliza los mismos códigos BT con nombres de elementos diferentes.

Valide su factura EN 16931 gratis

Genere su archivo UBL o CII y luego suéltelo en nuestro validador para comprobar cada campo obligatorio, lista de códigos y regla de negocio de EN 16931 - completamente en su navegador, sin que se carguen datos en ningún servidor.

Abrir el validador UBL / Peppol

Preguntas frecuentes

¿Cuántos campos exige EN 16931?

El modelo básico tiene alrededor de 160 términos de negocio, pero solo un subconjunto es obligatorio. Una factura conforme mínima necesita aproximadamente 25–30 campos obligatorios distribuidos entre la cabecera del documento, el vendedor, el comprador, al menos una línea, el desglose del IVA y los totales.

¿Es obligatorio el número de IVA del comprador?

No. BT-48 es condicional - requerido para operaciones B2B con inversión del sujeto pasivo o entregas intracomunitarias, pero no para ventas B2C a particulares. El nombre y el código de país del comprador son siempre obligatorios.

¿Qué formato de fecha utiliza EN 16931?

Fechas de calendario ISO 8601, YYYY-MM-DD (p. ej. 2026-06-21). Las fechas de factura no llevan componente de hora ni de zona horaria.

¿Cuántos decimales se permiten en los importes?

Los importes monetarios usan un máximo de 2 decimales con un punto como separador decimal. Las cantidades y los precios unitarios pueden usar más decimales.

¿Cuál es la diferencia entre campos obligatorios y condicionales?

Los campos obligatorios deben estar siempre presentes. Los campos condicionales se vuelven obligatorios cuando se aplica una regla - por ejemplo, el tipo de IVA (BT-119) es requerido cuando la categoría de IVA es "Estándar".

¿Qué código de tipo de factura debo usar?

BT-3 usa la lista de códigos UNCL 1001. Use 380 para una factura comercial y 381 para una nota de crédito; 384 es una factura corregida.

¿Necesito tanto UBL como CII?

No - elija una sintaxis. UBL 2.1 es común en Peppol; CII sustenta Factur-X/ZUGFeRD. Los términos de negocio obligatorios son idénticos en ambas.

¿Hay campos obligatorios adicionales más allá del modelo básico?

Sí. Los CIUS nacionales (p. ej. XRechnung en Alemania, el perfil francés) y Peppol BIS añaden reglas - por ejemplo, XRechnung requiere una referencia del comprador (BT-10) y los datos de contacto del vendedor.

¿Qué código de categoría de IVA uso para una venta nacional normal?

Categoría S (tipo estándar) con el porcentaje aplicable en BT-119. Use Z para tipo cero, E para exento y AE para inversión del sujeto pasivo.

¿Cómo compruebo que mi factura está completa?

Valídela contra las reglas de negocio de EN 16931 (Schematron), no solo contra el esquema XSD. Nuestro validador gratuito UBL/Peppol comprueba los campos obligatorios, las listas de códigos y las reglas de cálculo de EN 16931.