fiskaly.

14 min tempo per leggere

Formati di fattura elettronica: UBL, XRechnung, FatturaPA e Facturae a confronto

UBL, CII, XRechnung, FatturaPA e Facturae: sintassi, schemi e profili a confronto per capire quale formato serve in ogni mercato europeo.

woman on laptop

Un team che si occupa di pagamenti o di fatturazione e sviluppa per un solo mercato UE può scegliere un formato e non pensarci più. Un team che sviluppa per quattro o cinque mercati non può farlo, perché i quattro nomi che ricorrono più spesso, UBL, XRechnung, FatturaPA e Facturae, non si collocano sullo stesso piano. Due di essi sono sintassi XML. Due sono schemi nazionali che precedono del tutto lo standard europeo per la fatturazione elettronica e non utilizzano nessuna delle due sintassi. Questa guida si affianca agli approfondimenti di fiskaly dedicati ai singoli formati, su XRechnung, ZUGFeRD/Factur-X, UBL e CII e i sistemi nazionali di Italia e Spagna; anziché trattare ciascun formato isolatamente, li mette a confronto uno accanto all'altro, così che le differenze che contano davvero per un rollout multimercato siano visibili in un unico posto.

In sintesi

  • UBL e CII sono sintassi XML, non formati di fattura completi. Sono le specifiche a livello nazionale a stabilire quali campi sono obbligatori.
  • XRechnung e Factur-X/ZUGFeRD si basano su tali sintassi e sono conformi allo standard EN 16931.
  • FatturaPA (Italia) e Facturae (Spagna) precedono la EN 16931 e non utilizzano né UBL né CII.
  • Factur-X/ZUGFeRD è disponibile in sei profili, da MINIMUM fino a EXTENDED, ciascuno con un diverso livello di dettaglio dei dati.
  • Peppol BIS Billing 3.0 è un profilo UBL per lo scambio in rete, non un formato concorrente.

Che cos'è UBL e dove viene utilizzato?

UBL (Universal Business Language) è uno standard XML aperto gestito da OASIS che definisce una struttura generica per i documenti aziendali, tra cui fatture, note di credito e ordini. Una fattura UBL utilizza due prefissi di namespace: cbc (Common Basic Components) per i campi semplici come date e importi e cac (Common Aggregate Components) per i blocchi strutturati come soggetti e indirizzi. L'elemento radice di una fattura UBL è <Invoice>; le note di credito utilizzano invece <CreditNote>.

UBL 2.1 è la versione attualmente in uso per la fatturazione elettronica. È più ampia di qualsiasi singolo obbligo nazionale: supporta decine di campi facoltativi che i singoli Paesi o le singole reti restringono poi in un CIUS (Core Invoice Usage Specification). Peppol BIS Billing 3.0, la XRechnung tedesca (variante UBL) e la NLCIUS dei Paesi Bassi sono tutti profili CIUS costruiti sullo stesso schema UBL 2.1. La grammatica XML sottostante non cambia da un Paese all'altro; cambiano soltanto le regole di business applicate al di sopra di essa.

Che cos'è UN/CEFACT CII e in cosa differisce da UBL?

CII (Cross Industry Invoice) è la seconda sintassi riconosciuta dalla EN 16931, gestita da UN/CEFACT, ed è la sintassi utilizzata all'interno dei formati ibridi come Factur-X e ZUGFeRD. Dal punto di vista strutturale, CII organizza una fattura attorno a concetti di transazione commerciale, utilizzando elementi come ExchangedDocument, SellerTradeParty, BuyerTradeParty e SpecifiedTradeSettlement, anziché il modello a componenti di documento di UBL. Entrambe le sintassi possono esprimere lo stesso contenuto semantico della EN 16931.

In pratica, la scelta tra UBL e CII non viene di solito effettuata fattura per fattura. È determinata dal formato che il Paese o la piattaforma destinataria si aspetta. La XRechnung tedesca, ad esempio, consente al mittente di scegliere tra XML UBL o CII per gli stessi dati sottostanti, e i file risultanti sono funzionalmente equivalenti una volta convalidati. Questa libertà di scelta vale per la XRechnung in sé; il canale di trasmissione può però limitarla nella pratica, poiché Peppol BIS Billing 3.0 richiede UBL e gli ibridi ZUGFeRD/Factur-X utilizzano soltanto CII. L'invio diretto tramite un portale come OZG-RE consente comunque entrambe le sintassi.

Che cos'è XRechnung ed è UBL o CII?

XRechnung è il CIUS (Core Invoice Usage Specification) nazionale tedesco della EN 16931: un file XML puro e strutturato senza livello PDF o visivo, disponibile in sintassi UBL o CII. Non è un formato ibrido. Un file XRechnung è pensato per essere elaborato da un software, non aperto e letto direttamente.

La versione attuale è XRechnung 3.0.2, identificata nell'XML dal campo CustomizationID, che conferma sia la conformità alla EN 16931 sia le specifiche regole di estensione tedesche. XRechnung 4.0, che implementa la EN 16931-1:2026, è attesa per la fine del 2026 e sostituirà la 3.0.2. Poiché XRechnung è un CIUS e non uno schema a sé stante, la sua variante UBL è compatibile con il più ampio profilo Peppol BIS Billing 3.0. Un file XRechnung basato su UN/CEFACT CII utilizza lo stesso schema sottostante del profilo EN 16931 incorporato in un PDF ZUGFeRD 2.x. Le fatture destinate agli enti federali tedeschi passano attraverso la piattaforma OZG-RE, che ha sostituito il ZRE nel 2025; i Länder e i comuni gestiscono canali propri. Queste piattaforme convalidano i file in entrata secondo le stesse regole del validatore open source KoSIT che la maggior parte dei software tedeschi utilizza per verificare la conformità prima dell'invio. fiskaly offre inoltre SIGN DE per la fiscalizzazione tedesca; oggi funziona su un'API separata e specifica per Paese, con un'integrazione condivisa sulla piattaforma unificata di fiskaly prevista per il 2027.

Che cos'è Factur-X/ZUGFeRD e quali sono i suoi profili?

Factur-X e ZUGFeRD sono lo stesso formato di fattura ibrido con due nomi diversi: un documento PDF/A-3 leggibile dall'uomo con al suo interno un file XML CII strutturato, sviluppato congiuntamente dalla francese FNFE-MPE e dalla tedesca FeRD. Dalla versione ZUGFeRD 2.1 (2020), le due specifiche sono tecnicamente identiche: stesso schema XML, stesso contenitore PDF/A-3, stessi livelli di profilo e persino lo stesso nome del file incorporato, factur-x.xml. Cambia soltanto il nome commerciale a seconda del mercato.

Il formato definisce sei profili, ciascuno con dati strutturati progressivamente più ricchi:

ProfiloLivello di dati strutturatiCaso d'uso tipico
MINIMUMCirca 15-20 campi essenziali (numero fattura, data, venditore, totale)Fatture B2C molto semplici; non è sufficiente come fattura elettronica B2B valida a partire da gennaio 2026
BASIC WL (Without Lines)Campi di base, senza righe di dettaglio strutturateFatture semplici senza esigenze di automazione; non è sufficiente come fattura elettronica B2B valida a partire da gennaio 2026
BASICRighe di dettaglio strutturate, imposte, totaliFatture standard con righe di dettaglio strutturate; non copre completamente la EN 16931 e non è sufficiente come fattura elettronica B2B valida a partire da gennaio 2026
EN 16931 (COMFORT)Modello semantico EN 16931 completo, 200+ elementi possibiliAppalti pubblici (B2G); profilo più comune per l'automazione completa
EXTENDEDEN 16931 più estensioni specifiche di settoreFiliere di produzione, logistica e costruzioni

