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:

