fiskaly.

14 min tiempo de lectura

Formatos de factura electrónica: UBL, XRechnung, FatturaPA y Facturae comparados

Guía comparativa de los formatos de factura electrónica en Europa: sintaxis, esquemas nacionales y perfiles para desplegar en varios mercados.

woman on laptop

Un equipo de pagos o de facturación que desarrolla para un único mercado de la UE puede elegir un formato y olvidarse del tema. Un equipo que desarrolla para cuatro o cinco mercados no puede, porque los cuatro nombres que más aparecen, UBL, XRechnung, FatturaPA, Facturae, no están en el mismo nivel. Dos de ellos son sintaxis XML. Dos son esquemas nacionales que son anteriores al estándar europeo de factura electrónica y no utilizan ninguna de esas sintaxis. Esta guía complementa los análisis específicos de fiskaly sobre XRechnung, ZUGFeRD/Factur-X, UBL frente a CII y los sistemas nacionales de Italia y España; en lugar de cubrir cada formato de forma aislada, los pone unos frente a otros para que las diferencias que realmente importan en un despliegue multimercado queden visibles en un solo lugar.

En resumen

  • UBL y CII son sintaxis XML, no formatos de factura terminados. Las especificaciones a nivel de país deciden qué campos son obligatorios.
  • XRechnung y Factur-X/ZUGFeRD se basan en esas sintaxis y cumplen el estándar EN 16931.
  • FatturaPA (Italia) y Facturae (España) son anteriores a EN 16931 y no utilizan ni UBL ni CII.
  • Factur-X/ZUGFeRD se distribuye en seis perfiles, desde MINIMUM hasta EXTENDED, cada uno con una profundidad de datos distinta.
  • Peppol BIS Billing 3.0 es un perfil de UBL para el intercambio en red, no un formato competidor.

¿Qué es UBL y dónde se utiliza?

UBL (Universal Business Language) es un estándar XML abierto mantenido por OASIS que define una estructura genérica para documentos comerciales, incluidas facturas, notas de crédito y pedidos. Una factura UBL utiliza dos prefijos de espacio de nombres: cbc (Common Basic Components) para campos simples como fechas e importes, y cac (Common Aggregate Components) para bloques estructurados como partes y direcciones. El elemento raíz de una factura UBL es <Invoice>; las notas de crédito utilizan <CreditNote> en su lugar.

UBL 2.1 es la versión actual en uso activo para la factura electrónica. Es más amplia que cualquier mandato nacional concreto: admite decenas de campos opcionales que cada país o red restringe después mediante una CIUS (Core Invoice Usage Specification). Peppol BIS Billing 3.0, la XRechnung de Alemania (variante UBL) y la NLCIUS de los Países Bajos son perfiles CIUS construidos sobre el mismo esquema UBL 2.1. La gramática XML subyacente no cambia de un país a otro; solo lo hacen las reglas de negocio que se superponen a ella.

¿Qué es UN/CEFACT CII y en qué se diferencia de UBL?

CII (Cross Industry Invoice) es la segunda sintaxis reconocida por EN 16931, mantenida por UN/CEFACT, y es la sintaxis utilizada dentro de formatos híbridos como Factur-X y ZUGFeRD. Desde el punto de vista estructural, CII organiza una factura en torno a conceptos de transacción comercial, con elementos como ExchangedDocument, SellerTradeParty, BuyerTradeParty y SpecifiedTradeSettlement, en lugar del modelo de componentes de documento de UBL. Ambas sintaxis pueden expresar el mismo contenido semántico de EN 16931.

En la práctica, la elección entre UBL y CII no suele hacerse factura por factura. La determina el formato que espera el país o la plataforma receptora. La XRechnung de Alemania, por ejemplo, permite que el emisor elija XML en UBL o en CII para los mismos datos subyacentes, y los archivos resultantes son funcionalmente equivalentes una vez validados. Esa libertad de elección se aplica a la propia XRechnung; el canal de transmisión puede limitarla en la práctica, ya que Peppol BIS Billing 3.0 exige UBL y los híbridos ZUGFeRD/Factur-X utilizan únicamente CII. El envío directo a través de un portal como OZG-RE sí permite cualquiera de las dos sintaxis.

¿Qué es XRechnung y es UBL o CII?

XRechnung es la CIUS (Core Invoice Usage Specification) nacional de Alemania para EN 16931: un archivo XML puro y estructurado sin capa PDF ni visual, disponible en sintaxis UBL o CII. No es un formato híbrido. Un archivo XRechnung está pensado para ser procesado por software, no para abrirse y leerse directamente.

