Controllare in automatico che imponibile + IVA − ritenuta quadri con il totale della fattura
Controllare in automatico che imponibile + IVA − ritenuta quadri con il totale della fattura
Se automatizzi un solo controllo dopo l'OCR, scegli questo: imponibile + IVA − ritenuta d'acconto = totale fattura, verificato al centesimo con una tolleranza esplicita di un centesimo per blocco di aliquota. È l'unica regola che intercetta l'errore di estrazione più costoso: un importo *plausibile* ma sbagliato. Una ragione sociale letta male salta all'occhio. Un totale che sbaglia di 31,50 € no, e resta in contabilità finché tre settimane dopo non salta la riconciliazione bancaria.
Quei 31,50 € non sono un esempio inventato: sono l'errore aritmetico più frequente dell'intero documento. La ritenuta si calcola sul compenso imponibile, mai sull'importo IVA inclusa. Su una parcella da 1.000 € con IVA al 22% e ritenuta del 20% il totale corretto è 1.000 + 220 − 200 = 1.020,00 €. Applicando il 20% ai 1.220 € IVA inclusa ottieni 244 € di ritenuta e un totale di 976,00 €: 44 € di scarto che non quadrano con nulla e che finiscono anche nella certificazione unica sbagliata. I calcolatori che posizionano su questa ricerca ti danno la formula; qui trovi come trasformarla in un cancello automatico che gira su ogni documento estratto.
Perché automatizzarlo: il benchmark IOFM 2025 stima il tasso medio di errore nell'inserimento manuale dei dati intorno al 3,6%, e le rilevazioni di settore quantificano in circa 53 dollari il costo medio per risolvere un singolo errore di fattura. Con 400 fatture al mese quel 3,6% sono circa 14 errori: il controllo non deve intercettarli tutti per ripagarsi.
La regola, scritta perché la esegua una macchina
Per ogni fattura estratta:
- `somma(imponibile_i) + somma(imponibile_i × aliquota_i) − ritenuta − |totale| ≤ tolleranza`
E, separatamente, per ciascun blocco di aliquota:
- `iva_i ≈ imponibile_i × aliquota_i`
- `ritenuta ≈ base_ritenuta × aliquota_ritenuta`, calcolata sul compenso, IVA esclusa
Tre elementi lo rendono più difficile di quanto sembri, ed è esattamente dove si rompono le implementazioni ingenue.
1. Mai fissare l'aliquota nel codice
Ricava l'aliquota dagli importi e confrontala con l'insieme delle aliquote legali. In Italia convivono IVA al 22 / 10 / 5 / 4% e ritenuta d'acconto al 20% sui compensi professionali. Chi lavora con fornitori esteri incrocia altre combinazioni ancora: in Spagna IVA 21/10/4 con IRPF al 15% (7% per i nuovi autonomi nei primi tre anni), in Portogallo ritenute di categoria B al 25%, 16,5% o 11,5% a seconda dell'attività. Un validatore che dà per scontato «20%» genererà falsi allarmi su metà dei fornitori. Lascia che l'estrazione restituisca l'aliquota stampata in fattura, ricalcolala da imponibile e importo, e segnala solo quando le due non coincidono.
2. Più blocchi di aliquota nella stessa fattura
Un fornitore che fattura merce al 22% e un servizio al 10% produce due blocchi. Controlla ciascuno per conto suo e poi somma. Se leggi solo la riga IVA più grande — la scorciatoia tipica di un'estrazione a campo singolo — ottieni un totale sbagliato e uno scarto fantasma che nessuno saprà spiegare.
3. Righe che stanno nel totale ma non nella base
Ci sono importi che concorrono al totale senza far parte della base imponibile o della base della ritenuta:
- Spese anticipate in nome e per conto del cliente (art. 15): fuori dall'imponibile, fuori dall'IVA, fuori dalla ritenuta.
- Cassa previdenziale: è la distinzione che fa sbagliare più spesso. Per i professionisti in gestione separata INPS la rivalsa del 4% è imponibile ai fini IRPEF e quindi entra nella base della ritenuta; per chi ha una cassa propria il contributo integrativo del 4% non ci entra. Righe identiche all'aspetto, aritmetica diversa.
- Bollo da 2 € sulle fatture esenti: sta nel totale, non nell'imponibile.
Se il controllo si limita a sommare «tutto ciò che sembra un numero», questi casi produrranno falsi positivi continui e il team smetterà di guardare gli avvisi — che è peggio del non averli.
Quanta differenza è accettabile
Usa ±0,01 € per blocco di aliquota, più ±0,01 € per la riga della ritenuta. Una fattura a aliquota unica tollera 0,02 €, una a due aliquote 0,03 €. Non è lassismo, è aritmetica: alcuni fornitori arrotondano l'IVA riga per riga, altri sul subtotale del blocco, e i due metodi divergono di uno o due centesimi sulle fatture lunghe. Oltre quella soglia non è più arrotondamento: o è una cifra letta male o è una fattura effettivamente sbagliata.
Dividi l'esito in tre stati, non in due:
- Verde — entro tolleranza. Si registra, niente da rivedere.
- Giallo — qualche centesimo oltre. Quasi sempre differenza di arrotondamento o confusione tra virgola e punto decimale in fase di OCR. In coda per un'occhiata di cinque secondi.
- Rosso — scarto con pattern noto. Ritenuta calcolata sul totale IVA inclusa, blocco di aliquota perso, cifra trasposta (7↔1, 3↔8, 6↔5 sono le confusioni classiche dell'OCR su scansioni scadenti). Rimando all'estrazione o inserimento manuale.
Lo scarto *in sé* è diagnostico. Se equivale esattamente a `ritenuta × aliquota IVA`, hai trovato l'errore numero uno. Se equivale a un blocco intero, ti manca un blocco. Se è una potenza di dieci pulita, qualcuno ha perso o aggiunto una cifra.
Dove collocare il controllo nel flusso
Il controllo deve girare al momento dell'estrazione, nello stesso secondo in cui il dato nasce. Una validazione settimanale dentro il gestionale è un report; una validazione all'estrazione è un cancello. Con WhappScan il punto naturale è appena arriva il documento: il fornitore o un collega manda la foto o il PDF al numero WhatsApp, i campi tornano strutturati e il controllo aritmetico gira su quei campi prima che qualsiasi cosa arrivi in Excel o nel gestionale. Se preferisci costruirlo dentro una pipeline tua, gli stessi campi escono via API e la validazione può stare dalla tua parte: vedi come inviare le fatture a Excel o al gestionale via API e, sul lato acquisizione, come automatizzare l'estrazione delle fatture via WhatsApp.
Un dettaglio pratico: definisci il controllo su un modello che dichiari già imponibile, aliquota IVA, importo IVA, aliquota di ritenuta, importo ritenuto e totale come campi distinti. Se l'estrazione restituisce un blocco di testo, non c'è nulla da validare. Campi strutturati per blocco di aliquota sono il prerequisito, non un extra — la stessa ragione per cui preparare bene le fatture fornitore prima di consegnarle al commercialista elimina i rimpalli di fine trimestre. Se lavori in studio, l'intero flusso — acquisizione, estrazione, validazione — è ciò su cui è costruito WhappScan per la contabilità.
Il controllo successivo da aggiungere
Quando la validazione aritmetica è stabilmente verde, la regola con il rendimento migliore è il rilevamento dei duplicati: stessa partita IVA, stesso numero fattura, stesso totale. Costa quasi nulla calcolarla su campi già estratti e intercetta la classe di errore che l'aritmetica non vedrà mai: una fattura perfettamente corretta registrata due volte. La trovi in come individuare le fatture duplicate prima di registrarle.
Provalo su una fattura vera
Prendi la fattura più scomoda che hai sulla scrivania — quella con due aliquote e la riga di ritenuta — ed estraila. Poi rifai a mano l'aritmetica in tre righe e verifica se i numeri coincidono.
Estrai gratis i dati del tuo documento, senza account e senza installare nulla, su /it/free.
Devi estrarre dati da un documento adesso?
Provalo gratis in pochi secondi, senza account né carta. Carica una fattura o un documento e ottieni i dati all'istante.
Prova gratis