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:

