Nordlet

← Blog

Conformità EN 16931: Peppol, Factur-X e ZUGFeRD verificati rispetto alle regole ufficiali

Abbiamo sottoposto i file di fattura generati da Nordlet alle regole di validazione ufficiali EN 16931. I file Peppol e rumeni passano la verifica. I file Factur-X violano due regole, e questo articolo le elenca.

Nordlet Team · · 3 min di lettura

La norma EN 16931 è lo standard europeo per il contenuto di una fattura elettronica. Definisce i termini commerciali che una fattura deve contenere (venditore, acquirente, righe, riepilogo IVA, totali) e le regole aziendali che tali termini devono soddisfare, ad esempio che il riepilogo IVA corrisponda al totale della fattura. Lo standard può essere redatto in due formati XML: UBL 2.1 e UN/CEFACT Cross Industry Invoice (CII).

La maggior parte dei formati di fatturazione elettronica europei si basa sulla norma EN 16931:

  • Peppol BIS Billing 3.0 è la norma EN 16931 in formato UBL con regole Peppol aggiuntive.
  • e-Factura rumena (CIUS-RO) è la norma EN 16931 in formato UBL con regole rumene aggiuntive.
  • Factur-X (Francia) e ZUGFeRD 2.3 (Germania) integrano la norma EN 16931 in formato CII. Nel profilo "EN 16931", che Nordlet compila, i due formati utilizzano lo stesso codice XML.

Se una fattura viola una regola della norma EN 16931, viola automaticamente anche qualsiasi formato basato su di essa.

Come abbiamo eseguito la verifica

La Commissione Europea fa riferimento alle regole di validazione pubblicate su GitHub dal comitato tecnico CEN per la fatturazione elettronica (CEN/TC 434). Abbiamo utilizzato la versione più recente, la 1.3.17 del 12 ottobre 2026, sia per UBL che per CII. Le regole sono scritte in Schematron e compilate in XSLT, e le abbiamo eseguite tramite il motore XSLT Saxon-HE 12.5.

I file di fattura sono stati generati dal codice attuale di Nordlet utilizzando dati di esempio. Il venditore è un'azienda lituana; gli acquirenti sono un'azienda lituana, un'azienda tedesca e, nel caso dell'esportazione Peppol, un'azienda statunitense. Le fatture di esempio presentano una riga con aliquota IVA al 21% e una riga allo 0% con relativa nota di esenzione.

Risultati

Cosa genera Nordlet File verificati Risultato
Peppol BIS Billing 3.0 (UBL) 7: fattura nazionale, nota di credito, cessione intra-UE, esportazione, inversione contabile (reverse charge), venditore non registrato ai fini IVA, fattura in USD con sconto Tutti superati: 0 errori, 0 avvisi
e-Factura rumena (UBL, CIUS-RO) 4: fattura nazionale, nota di credito, cessione intra-UE, fattura in USD con sconto Tutti superati
Factur-X / ZUGFeRD (CII, profilo EN 16931) 4: fattura nazionale, nota di credito, cessione intra-UE, fattura in USD con sconto Tutti e 4 non superati, 1 errore ciascuno

Le due regole violate dai file Factur-X

BR-Z-10: una riga a zero percento non deve riportare un motivo di esenzione

La norma EN 16931 prevede categorie IVA distinte per un'aliquota dello 0% ("Z", zero rated) e per un'operazione esente ("E", exempt). Solo un'operazione esente specifica un motivo. La regola BR-Z-10 stabilisce che un riepilogo IVA appartenente alla categoria "Z" non debba contenere un codice motivo di esenzione (BT-121) o un testo descrittivo del motivo di esenzione (BT-120).

Il generatore Factur-X inserisce il testo del motivo "Taux zéro" in ogni riepilogo a zero percento, facendo fallire tre dei quattro file. Ignora inoltre la nota di esenzione inserita sulla riga. Il generatore Peppol gestisce correttamente la stessa riga: quando una riga allo 0% include una nota di esenzione, la compila come esente ("E") e utilizza la nota come motivazione.

BR-IC-12: una cessione intra-UE deve indicare il Paese di consegna

La regola BR-IC-12 stabilisce che, quando il riepilogo IVA appartiene alla categoria "K" (cessione intracomunitaria), il codice del Paese di consegna (BT-80) non deve essere vuoto. Il Paese di consegna attesta che le merci hanno lasciato il Paese del venditore.

Il generatore Factur-X non inserisce il Paese di consegna, causando il fallimento del file intra-UE. Il generatore Peppol inserisce il Paese dell'acquirente come Paese di consegna per queste vendite.

Cosa non copre questa verifica

  • Schema XML. Abbiamo verificato unicamente le regole di business, escludendo i controlli sugli schemi UBL e CII (XSD).
  • Campi non gestiti da Nordlet. Le regole relative a termini non presenti nei file non sono state eseguite. Ne sono un esempio gli addebiti a livello di documento, gli importi prepagati, il periodo di fatturazione e i riferimenti agli ordini d'acquisto.
  • Regole nazionali aggiuntive rispetto alla norma EN 16931. Non abbiamo verificato le regole della riforma francese sulla fatturazione elettronica né le regole tedesche XRechnung. Le regole specifiche di Peppol vengono controllate da uno script Nordlet separato, che utilizza i set di regole di OpenPeppol.
  • La componente PDF di Factur-X. Una fattura Factur-X è un file PDF/A-3 con il file XML allegato. La verifica riguarda esclusivamente il file XML.