Generatore XML Fattura Elettronica
Crea il file .xml (FatturaPA vers. 1.2.2) pronto per l'invio al Sistema di Interscambio (SdI). Valida le Partite IVA con algoritmo di Luhn ed evita gli scarti formali. Non richiede registrazione o abbonamenti.
Crea il file .xml (FatturaPA vers. 1.2.2) pronto per l'invio al Sistema di Interscambio (SdI). Valida le Partite IVA con algoritmo di Luhn ed evita gli scarti formali. Non richiede registrazione o abbonamenti.
👨💻 Chi lo ha realizzato
Sviluppato e mantenuto da ingegneri software indipendenti. Motore di calcolo basato esclusivamente sulle normative ufficiali vigenti. (Zero-Backend: nessun dato viene inviato a server esterni).
🔒 Privacy Zero-Backend
Il file XML viene composto nel browser: dati del fornitore, del cliente e importi non vengono inviati a server. L'unico dato conservato nel dispositivo è l'elenco dei numeri di fattura già generati, usato per avvisarti dei duplicati, nel rispetto dei principi degli artt. 5 e 25 del GDPR.
📚 Fonti normative
D.Lgs. 127/2015, D.P.R. 633/1972 art. 21, specifiche tecniche FatturaPA versione 1.2 e elenco dei controlli del Sistema di Interscambio pubblicati dall'Agenzia delle Entrate, D.M. 17 giugno 2014 (bollo sui documenti informatici).
Il perimetro normativo della fatturazione elettronica in Italia impone il rigoroso rispetto dell'XML Schema Definition (XSD) in versione 1.2.2 emanato dall'Agenzia delle Entrate. Questo generatore client-side è stato ingegnerizzato appositamente per le Partite IVA, risolvendo alla radice e in via automatizzata i tre errori formali più frequenti che causano la temuta ricevuta di scarto da parte del Sistema di Interscambio (SdI).
Una vulnerabilità classica nei software non aggiornati o nella compilazione manuale è la formattazione inesatta del tag <AliquotaIVA>. Il SdI scarta sistematicamente i file in cui l'aliquota è espressa come fattore decimale (ad esempio, 0.22). L'algoritmo di StrumentiUtili converte, formatta e impone forzatamente l'espressione nominale percentuale tassativa a due cifre decimali (es. 22.00), neutralizzando l'Errore 00424.
Inoltre, qualora la prestazione sia configurata come esente o non imponibile (Aliquota 0%), la business logic del portale interviene attivamente per prevenire l'Errore 00400. L'interfaccia obbligherà l'utente alla valorizzazione del nodo <Natura> (es. N2.2 per i contribuenti in Regime Forfettario o N3.1 per le esportazioni), bloccando la generazione dell'XML in caso di omissione.
L'invio di Partite IVA inesistenti, scaturite da banali errori di digitazione, causa lo scarto istantaneo dell'intero documento (Errore 00305). Il nostro script integra nativamente la verifica matematica locale tramite la Formula di Luhn (modulo 10) sulle 11 cifre inserite. Questa validazione client-side rileva le incongruenze nel check-digit finale, avvisandoti preventivamente prima ancora che il file venga generato.
Parallelamente, il sistema sorveglia l'integrità del Codice Destinatario (Errore 00311), assicurandosi che la stringa contenga esattamente 7 caratteri (per B2B) o 6 caratteri (per fatturazione P.A.). Qualora il cliente sia un privato cittadino sprovvisto di PEC o codice univoco, è concesso forzare il blocco utilizzando l'override convenzionale a sette zeri: 0000000.
L'architettura del nodo XML <DatiRiepilogo> (il cosiddetto "Castelletto IVA") rappresenta l'ostacolo computazionale più arduo nella fatturazione elettronica manuale. L'applicativo mappa in tempo reale (tramite funzioni di array mapping JavaScript) tutte le righe di prodotto inserite dall'utente.
Successivamente, aggrega matematicamente l'Imponibile e l'Imposta raggruppandoli per combinazioni univoche di Aliquota IVA e Codice Natura. Questa ricomposizione esatta previene la discordanza tra il totale delle linee e i riepiloghi finali (Errori 00419 e 00421), restituendo un castelletto IVA coerente con le righe. Prima della trasmissione il file va completato con gli indirizzi reali di fornitore e cliente, che il generatore imposta con valori segnaposto.
Scaricare il file XML da questa pagina è solo il primo passo. Essendo uno strumento Zero-Backend, noi generiamo il documento, ma la trasmissione fiscale spetta a te. Segui questa procedura in 3 step:
Compila il form prestando attenzione alle Partite IVA. Clicca su "Scarica File XML". Il file verrà salvato nella tua cartella Download con la nomenclatura ufficiale richiesta dallo Stato (es. IT01234567890_00001.xml).
Entra nel portale Fatture e Corrispettivi dell'Agenzia delle Entrate utilizzando le tue credenziali SPID, CIE o CNS. Puoi usare anche il portale della tua Camera di Commercio o software di terze parti.
Cerca la sezione "Trasmissione" e seleziona l'opzione "Carica un file XML". Seleziona il file appena scaricato. Il sistema dell'Agenzia effettuerà i controlli formali e ti rilascerà, entro 5 giorni, la ricevuta di avvenuta consegna (o di scarto, in caso di pendenze gravi).
Il file XML della fattura elettronica non è un documento testuale ma una struttura dati sottoposta a validazione automatica dal Sistema di Interscambio. Due sono i meccanismi computazionali che determinano l'accettazione o lo scarto: il controllo di integrità della partita IVA e la quadratura del castelletto IVA.
L'algoritmo appartiene alla famiglia delle verifiche di parità pesata e intercetta la totalità degli errori di digitazione su singola cifra e la quasi totalità delle inversioni fra cifre adiacenti. Il controllo è puramente matematico e non accerta l'effettiva esistenza del soggetto: una partita IVA formalmente valida ma cessata supera la verifica locale e viene respinta soltanto dai controlli anagrafici del Sistema di Interscambio.
Il castelletto è il punto in cui si concentra la maggior parte degli scarti evitabili. La causa tipica non è un errore di calcolo ma un problema di arrotondamento: sommare valori già arrotondati riga per riga produce risultati diversi dall'arrotondamento della somma. Su una fattura con molte righe lo scostamento di un centesimo è sufficiente a far respingere il documento, perché il validatore applica un confronto esatto.
| Riga | Descrizione | Imponibile | Aliquota |
|---|---|---|---|
| 1 | Consulenza tecnica | 1.500,00 EUR | 22% |
| 2 | Materiale editoriale | 400,00 EUR | 4% |
| 3 | Assistenza continuativa | 600,00 EUR | 22% |
| Riepilogo 22% | Righe 1 e 3 | 2.100,00 EUR | Imposta 462,00 EUR |
| Riepilogo 4% | Riga 2 | 400,00 EUR | Imposta 16,00 EUR |
| Totale documento | — | 2.500,00 EUR | Imposta 478,00 EUR |
Si noti che i blocchi di riepilogo sono due e non tre: l'aggregazione avviene per aliquota, non per riga. Un documento che esponesse tre riepiloghi, uno per riga, verrebbe scartato pur essendo aritmeticamente corretto, perché violerebbe la regola di unicità del blocco per ciascuna combinazione di aliquota e natura.
Quando l'aliquota è pari a zero il tracciato impone la valorizzazione del campo Natura, che spiega la ragione giuridica dell'assenza di imposta. L'omissione genera lo scarto per incoerenza fra aliquota nulla e natura mancante. È l'errore più frequente fra i contribuenti in regime forfettario, che devono indicare il codice relativo alle operazioni non soggette per effetto del proprio regime agevolato.
| Campo | Codice | Significato |
|---|---|---|
| TipoDocumento | TD01 | Fattura ordinaria |
| TipoDocumento | TD04 | Nota di credito |
| TipoDocumento | TD05 | Nota di debito |
| TipoDocumento | TD06 | Parcella professionale |
| RegimeFiscale | RF01 | Regime ordinario |
| RegimeFiscale | RF19 | Regime forfettario |
| Natura | N1 | Operazioni escluse ex articolo 15 |
| Natura | N2.2 | Operazioni non soggette, altri casi, tipiche dei forfettari |
| Natura | N3.1 | Operazioni non imponibili, esportazioni |
| Natura | N4 | Operazioni esenti ex articolo 10 |
| CausalePagamento | A | Prestazioni di lavoro autonomo abituale |
| CausalePagamento | M | Lavoro autonomo non esercitato abitualmente |
| CausalePagamento | Q | Provvigioni ad agenti e rappresentanti |
Attenzione: le specifiche tecniche del tracciato vengono aggiornate periodicamente dall'Agenzia delle Entrate e l'introduzione di nuovi codici o controlli può rendere non conformi documenti prodotti secondo versioni precedenti. Il file generato da questo strumento va verificato con il proprio intermediario o software gestionale prima della trasmissione al Sistema di Interscambio.
I casi seguenti sono stati riprodotti nel generatore. I totali sono quelli del riepilogo laterale, che nel file XML diventano ImportoTotaleDocumento.
Il cliente versa i 144 € all'Erario con il codice tributo 1040 entro il 16 del mese successivo al pagamento. Il consulente li recupera in dichiarazione.
Nel file compaiono due blocchi DatiRiepilogo, uno per aliquota. Un'unica aliquota per entrambe le righe sarebbe un errore sostanziale, da correggere con nota di credito e nuova fattura.
Sopra 77,47 € la fattura del forfettario richiede il bollo virtuale da 2 €, che l'Agenzia addebita trimestralmente: il generatore non lo inserisce, quindi va aggiunto nel file prima dell'invio, insieme agli indirizzi reali delle parti.
Il documento scartato si considera giuridicamente non emesso. Occorre correggere l'errore segnalato dal codice di scarto e ritrasmettere il file entro cinque giorni dalla notifica, mantenendo la data e il numero originari. Se il termine viene rispettato non si incorre in alcuna sanzione per tardiva emissione, perché la trasmissione si considera tempestiva.
Sì. L'obbligo si è esteso a tutti i titolari di partita IVA, senza più esclusioni legate al regime o al volume dei ricavi. Il forfettario espone l'operazione senza IVA, indicando il regime fiscale corrispondente e la natura relativa alle operazioni non soggette, e applica l'imposta di bollo virtuale quando l'importo supera la soglia di legge.
Il generatore produce un tracciato conforme alle specifiche e ne verifica la coerenza formale, compresa la quadratura del castelletto e la validità del codice di controllo delle partite IVA. La trasmissione resta però un passaggio separato: va effettuata tramite il portale Fatture e Corrispettivi, un intermediario abilitato o un canale accreditato. Questo strumento non invia nulla ad alcun sistema.
Sono i due recapiti alternativi attraverso cui il Sistema di Interscambio consegna il documento. Il codice destinatario è un identificativo di sette caratteri associato al canale telematico del ricevente. In assenza di codice si valorizza il campo con sette zeri e si indica la PEC del destinatario. Se nessuno dei due è noto, la fattura viene comunque recapitata nell'area riservata del cessionario.
No. Una volta consegnata, la fattura è immodificabile. La rettifica avviene esclusivamente mediante emissione di una nota di credito, che storna in tutto o in parte il documento originario, o di una nota di debito per gli aumenti. Entrambe seguono lo stesso tracciato e le stesse regole di trasmissione della fattura.
No. La conservazione a norma richiede l'apposizione di riferimenti temporali opponibili a terzi, la generazione di pacchetti di archiviazione conformi e la garanzia di integrità e leggibilità per dieci anni. Il salvataggio su disco o su un servizio cloud generico non integra questi requisiti. Il servizio di conservazione gratuito offerto dall'Agenzia delle Entrate va attivato espressamente mediante adesione.
Il generatore di XML per la fatturazione elettronica è un'applicazione 100% client-side, senza alcun backend. Le partite IVA, i codici fiscali, le ragioni sociali, gli indirizzi e gli importi dei tuoi clienti vengono composti nel tracciato direttamente dal browser, sul tuo dispositivo. Il file XML nasce localmente e resta nella tua esclusiva disponibilità: nessun dato di fatturazione transita su nostri server, perché nessun server di elaborazione esiste.
Il punto è particolarmente rilevante perché una fattura contiene dati personali di un terzo, il cliente, rispetto ai quali tu operi come titolare del trattamento ai sensi del Regolamento UE 2016/679 (GDPR). Utilizzando uno strumento che non trasmette nulla, eviti di introdurre un responsabile del trattamento esterno nella tua catena di fornitura e la conseguente necessità di un accordo ai sensi dell'articolo 28. L'architettura attua i principi di privacy by design e privacy by default dell'articolo 25 e la minimizzazione dell'articolo 5, paragrafo 1, lettera c.