Factur-X vs ZUGFeRD vs UBL, una guida pratica alla fatturazione europea
La terminologia attorno alla fatturazione strutturata europea è caotica. Factur-X, ZUGFeRD e UBL sembrano tre formati concorrenti, e molti materiali commerciali li trattano proprio così. In realtà non sono in concorrenza. Due di essi sono la stessa cosa sotto nomi nazionali diversi, e il terzo si colloca a un livello completamente diverso dello stack. Se il tuo pipeline attraversa confini, ti troverai ad usarli tutti e tre, e capire come si relazionano risparmia una quantità sorprendente di debug.
Ecco la versione pratica.
La risposta breve
- ZUGFeRD è lo standard tedesco di fattura ibrida: PDF/A-3 con XML incorporato.
- Factur-X è il nome francese per la stessa cosa. Gli schemi XML sono allineati a livello di byte con ZUGFeRD 2.x per i profili condivisi da entrambi gli standard.
- UBL è un livello diverso. È il formato di fattura strutturato in puro XML utilizzato su Peppol. Nessun PDF coinvolto.
Quindi la vera domanda non è “Factur-X vs ZUGFeRD vs UBL”. È “PDF ibrido (Factur-X/ZUGFeRD) vs puro XML (UBL).”
ZUGFeRD e Factur-X: stesso file, etichetta diversa
ZUGFeRD è nato in Germania nel 2014 (FeRD = Forum elektronische Rechnung Deutschland). La Francia ha adottato la stessa architettura nel 2017 con il nome Factur-X. A partire da ZUGFeRD 2.1, i profili MINIMUM, BASIC WL, BASIC, EN 16931 e EXTENDED sono allineati a livello di byte con gli equivalenti profili Factur-X. Una fattura ZUGFeRD 2.1 EN 16931 correttamente costruita è una valida fattura Factur-X EN 16931. Non si converte tra i due. Si etichetta il file con il marchio che si aspetta il proprio acquirente.
I profili condivisi, in ordine crescente di dettaglio:
- MINIMUM: il minimo indispensabile per il riferimento contabile. Totale, IVA, fornitore, acquirente.
- BASIC WL (without lines): fattura a livello aggregato, senza voci di riga.
- BASIC: voci di riga, ma solo i campi obbligatori EN 16931 per riga.
- EN 16931: il modello semantico europeo completo di EN 16931. È il livello a cui puntano la maggior parte degli obblighi B2B.
- EXTENDED: estensioni proprietarie su EN 16931. Da utilizzare solo quando entrambe le parti della pipeline comprendono i campi aggiuntivi.
Se stai iniziando da zero e non hai un requisito specifico dell’acquirente, punta su EN 16931. È il minimo comune denominatore che soddisfa i principali obblighi del 2026 e produce lo stesso file indipendentemente da quale marchio nazionale vi si appone.
Dove si inserisce UBL
UBL (Universal Business Language, OASIS) è un’entità diversa. Non è un PDF. È un documento XML autonomo, progettato per viaggiare tra macchine. La rete Peppol gira su UBL. L’obbligo belga del 1° gennaio 2026, la fatturazione governativa olandese e il canale transfrontaliero verso il Chorus Pro francese usano tutti UBL su Peppol BIS Billing 3.0.
Quindi la relazione è:
- Factur-X/ZUGFeRD = PDF/A-3 con XML all’interno. Ottimizzato per “ho bisogno di una copia leggibile dall’uomo E di una copia leggibile dalla macchina nello stesso file.”
- UBL = solo XML. Ottimizzato per “macchine su entrambi i lati, la rete gestisce il trasporto.”
In pratica, la maggior parte dei pipeline europei ha bisogno di entrambi. La fattura viene emessa come UBL su Peppol perché è ciò che l’obbligo richiede per il trasporto, e si archivia una copia Factur-X/ZUGFeRD come registro leggibile dall’uomo perché è ciò che richiede la legge sull’archiviazione fiscale.
Una particolarità da notare: ZUGFeRD 2.x e Factur-X 1.x possono incorporare anche UBL, non solo CII. Lo stesso PDF ibrido può contenere al suo interno CII (Cross Industry Invoice, lo schema originale) o UBL. La maggior parte dei pipeline tedeschi usa CII; la maggior parte dei pipeline francesi usa UBL. Entrambi sono validi. Se ricevi un file Factur-X e il tuo parser conosce solo CII, perderai silenziosamente la metà delle fatture in entrata dal mercato tedesco.
Quando usare quale
Usa solo UBL quando la fattura verrà elaborata esclusivamente da macchine e la rete già gestisce l’archiviazione su entrambi i lati. Questo è il caso Peppol, business-to-government e la maggior parte dei flussi del settore pubblico.
Usa Factur-X/ZUGFeRD quando:
- Il tuo acquirente è un’azienda privata che vuole guardare la fattura prima di pagarla.
- Hai bisogno che il PDF leggibile dall’uomo sia la copia legale archiviata.
- Stai attraversando il confine tedesco o francese, dove il formato ibrido è quello dominante nel settore privato.
- Vuoi un unico file da inviare via e-mail e da importare nel sistema contabile.
Usa entrambi, in parallelo, quando l’obbligo richiede la consegna Peppol (UBL) e l’archiviazione fiscale richiede una copia leggibile dall’uomo (PDF/A-3). Questa è la realtà concreta per il B2B in Belgio dal gennaio 2026 e sarà la realtà in Francia a partire da settembre 2026.
I casi limite transfrontalieri
Alcuni scenari che creano problemi:
- L’acquirente richiede Factur-X, il fornitore invia ZUGFeRD. Non è necessaria alcuna conversione se entrambi sono 2.1 EN 16931. Basta confermare la versione. Vediamo pipeline che effettuano riscritture XML inutili in questo caso.
- L’acquirente richiede UBL su Peppol, il fornitore dispone solo di Factur-X. È necessario estrarre l’XML incorporato, trasformare CII in UBL e inviare su Peppol. Questo è il divario “da ibrido a puro XML” più comune.
- Il fornitore invia Factur-X con UBL all’interno, il parser dell’acquirente si aspetta CII. Analizza silenziosamente zero righe. Serve un parser che tenti entrambi.
- PDF/A-3 valido, XML incorporato non valido. La validazione PDF/A-3 non guarda dentro l’allegato. Serve un validatore che controlli l’XML rispetto a EN 16931 separatamente.
È esattamente ciò che fa il nostro validatore pubblico su /check: controlla la conformità PDF/A-3, estrae l’allegato indipendentemente dal fatto che sia CII o UBL, e valida l’XML rispetto al modello semantico EN 16931. Si ottiene un verdetto per ogni livello separatamente, così quando qualcosa fallisce si sa se il problema riguarda il contenitore, lo schema o i dati.
Il punto chiave
Smetti di pensare a Factur-X, ZUGFeRD e UBL come alternative. Factur-X e ZUGFeRD sono lo stesso involucro ibrido sotto due marchi nazionali. UBL è il formato puro XML su Peppol. I pipeline transfrontalieri reali nel 2026 producono entrambi, archiviano il formato ibrido e trasmettono l’XML puro. Chi ti dice di sceglierne uno solo non ha attraversato abbastanza confini.