Quando la fattura serve e quando no, quali dati chiedere al checkout, chi deve numerare, che cosa succede con resi e scarti — e dove quasi tutti i collegamenti si rompono.
di Nadia Maar ·
In molti negozi online la fattura nasce così: arriva l'ordine, qualcuno apre il gestionale, ricopia intestazione, righe e importi, e la invia. Funziona finché gli ordini sono dieci al giorno. A cento è un lavoro a tempo pieno che produce errori a tempo pieno: una partita IVA sbagliata, un codice destinatario mancante, una nota di credito dimenticata dopo un reso.
Il collegamento fra negozio e fatturazione elettronica è uno dei lavori con il ritorno più misurabile che esistano, perché sostituisce un'attività ripetitiva con regole chiare. È anche uno di quelli fatti peggio, perché chi lo costruisce spesso non conosce le regole fiscali, e chi conosce le regole non costruisce software. Qui c'è la parte tecnica, con le regole che servono per costruirla bene.
Prima di collegare qualcosa conviene sapere che cosa deve succedere. Per un negozio che vende beni fisici spediti — quello che le norme chiamano commercio elettronico indiretto — il quadro essenziale è questo:
| Chi compra | Che cosa serve |
|---|---|
| Un consumatore in Italia | Né fattura né scontrino, a meno che il cliente non chieda la fattura. I corrispettivi si annotano: come, lo decidete con il commercialista. |
| Un consumatore che chiede la fattura | Fattura elettronica con il suo codice fiscale, trasmessa attraverso il Sistema di Interscambio. |
| Un'azienda con partita IVA | Fattura elettronica sempre, attraverso il Sistema di Interscambio, con il codice destinatario o la PEC del cliente. |
| Un consumatore in un altro paese UE | Oltre i 10.000 euro annui di vendite a distanza nell'UE si applica l'IVA del paese del cliente, di solito dichiarata con lo sportello unico OSS. |
Questo è un articolo su come si costruisce il collegamento, non un parere fiscale. Le regole cambiano, e il vostro caso — beni digitali, regimi particolari, vendite all'estero — va confermato con il commercialista prima di scrivere una riga di codice. Il software deve eseguire le sue indicazioni, non sostituirle.
La metà dei problemi di fatturazione nasce nel checkout. Se il negozio non chiede i dati giusti al momento giusto, qualcuno dovrà rincorrerli via email — e alcuni clienti non risponderanno mai.
Nella demo di onboarding il controllo del carattere di verifica gira dentro il modulo: un numero sbagliato si ferma lì, non allo scarto del Sistema di Interscambio.
La regola più importante di tutto il collegamento: le fatture devono avere una sola fonte di numerazione. Se il negozio numera le sue e il gestionale le sue, prima o poi due documenti avranno lo stesso numero, o ci sarà un buco nella sequenza — e sistemarlo a fine anno è un lavoro da commercialista, pagato come tale.
Il collegamento fra i due pezzi deve essere idempotente: lo stesso ordine inviato due volte — succede, quando una connessione cade a metà — deve produrre una fattura sola. Si ottiene con una chiave: l'identificativo dell'ordine viaggia con la richiesta, e chi fattura restituisce la fattura già emessa invece di numerarne un'altra.
// Una fattura per ordine, anche se la richiesta arriva due volte.
export async function fatturaPerOrdine(ordine: Ordine) {
const esistente = await db.fatture.perOrdine(ordine.id)
if (esistente) return esistente // già emessa: niente doppioni
// Consumatore che non l'ha chiesta: si annota il corrispettivo, niente fattura.
if (!ordine.cliente.vuoleFattura && !ordine.cliente.partitaIva) return null
return db.transazione(async tx => {
const numero = await tx.numerazione.prossimo(annoDi(ordine.data))
const fattura = await tx.fatture.crea({ ordineId: ordine.id, numero, righe: ordine.righe })
await tx.codaInvii.aggiungi(fattura.id) // l'invio parte dopo, fuori dalla transazione
return fattura
})
}Numerare e salvare è atomico: o succedono entrambe le cose o nessuna. Trasmettere no — il Sistema di Interscambio può rispondere tardi, e una fattura già numerata non deve sparire perché è caduta la rete. Si mette in coda, e la coda riprova.
Il collegamento non finisce quando la fattura parte. Le situazioni che lo mettono alla prova arrivano dopo, e vanno previste prima:
Se oggi la fatturazione è manuale, non serve costruire tutto insieme. L'ordine che ha più senso, per rapporto fra lavoro e ore restituite:
Il collegamento non va scritto da zero: i principali software di fatturazione e molti gestionali espongono un'interfaccia per ricevere i documenti. Il lavoro vero è il pezzo in mezzo — chi numera, che cosa si fattura, che cosa succede quando qualcosa va storto — ed è quello che va progettato.
Il conto si fa in fretta: gli ordini con fattura in un mese, per i minuti che servono a ricopiarne uno, più il tempo speso a correggere gli scarti. È il numero che dice se il collegamento conviene, e in quanto si ripaga.
L'audit gratuito fa proprio questo conto: guardiamo come girano oggi ordini e fatture, dove si perdono ore, e quanto costerebbe automatizzarlo. Ne esce una stima di costo e di rientro — anche se poi decidete di non procedere.
No. Per i beni spediti a consumatori non servono né fattura né scontrino, salvo che il cliente chieda la fattura; i corrispettivi si annotano. Alle aziende con partita IVA va sempre emessa fattura elettronica attraverso il Sistema di Interscambio. Il vostro caso va confermato con il commercialista.
Per un'azienda: ragione sociale, partita IVA e codice destinatario di sette caratteri o indirizzo PEC. Per un privato che chiede la fattura: il codice fiscale. Conviene controllarne il formato già nel modulo, così un errore non arriva allo scarto.
Uno solo dei due, sempre lo stesso — di solito il gestionale o il software di fatturazione. Il negozio registra l'ordine e passa i dati, e la sequenza non ha buchi né doppioni.
Un file scartato si considera non emesso: va corretto e ritrasmesso in tempi brevi — secondo la prassi dell'Agenzia entro cinque giorni, con lo stesso numero e la stessa data. Per questo il collegamento deve avvisare qualcuno il giorno stesso.