FCFatturaCheck

Guide/Validazione XML

Come validare l'XML della fattura elettronica prima dell'SDI

Un controllo strutturale sull'XML FatturaPA riduce rifiuti e ritardi. Ecco cosa verificare e dove entra FatturaCheck.

L'invio al Sistema di Interscambio (SDI) è l'ultimo passo del ciclo di fatturazione elettronica in Italia. Se il file XML è malformato, se manca un campo obbligatorio o se il formato di trasmissione non coincide con la versione dichiarata, il documento viene scartato e il processo riparte: nuove notifiche, nuovo invio, tempo perso tra commerciale, amministrazione e commercialista. Validare prima dell'invio — dal gestionale, dall'ERP o con uno strumento dedicato — è la misura più semplice per ridurre questi rifiuti, soprattutto se si fattura verso la Pubblica Amministrazione o verso clienti privati italiani da sistemi esteri poco abituati allo schema FatturaPA.

Cosa significa “validare” una FatturaPA

In pratica si controllano almeno tre livelli. Il primo è che il file sia XML ben formato: encoding corretto (di solito UTF-8), tag chiusi nell'ordine giusto, nessun carattere illegale e nessuna struttura troncata dall'export. Il secondo è la conformità allo schema ufficiale (i pacchetti XSD dell'Agenzia delle Entrate) e alle regole di business applicate dall'SDI. Il terzo è la correttezza dei dati: Partita IVA plausibile, codice destinatario coerente con il canale, date nel formato atteso, totali e riepilogo IVA presenti. Alcuni errori emergono solo dopo l'accettazione formale; altri, invece, si possono intercettare subito con un pre-check automatico.

FatturaCheck oggi copre soprattutto il primo livello e una parte sostanziale del secondo tramite un motore di regole MVP: radice FatturaElettronica, namespace, attributo versione, header (trasmissione, cedente, cessionario) e body (dati documento, linee, riepilogo). Non sostituisce la XSD ufficiale completa e non invia nulla all'SDI. L'obiettivo è dare un segnale chiaro e actionable prima che il file lasci il vostro sistema.

Checklist rapida prima dell'invio

Prima di trasmettere, conviene ripassare questa lista anche se il gestionale “sembra” generare tutto correttamente. Molti rifiuti nascono da template aggiornati a metà o da anagrafiche incomplete importate da un CRM.

  1. Radice e versione — elemento FatturaElettronica con versione coerente (tipicamente FPA12 verso PA, FPR12 verso privati, FSM10 per lo semplificato dove applicabile).
  2. Namespace — dichiarazione xmlns allineata agli schemi Agenzia delle Entrate; assenza o valori strani sono un segnale d'allarme per i parser a valle.
  3. DatiTrasmissione — IdTrasmittente (paese + codice), ProgressivoInvio, FormatoTrasmissione e CodiceDestinatario (o PEC quando il codice generico lo richiede).
  4. Anagrafiche — CedentePrestatore e CessionarioCommittente con IdFiscaleIVA e/o CodiceFiscale, sede e anagrafica compilati in modo leggibile.
  5. Documento — TipoDocumento, Divisa, Data, Numero; almeno una linea in DettaglioLinee e un DatiRiepilogo con aliquota, imponibile e imposta.

Come usare FatturaCheck in tre passi

Apri la pagina /validate, carica il file .xml (fino a 5 MB) e leggi l'elenco di errori e avvisi. Ogni issue ha un codice tipo FE_PIVA_FORMAT e un path sul nodo coinvolto: utile per correggere il template o il mapping ERP senza indovinare quale campo ha fallito. Il piano Free consente alcune validazioni al giorno senza account; Starter (€19/mese) e Pro (€49/mese) aumentano i volumi quando automatizzi o integri il controllo in una pipeline.

L'XML viene elaborato in memoria per la richiesta e non viene archiviato. Se il pre-check è verde, puoi comunque far passare il file dalla XSD ufficiale o dal canale del commercialista prima dell'invio definitivo: il pre-check riduce gli scarti evidenti, non sostituisce la responsabilità fiscale dell'emittente.

Quando ha più senso un pre-check automatico

I team che traggono più beneficio sono quelli che generano XML da sistemi non nativamente italiani (ERP esteri, marketplace, tool interni), quelli che fatturano in volumi medi con pochi operatori e quelli che stanno migrando il mapping tra due gestionali. In questi contesti un errore ripetuto (CAP a quattro cifre, data in formato locale, codice destinatario di lunghezza sbagliata) può moltiplicarsi su decine di documenti prima che qualcuno se ne accorga dalle notifiche SDI.

Anche chi usa già un intermediario può giovarsene: validare in casa riduce i ticket di supporto e accelera il ciclo “genera → correggi → invia”. Il pre-check di FatturaCheck è pensato proprio per questo momento, con messaggi in inglese e italiano nel payload API.

Cosa non fa (ancora) questo pre-check

Queste limitazioni sono intenzionali nell'MVP: meglio un controllo onesto e spiegabile che una promessa di “conformità totale”. Per i rifiuti tipici dopo l'invio, leggi la guida sui errori comuni di rifiuto SDI. Per interpretare i codici del motore, consulta i codici FE_*.

Controlla il tuo XML prima dell'invio all'SDI

FatturaCheck è un pre-check basato su regole (MVP): non è la XSD ufficiale completa e non invia nulla all'SDI. L'XML non viene archiviato.

Valida gratis