La versión actual es XRechnung 3.0.2, identificada en el XML por su campo CustomizationID, que confirma tanto el cumplimiento de EN 16931 como las reglas de extensión específicas de Alemania. Se espera XRechnung 4.0, que implementa EN 16931-1:2026, para finales de 2026, y sustituirá a la 3.0.2. Dado que XRechnung es una CIUS y no un esquema independiente, su variante UBL es compatible con el perfil más amplio Peppol BIS Billing 3.0. Un archivo XRechnung basado en UN/CEFACT CII utiliza el mismo esquema subyacente que el perfil EN 16931 incrustado en un PDF ZUGFeRD 2.x. Las facturas a organismos federales alemanes pasan por la plataforma OZG-RE, que sustituyó a la ZRE en 2025; los Länder y los municipios operan sus propios canales. Estas plataformas validan los archivos entrantes con las mismas reglas del validador de código abierto KoSIT que utiliza la mayoría del software alemán para comprobar la conformidad antes del envío. fiskaly también ofrece SIGN DE para la fiscalización en Alemania; hoy funciona sobre una API separada y específica de país, con una integración compartida en la plataforma unificada de fiskaly prevista para 2027.

¿Qué es Factur-X/ZUGFeRD y cuáles son sus perfiles?

Factur-X y ZUGFeRD son el mismo formato de factura híbrido con dos nombres: un documento PDF/A-3 legible por personas con un archivo XML CII estructurado incrustado en su interior, desarrollado conjuntamente por la FNFE-MPE de Francia y el FeRD de Alemania. Desde ZUGFeRD 2.1 (2020), las dos especificaciones son técnicamente idénticas: mismo esquema XML, mismo contenedor PDF/A-3, mismos niveles de perfil e incluso el mismo nombre de archivo incrustado, factur-x.xml. Solo cambia la marca según el mercado.

El formato define seis perfiles, cada uno con datos progresivamente más estructurados:

PerfilProfundidad de datos estructuradosCaso de uso típico
MINIMUMAlrededor de 15-20 campos básicos (número de factura, fecha, vendedor, total)Facturas B2C muy sencillas; no basta como factura electrónica B2B válida a partir de enero de 2026
BASIC WL (Without Lines)Campos básicos, sin líneas de detalle estructuradasFacturas sencillas sin necesidad de automatización; no basta como factura electrónica B2B válida a partir de enero de 2026
BASICLíneas de detalle, impuestos y totales estructuradosFacturas estándar con líneas de detalle estructuradas; no cubre por completo EN 16931 y no basta como factura electrónica B2B válida a partir de enero de 2026
EN 16931 (COMFORT)Modelo semántico completo de EN 16931, 200+ elementos posiblesContratación pública (B2G); el perfil más habitual para la automatización completa
EXTENDEDEN 16931 más extensiones específicas del sectorCadenas de suministro de fabricación, logística y construcción

MINIMUM y BASIC WL son perfiles de datos reducidos, impulsados originalmente por los requisitos franceses (Chorus Pro) y pensados como apoyos contables o formatos de transición. No satisfacen los requisitos de facturación de Alemania y no deberían usarse allí. Para B2B, EN 16931 (COMFORT) es la opción práctica por defecto; el B2G en Alemania exige el perfil XRECHNUNG o una XRechnung nativa.

¿Qué es FatturaPA y por qué no utiliza la sintaxis de EN 16931?

FatturaPA es el esquema XML propio de Italia para la facturación electrónica, anterior a EN 16931, y es el formato que exige el Sistema di Interscambio (SDI) para la facturación nacional. Los archivos UBL y CII no son sustitutos válidos para las transacciones nacionales. Los proveedores transfronterizos que facturan a organismos públicos italianos pueden usar en su lugar CIUS-IT ("FatturaEU"), un perfil conforme a EN 16931 que el SDI proyecta sobre el esquema nacional. Cada archivo FatturaPA tiene un único elemento raíz, <FatturaElettronica>, dividido en un FatturaElettronicaHeader (datos de enrutamiento y de las partes) y una o varias secciones FatturaElettronicaBody (líneas de detalle, totales, condiciones de pago). El esquema lo mantiene y actualiza periódicamente la Agenzia delle Entrate en fatturapa.gov.it.

Algunos detalles estructurales diferencian a FatturaPA de los formatos basados en UBL o CII:

  • Las facturas a organismos públicos deben llevar una firma digital (CAdES (.p7m) o XAdES); para las transacciones B2B y B2C la firma es opcional, aunque sigue siendo recomendable.
  • El enrutamiento depende de un CodiceDestinatario (un código de destinatario de siete dígitos registrado en el SDI) o de una dirección de correo PEC certificada cuando no hay ningún código registrado.
  • El campo TipoDocumento clasifica el tipo de transacción. TD01 indica una factura estándar, TD04 una nota de crédito, etc.: un concepto de clasificación sin equivalente directo en UBL o CII con la misma forma.
  • La denominación de los archivos sigue un patrón fijo: el código de país que precede al número de IVA del emisor, el número de IVA y un número progresivo (por ejemplo, IT01234567890_00001.xml).

Como FatturaPA queda fuera de la familia EN 16931, cualquier empresa que genere facturas UBL o CII para otros mercados de la UE necesita una vía de conversión aparte específicamente para sus contrapartes italianas.

¿Qué es Facturae y en qué se diferencia de FatturaPA?

Facturae es el esquema XML nacional de España, utilizado para la facturación B2G desde 2015 a través de la plataforma FACe y, como FatturaPA, no se basa en la sintaxis UBL ni CII. La versión actual del esquema es la 3.2.2 (la plataforma FACe requiere al menos la 3.2.1). Un archivo Facturae válido sigue cuatro bloques principales en una secuencia fija: la cabecera del archivo (con los campos SchemaVersion, Modality e InvoiceIssuerType), el bloque de las partes, el detalle de la factura o del lote, y los totales de la factura. Reordenar esos bloques provoca un fallo de validación inmediato. El esquema XSD de Facturae aplica estrictamente tanto el orden de los campos como los tipos de datos.

El futuro mandato de facturación electrónica B2B de España en el marco de la ley Crea y Crece no retira Facturae. Añade UBL, CII y EDIFACT como formatos aceptados entre plataformas privadas, aunque sigue exigiendo que una "copia fiel" de cada factura llegue en formato UBL a la plataforma pública de la AEAT. Eso convierte a España en uno de los pocos mercados de la UE donde un esquema nacional heredado y las sintaxis de EN 16931 se aceptan explícitamente en paralelo, en lugar de que uno sustituya al otro.

Puntos clave

  • Alemania y Francia comparten la misma familia de formatos. Los formatos basados en EN 16931, XRechnung y Factur-X, cubren ambos mercados sin un esquema nacional aparte.
  • Italia y España necesitan una lógica de esquema dedicada. Una canalización genérica UBL/CII no producirá un archivo FatturaPA o Facturae válido; ambos requieren una generación y validación creadas a propósito.
  • EN 16931 (COMFORT) es el perfil por defecto seguro para Factur-X/ZUGFeRD. MINIMUM y BASIC WL no llevan datos suficientes para el uso nacional alemán y no deben tratarse como intercambiables con COMFORT.
  • La adopción de Peppol crece como capa de transporte, pero no elimina la necesidad de generar FatturaPA o Facturae para los mercados que no aceptan UBL directamente.
  • Un despliegue en cuatro o cinco mercados suele necesitar al menos tres canalizaciones XML distintas: basada en UBL/CII, FatturaPA y Facturae, generadas a partir de los mismos datos de factura subyacentes.

¿Cómo se relacionan estos formatos con Peppol BIS Billing 3.0?

Peppol BIS Billing 3.0 no es un formato de factura aparte. Es una CIUS que restringe UBL 2.1 para el intercambio a través de la red Peppol. Toma el amplio esquema UBL 2.1, en su mayoría opcional, y hace obligatorios determinados campos (el nombre legal, la dirección y el ID de punto final Peppol de ambas partes, por ejemplo), de modo que dos empresas cualesquiera de la red Peppol puedan intercambiar facturas sin un acuerdo bilateral previo sobre qué campos opcionales usar. Cómo se enruta realmente ese intercambio entre las dos partes, a través de puntos de acceso y el modelo de cuatro esquinas, es un tema propio; una guía aparte de fiskaly sobre la red Peppol cubre ese mecanismo en profundidad.

Por eso una XRechnung basada en UBL y una factura Peppol BIS Billing 3.0 pueden parecer casi idénticas a nivel de XML. Ambas son perfiles CIUS conformes a EN 16931 del mismo esquema UBL base, con distintas reglas de campos obligatorios superpuestas. FatturaPA y Facturae quedan totalmente fuera de esta relación, ya que ninguna es un derivado de UBL o CII.

Tabla comparativa: resumen de formatos

FormatoSintaxis baseTipo de archivo¿Conforme a EN 16931?Mercado/red principal¿Legible sin software?
UBL 2.1UBL (OASIS)XML puroParcialmente incluidoDepende de la CIUSRed Peppol, multipaísNo incluido
UN/CEFACT CIICIIXML puroParcialmente incluidoDepende de la CIUSIncrustada en formatos híbridosNo incluido
Peppol BIS Billing 3.0UBL 2.1 (CIUS)XML puroIncluidoRed Peppol (obligatorio en Bélgica, voluntario/en crecimiento en toda la UE)No incluido
XRechnungUBL o CII (CIUS)XML puroIncluidoAlemania (B2G obligatorio, B2B aceptado)No incluido
ZUGFeRD / Factur-XCIIHíbrido PDF/A-3 + XML incrustadoIncluidoperfil EN 16931/COMFORT y superioresAlemania, Francia (obligatorio en Francia desde septiembre de 2026)Incluidocapa PDF
FatturaPAXML propietarioXML puroNo incluidoItalia (SDI, obligatorio desde 2019)No incluido
FacturaeXML propietarioXML puroNo incluidoEspaña (B2G desde 2015; B2B junto a UBL/CII a partir de 2026)No incluido