MINIMUM e BASIC WL sono profili a dati ridotti, nati originariamente dai requisiti francesi (Chorus Pro) e pensati come supporto alla contabilizzazione o come formati di transizione. Non soddisfano i requisiti di fatturazione della Germania e non dovrebbero essere utilizzati in quel contesto. Per il B2B, EN 16931 (COMFORT) è l'impostazione predefinita nella pratica; il B2G in Germania richiede il profilo XRECHNUNG o la XRechnung nativa.

Che cos'è FatturaPA e perché non utilizza la sintassi EN 16931?

FatturaPA è lo schema XML proprio dell'Italia per la fatturazione elettronica, precedente alla EN 16931, ed è il formato richiesto dal Sistema di Interscambio (SDI) per la fatturazione nazionale. I file UBL e CII non sono sostituti validi per le transazioni nazionali. I fornitori transfrontalieri che fatturano a enti pubblici italiani possono invece utilizzare CIUS-IT («FatturaEU»), un profilo conforme alla EN 16931 che il SDI mappa sullo schema nazionale. Ogni file FatturaPA ha un unico elemento radice, <FatturaElettronica>, suddiviso in un FatturaElettronicaHeader (dati di instradamento e dei soggetti) e una o più sezioni FatturaElettronicaBody (righe di dettaglio, totali, condizioni di pagamento). Lo schema è gestito e periodicamente aggiornato dall'Agenzia delle Entrate su fatturapa.gov.it.

Alcuni dettagli strutturali distinguono FatturaPA dai formati basati su UBL o CII:

  • Le fatture destinate agli enti pubblici devono recare una firma digitale (CAdES (.p7m) o XAdES); per le transazioni B2B e B2C la firma è facoltativa, ma comunque consigliata.
  • L'instradamento dipende da un CodiceDestinatario (un codice destinatario di sette cifre registrato presso il SDI) o da un indirizzo di posta elettronica certificata PEC quando non è registrato alcun codice.
  • Il campo TipoDocumento classifica il tipo di transazione. TD01 indica una fattura standard, TD04 una nota di credito e così via: un concetto di classificazione senza un equivalente diretto in UBL o CII nella stessa forma.
  • La denominazione del file segue uno schema fisso: il codice Paese del mittente come prefisso della partita IVA, il numero di partita IVA e un numero progressivo (ad esempio, IT01234567890_00001.xml).

Poiché FatturaPA si colloca al di fuori della famiglia EN 16931, qualsiasi azienda che genera fatture UBL o CII per altri mercati UE necessita di un percorso di conversione dedicato specificamente alle controparti italiane.

Che cos'è Facturae e in cosa differisce da FatturaPA?

Facturae è lo schema XML nazionale della Spagna, utilizzato per la fatturazione B2G dal 2015 tramite la piattaforma FACe e, come FatturaPA, non è costruito sulla sintassi UBL o CII. La versione attuale dello schema è la 3.2.2 (la piattaforma FACe richiede almeno la 3.2.1). Un file Facturae valido segue quattro blocchi principali in una sequenza fissa: l'intestazione del file (con i campi SchemaVersion, Modality e InvoiceIssuerType), il blocco dei soggetti, i dettagli della fattura o del lotto e i totali della fattura. Riordinare tali blocchi provoca un immediato errore di convalida. Lo schema XSD di Facturae impone rigorosamente sia l'ordine dei campi sia i tipi di dati.

L'imminente obbligo di fatturazione elettronica B2B in Spagna previsto dalla legge Crea y Crece non manda in pensione Facturae. Aggiunge UBL, CII ed EDIFACT come formati accettati tra piattaforme private, pur continuando a richiedere una «copia fedele» di ogni fattura in formato UBL da inviare alla piattaforma pubblica dell'AEAT. Ciò rende la Spagna uno dei pochi mercati UE in cui uno schema nazionale preesistente e le sintassi EN 16931 sono entrambi esplicitamente accettati fianco a fianco, anziché l'uno sostituire l'altro.

