ValidateFin
Torna al blog
·Aggiornato 11 mar 2026·UBL·Di Eliel Nicaise

Errori comuni UBL e Peppol BIS 3.0 e come correggerli

Guida pratica agli errori di validazione UBL più comuni e alle regole Peppol BIS 3.0, inclusi i codici di errore BR e le correzioni.

Perché i file UBL non superano la validazione Peppol

Le fatture UBL (Universal Business Language) trasmesse tramite la rete Peppol devono superare tre livelli di validazione: schema XSD UBL 2.1, regole aziendali EN 16931 (codici BR) e regole CIUS Peppol BIS 3.0 (codici PEPPOL).

Ogni livello può rifiutare una fattura. Questa guida tratta gli errori più comuni che i team incontrano quando generano o inviano fatture Peppol live.

I codici di errore seguono uno schema strutturato: BR-XX per le regole aziendali EN 16931, PEPPOL-XX per le regole specifiche Peppol e UBL-SR-XX per le regole sintattiche UBL.

Errori comuni e correzioni

Gli errori di validazione UBL/Peppol più frequentemente segnalati:

BR-01: La fattura deve avere un identificatore di specifica

L'elemento <cbc:CustomizationID> è mancante o vuoto. Per Peppol BIS 3.0 deve contenere esattamente: urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0

BR-02: La fattura deve avere un numero di fattura

L'elemento <cbc:ID> è mancante o vuoto. Il numero di fattura deve essere univoco e non può consistere solo di spazi.

BR-04: La data fattura è obbligatoria

<cbc:IssueDate> è mancante. La data deve essere specificata nel formato YYYY-MM-DD, es. 2026-01-15. Il formato GG/MM/AAAA non è accettato.

Errori di struttura e formato

Blog.post12.s3.intro

Campi obbligatori mancanti per fornitori/acquirenti

Sia AccountingSupplierParty che AccountingCustomerParty devono contenere PartyName, PostalAddress (con CountryIdentificationCode) e PartyTaxScheme (con TaxSchemeID=VAT e CompanyID).

ID TaxScheme non valido

L'elemento TaxScheme/ID deve contenere esattamente 'VAT', non 'IVA', 'TVA', 'MwSt' o altre varianti locali.

Calcolo totale riga fattura

LineExtensionAmount deve essere uguale a Quantity × Price.PriceAmount (meno eventuali sconti). La somma di tutte le righe deve corrispondere a TaxExclusiveAmount in LegalMonetaryTotal.

Errori IVA e fiscali

Blog.post12.s4.intro

Codice categoria IVA non valido

UBL/EN 16931 definisce codici di categoria specifici: S (Standard), Z (Aliquota zero), E (Esente), AE (Inversione contabile), K (Fornitura intracomunitaria CE), G (Esportazione fuori UE), O (Non imponibile), L (Isole Canarie), M (Ceuta/Melilla). Non usare un codice non presente in questo elenco.

Ripartizione IVA mancante

L'elemento TaxTotal deve contenere almeno un TaxSubtotal per ogni categoria IVA distinta applicata. Una fattura con aliquote IVA miste necessita di voci TaxSubtotal separate per ciascuna.

Blog.post12.s4.e3.label

Blog.post12.s4.e3.desc

Valida le tue fatture UBL gratuitamente

ValidateFin esegue una validazione completa in tre fasi: schema XSD, regole aziendali EN 16931 e regole CIUS Peppol BIS 3.0. Gli errori vengono mostrati con il loro codice BR/PEPPOL e il percorso XML errato.

Apri il validatore UBL

Domande frequenti

Qual è la differenza tra i codici di errore BR e PEPPOL?

I codici BR (es. BR-01, BR-CO-15) provengono dalla norma EN 16931 e si applicano a tutte le fatture elettroniche conformi in Europa. I codici PEPPOL (es. PEPPOL-EN16931-R004) sono regole aggiuntive specifiche Peppol BIS 3.0 che si applicano solo alle trasmissioni tramite rete Peppol.

Posso inviare una fattura UBL senza la rete Peppol?

Sì. UBL può essere inviato direttamente tramite API, email, portale o altri canali. Le regole Peppol BIS 3.0 si applicano solo alla rete Peppol. Per altri canali potrebbe essere necessario rispettare solo EN 16931 e i CIUS nazionali.

Come arrotondo correttamente gli importi IVA in UBL?

EN 16931 consente una tolleranza di arrotondamento di ±0,01€ per riga. Per il totale, devi sommare tutti gli importi delle righe e poi arrotondare a 2 decimali. Evita di usare l'aritmetica in virgola mobile per i calcoli finanziari.

CustomizationID è obbligatorio per tutte le fatture UBL?

CustomizationID è obbligatorio per Peppol BIS 3.0. Per altri CIUS (come XRechnung o implementazioni Peppol nazionali) è richiesto un valore diverso. Controlla sempre il CIUS specifico del paese di destinazione.

Blog.post12.faq.q5

Blog.post12.faq.a5

Blog.post12.faq.q6

Blog.post12.faq.a6

Blog.post12.faq.q7

Blog.post12.faq.a7

Blog.post12.faq.q8

Blog.post12.faq.a8

Blog.post12.faq.q9

Blog.post12.faq.a9

Blog.post12.faq.q10

Blog.post12.faq.a10