Cómo elegir qué formatos admitir

  1. Enumera todos los países desde los que facturas y todos los países a los que facturas. La aceptación de formatos se define a nivel de país, y un formato válido en un mercado puede no servir de nada en otro.
  2. Comprueba si el país acepta formatos EN 16931 o exige un esquema propietario. Alemania y Francia aceptan archivos basados en EN 16931. Italia exige específicamente FatturaPA, y España exige Facturae o una "copia fiel" en UBL según el flujo.
  3. Decide entre un formato XML puro y un formato híbrido cuando puedas elegir. XRechnung (XML puro) encaja con un procesamiento de back-office totalmente automatizado; Factur-X/ZUGFeRD encaja con entornos mixtos en los que una persona todavía necesita a veces abrir y leer la factura.
  4. Elige el perfil adecuado si generas Factur-X/ZUGFeRD. EN 16931 (COMFORT) cubre la mayoría de necesidades B2G y B2B estándar. Pasa a EXTENDED solo si tu sector realmente requiere los datos comerciales adicionales.
  5. Confirma la vía de transmisión por separado del formato. Una XRechnung bien construida todavía tiene que pasar por Peppol o por una plataforma como OZG-RE; un archivo FatturaPA bien construido todavía tiene que pasar por el SDI.
  6. Crea una lógica de conversión en cuanto admitas más de dos formatos. Las empresas que operan simultáneamente en Alemania, Francia, Italia y España suelen necesitar generar al menos tres salidas XML estructuralmente distintas (basada en UBL/CII, FatturaPA y Facturae) a partir de los mismos datos de factura subyacentes.

Conclusión

Todos los grandes formatos de factura electrónica de la UE entran en una de dos familias: los formatos basados en EN 16931 construidos sobre la sintaxis UBL o CII (XRechnung, Factur-X/ZUGFeRD, Peppol BIS Billing 3.0) y los esquemas nacionales más antiguos, anteriores al estándar europeo (FatturaPA, Facturae). Saber a qué familia pertenece un mercado, y qué perfil o versión de esquema concreta espera, importa más que conocer la dirección general de la UE en materia de factura electrónica. El archivo que genera tu software tiene que coincidir exactamente con lo que validará la plataforma del país receptor.

Para conocer los plazos país por país y el estado de los mandatos que hay detrás de estos formatos, consulta la guía de fiskaly sobre los mandatos de factura electrónica en Europa. Para la generación de formatos, la validación y la conectividad Peppol en varios mercados desde una única integración, consulta fiskaly E-INVOICE.

Preguntas frecuentes

No. XRechnung es un archivo XML puro sin componente PDF. ZUGFeRD es un formato híbrido que incrusta un XML estructurado similar, en sintaxis CII, dentro de un PDF legible por personas. Ambos pueden cumplir EN 16931, pero son tipos de archivo distintos.

Sí, desde ZUGFeRD 2.1 (2020). Utilizan el mismo esquema XML, el mismo contenedor PDF/A-3, la misma estructura de seis perfiles e incluso el mismo nombre de archivo incrustado, factur-x.xml. Solo cambia la marca según el mercado.

No como factura electrónica válida según la legislación italiana. El SDI de Italia solo acepta XML FatturaPA para las transacciones nacionales B2B, B2C y B2G, así que primero habría que convertir el archivo UBL a FatturaPA.

Sí. Facturae sigue siendo obligatoria para la facturación B2G en España a través de FACe, y se mantiene en la lista de formatos aceptados para el intercambio B2B privado incluso a medida que se añaden UBL, CII y EDIFACT en el marco de Crea y Crece.

El perfil EN 16931 (también llamado COMFORT). Cubre por completo el estándar semántico europeo y es el perfil que espera la mayoría de destinatarios del sector público. MINIMUM y BASIC WL existen sobre todo para escenarios sencillos y de poca automatización, y no deberían usarse para facturas nacionales alemanas.

No. Peppol BIS Billing 3.0 se construye directamente sobre UBL 2.1. Es un perfil de uso más estricto del mismo esquema, no una alternativa a él.

No. Los requisitos de formato se definen por país. Una empresa que factura únicamente dentro de Alemania, por ejemplo, solo necesita gestionar los formatos conformes a EN 16931 aceptados allí (XRechnung o ZUGFeRD/Factur-X), no FatturaPA ni Facturae.