Punti chiave

  • Germania e Francia condividono la stessa famiglia di formati. I formati basati sulla EN 16931, XRechnung e Factur-X, coprono entrambi i mercati senza uno schema nazionale separato.
  • Italia e Spagna richiedono una logica di schema dedicata. Una pipeline generica UBL/CII non produrrà un file FatturaPA o Facturae valido; entrambi richiedono generazione e convalida appositamente sviluppate.
  • EN 16931 (COMFORT) è il profilo predefinito sicuro per Factur-X/ZUGFeRD. MINIMUM e BASIC WL non contengono dati sufficienti per l'uso nazionale in Germania e non dovrebbero essere considerati intercambiabili con COMFORT.
  • L'adozione di Peppol come livello di trasporto è in crescita, ma non elimina la necessità di generare FatturaPA o Facturae per i mercati che non accettano direttamente UBL.
  • Un rollout su quattro o cinque mercati richiede in genere almeno tre pipeline XML distinte: quella basata su UBL/CII, FatturaPA e Facturae, generate dagli stessi dati di fattura sottostanti.

Che relazione hanno questi formati con Peppol BIS Billing 3.0?

Peppol BIS Billing 3.0 non è un formato di fattura separato. È un CIUS che restringe UBL 2.1 per lo scambio sulla rete Peppol. Prende l'ampio schema UBL 2.1, in gran parte facoltativo, e rende obbligatori campi specifici (ad esempio, ragione sociale, indirizzo e Peppol endpoint ID di entrambe le parti commerciali), così che due qualsiasi aziende sulla rete Peppol possano scambiarsi fatture senza un previo accordo bilaterale su quali campi facoltativi utilizzare. Il modo in cui questo scambio viene effettivamente instradato tra le due parti, tramite access point e il modello a quattro angoli, è un argomento a sé; una guida fiskaly dedicata alla rete Peppol tratta questo meccanismo in modo approfondito.

È per questo che una XRechnung basata su UBL e una fattura Peppol BIS Billing 3.0 possono apparire quasi identiche a livello XML. Entrambe sono profili CIUS conformi alla EN 16931 dello stesso schema UBL di base, con diverse regole sui campi obbligatori applicate al di sopra. FatturaPA e Facturae si collocano del tutto al di fuori di questa relazione, poiché nessuno dei due è un derivato di UBL o CII.

Tabella comparativa: panoramica dei formati

