Quando l'SDI rifiuta una fattura, il messaggio ufficiale cita spesso regole di schema o di business. In parallelo, un pre-check locale (come FatturaCheck) può evidenziare gli stessi problemi con codici interni FE_*, così correggi il file prima di un nuovo invio. Ricorda: noi non trasmettiamo all'SDI e non sostituiamo la XSD ufficiale; offriamo un motore di regole MVP utile a intercettare errori strutturali e campi obbligatori mancanti, senza archiviare l'XML.
Di seguito trovi le cause più ricorrenti osservate da chi genera FatturaPA da ERP esteri, marketplace o template aggiornati a metà. Non è un elenco esaustivo delle notifiche SDI, ma una mappa operativa per capire dove intervenire nel file.
1. Codice destinatario e canale di consegna
Per le fatture verso privati (FPR12) il CodiceDestinatario è tipicamente di 7 caratteri; verso PA (FPA12) di 6. Se usi il codice generico 0000000 e ti aspetti la consegna via PEC, verifica che il campo PECDestinatario sia valorizzato con un indirizzo valido. Lunghezze sbagliate, spazi residui o confusione tra canale PA e B2B sono tra le cause più banali — e più frequenti — di scarto.
Errori tipici lato FatturaCheck: FE_CODICE_DEST_MISSING, FE_CODICE_DEST_LEN_PR, FE_CODICE_DEST_LEN_PA, FE_PEC_REQUIRED. Correggi l'anagrafica cliente alla fonte, non solo la copia XML della singola fattura.
2. FormatoTrasmissione vs versione
L'attributo versione sulla radice e il campo FormatoTrasmissione devono concordare (FPA12 / FPR12 / FSM10). Un mismatch genera avvisi o errori (FE_FORMATO_VERSIONE_MISMATCH, FE_FORMATO_INVALID, FE_FORMATO_MISSING) e confonde i canali di invio. Succede spesso quando si clona un template PA per un cliente privato senza aggiornare entrambi i campi.
3. Partita IVA e Codice Fiscale
La P.IVA italiana è di 11 cifre; il Codice Fiscale ha formati diversi (11 o 16 caratteri alfanumerici). Errori di padding, spazi, prefissi paese duplicati o lettere minuscole mal gestite nel mapping ERP producono FE_PIVA_FORMAT, FE_CF_FORMAT, FE_ID_CODICE_FORMAT o FE_TAX_ID_MISSING. Controlla sia CedentePrestatore sia CessionarioCommittente, e anche IdTrasmittente in DatiTrasmissione: tre punti distinti, stesso tipo di sbaglio.
4. Sede e anagrafica incomplete
Indirizzo, CAP (5 cifre in Italia), Comune e Nazione sono campi ricorrenti negli scarti. Un CAP a quattro cifre importato da un sistema estero, una nazione vuota o una denominazione mancante bastano a far fallire il controllo. In FatturaCheck compaiono come FE_SEDE_MISSING, FE_INDIRIZZO_MISSING, FE_CAP_FORMAT, FE_COMUNE_MISSING, FE_NAZIONE_MISSING, oltre a FE_ANAGRAFICA_MISSING / FE_ANAGRAFICA_NAME se manca Denominazione o Nome/Cognome.
5. Dati generali del documento
TipoDocumento (quattro caratteri, es. TD01), Data in formato AAAA-MM-GG, Numero e Divisa devono esserci. Valori vuoti o date “all'italiana” (GG/MM/AAAA) senza conversione sono una causa classica di rifiuto: FE_TIPO_DOC_MISSING, FE_TIPO_DOC_FORMAT, FE_DATA_FORMAT, FE_NUMERO_MISSING, FE_DIVISA_MISSING. Se il numero fattura include caratteri non ammessi dal vostro canale, normalizzatelo nel mapping prima dell'export.
6. Linee e riepilogo IVA
Serve almeno una riga in DettaglioLinee (NumeroLinea, Descrizione, PrezzoTotale, AliquotaIVA dove previsto) e almeno un blocco DatiRiepilogo con AliquotaIVA, ImponibileImporto e Imposta. Codici frequenti: FE_LINEE_MISSING, FE_DESC_LINEA_MISSING, FE_PREZZO_TOT_MISSING, FE_RIEPILOGO_MISSING, FE_RIEP_IMPONIBILE_MISSING, FE_RIEP_IMPOSTA_MISSING. Anche se i totali “sembrano giusti” a occhio, un riepilogo assente o incompleto fa scartare il file.
Come procedere dopo uno scarto
- Leggi il codice e il messaggio SDI (o i FE_* del pre-check) senza limitarti al testo generico della notifica.
- Correggi la fonte — anagrafica cliente, template XML, mapping ERP — non solo una copia manuale del singolo file.
- Rivalida in locale su FatturaCheck e, se possibile, contro la XSD ufficiale del vostro intermediario.
- Ritrasmetti dal canale abituale (intermediario, PEC, API) e verifica che la notifica di consegna arrivi come atteso.
Un ciclo “pre-check → correzione → invio” costa meno di una catena di rifiuti ripetuti. Per il flusso di controllo preventivo vedi come validare l'XML; per il dizionario dei codici, i codici errore FE_*. Piano Free per le prove; Starter €19 e Pro €49 quando i volumi crescono.