FormatoSintassi di baseTipo di fileConforme alla EN 16931?Mercato/rete principaleLeggibile dall'uomo senza software?
UBL 2.1UBL (OASIS)XML puroParzialmente inclusoDipende dal CIUSRete Peppol, multi-PaeseNon incluso
UN/CEFACT CIICIIXML puroParzialmente inclusoDipende dal CIUSIncorporato nei formati ibridiNon incluso
Peppol BIS Billing 3.0UBL 2.1 (CIUS)XML puroInclusoRete Peppol (obbligatoria in Belgio, volontaria/in crescita nell'UE)Non incluso
XRechnungUBL o CII (CIUS)XML puroInclusoGermania (B2G obbligatoria, B2B accettata)Non incluso
ZUGFeRD / Factur-XCIIIbrido PDF/A-3 + XML incorporatoInclusoprofilo EN 16931/COMFORT e superioriGermania, Francia (obbligatorio in Francia da settembre 2026)Inclusolivello PDF
FatturaPAXML proprietarioXML puroNon inclusoItalia (SDI, obbligatorio dal 2019)Non incluso
FacturaeXML proprietarioXML puroNon inclusoSpagna (B2G dal 2015; B2B insieme a UBL/CII dal 2026 in poi)Non incluso

Come scegliere quale formato o quali formati supportare

  1. Elencare ogni Paese da cui si emette fattura e ogni Paese a cui si emette fattura. L'accettazione dei formati è definita a livello nazionale e un formato valido in un mercato può essere inutile in un altro.
  2. Verificare se il Paese accetta i formati EN 16931 o richiede uno schema proprietario. Germania e Francia accettano i file basati sulla EN 16931. L'Italia richiede specificamente FatturaPA e la Spagna richiede Facturae o una «copia fedele» in UBL a seconda del flusso.
  3. Scegliere tra un formato XML puro e un formato ibrido, dove si ha la possibilità di scelta. XRechnung (XML puro) è adatta all'elaborazione back-office completamente automatizzata; Factur-X/ZUGFeRD è adatto ad ambienti misti in cui talvolta una persona deve ancora aprire e leggere la fattura.
  4. Scegliere il profilo giusto se si genera Factur-X/ZUGFeRD. EN 16931 (COMFORT) copre la maggior parte delle esigenze B2G e B2B standard. Passare a EXTENDED solo se il proprio settore richiede realmente i dati commerciali aggiuntivi.
  5. Verificare il percorso di trasmissione separatamente dal formato. Una XRechnung costruita correttamente deve comunque passare attraverso Peppol o una piattaforma come OZG-RE; un file FatturaPA costruito correttamente deve comunque passare attraverso il SDI.
  6. Sviluppare una logica di conversione quando si supportano più di due formati. Le aziende che operano contemporaneamente in Germania, Francia, Italia e Spagna in genere devono generare almeno tre output XML strutturalmente diversi (basato su UBL/CII, FatturaPA e Facturae) dagli stessi dati di fattura sottostanti.

In conclusione

Ogni principale formato di fattura elettronica dell'UE rientra in una di due famiglie: i formati basati sulla EN 16931 e costruiti sulla sintassi UBL o CII (XRechnung, Factur-X/ZUGFeRD, Peppol BIS Billing 3.0) e i più vecchi schemi nazionali che precedono lo standard europeo (FatturaPA, Facturae). Sapere a quale famiglia appartiene un mercato, e quale profilo o versione di schema specifica si aspetta, conta più che conoscere la direzione generale dell'UE in materia di fatturazione elettronica. Il file generato dal software deve corrispondere esattamente a ciò che la piattaforma del Paese destinatario convaliderà.

Per le scadenze Paese per Paese e lo stato degli obblighi alla base di questi formati, consulta la guida agli obblighi di fatturazione elettronica in Europa di fiskaly. Per la generazione dei formati, la convalida e la connettività Peppol su più mercati da un'unica integrazione, consulta fiskaly E-INVOICE.

Domande frequenti

No. XRechnung è un file XML puro senza componente PDF. ZUGFeRD è un formato ibrido che incorpora un XML strutturato simile, in sintassi CII, all'interno di un PDF leggibile dall'uomo. Entrambi possono essere conformi alla EN 16931, ma sono tipi di file diversi.

Sì, dalla versione ZUGFeRD 2.1 (2020). Utilizzano lo stesso schema XML, lo stesso contenitore PDF/A-3, la stessa struttura a sei profili e persino lo stesso nome del file incorporato, factur-x.xml. Cambia soltanto il nome commerciale a seconda del mercato.

Non come fattura elettronica valida ai sensi della normativa italiana. Il SDI italiano accetta solo XML FatturaPA per le transazioni nazionali B2B, B2C e B2G, quindi un file UBL dovrebbe prima essere convertito in FatturaPA.

Sì. Facturae rimane obbligatorio per la fatturazione B2G spagnola tramite FACe e resta nell'elenco dei formati accettati per lo scambio privato B2B anche con l'aggiunta di UBL, CII ed EDIFACT nell'ambito del quadro normativo Crea y Crece.

Il profilo EN 16931 (chiamato anche COMFORT). Copre completamente lo standard semantico europeo ed è il profilo che la maggior parte dei destinatari del settore pubblico si aspetta. MINIMUM e BASIC WL esistono principalmente per scenari semplici e a bassa automazione e non dovrebbero essere utilizzati per le fatture nazionali tedesche.

No. Peppol BIS Billing 3.0 è costruito direttamente su UBL 2.1. È un profilo d'uso più restrittivo dello stesso schema, non un'alternativa ad esso.

No. I requisiti sui formati sono definiti per Paese. Un'azienda che fattura solo all'interno della Germania, ad esempio, deve gestire soltanto i formati conformi alla EN 16931 accettati in quel Paese (XRechnung o ZUGFeRD/Factur-X), non FatturaPA o Facturae.