Nextra Hub

Guide

Fatture XML in Excel: le trappole di un trimestre intero

Scaricare un trimestre di fatture dal cassetto fiscale e volerle in un foglio di calcolo è una richiesta ragionevole: servono per la riconciliazione, per il controllo dei costi, per mandare al commercialista qualcosa che si legga. Il problema non è convertire un file: è che quattro cose del tracciato XML non corrispondono a quello che un foglio si aspetta, e se non le si conosce il risultato è una tabella che sembra giusta e non torna.

Prima trappola: un file non è una fattura

Nello schema della fattura elettronica l’elemento FatturaElettronicaHeader compare una volta sola, mentre FatturaElettronicaBody è dichiarato con maxOccurs="unbounded": un singolo file può contenere molte fatture verso lo stesso cliente, spedite in un lotto unico.

La conseguenza pratica è che «una riga per file» è un criterio sbagliato. Chi costruisce il foglio contando i file trova un numero di documenti più basso di quello vero, e gli importi di tutte le fatture del lotto tranne la prima spariscono senza nessun errore. È il tipo di errore che non si vede: la tabella è piena, ordinata e incompleta.

Anche il contrario va tenuto a mente: il cedente e il cessionario stanno nell’intestazione, quindi in un lotto sono gli stessi per tutte le fatture dentro. Vanno ripetuti su ogni riga, altrimenti le colonne del fornitore restano vuote su tutte le righe tranne una.

Seconda trappola: il totale del documento può non esserci

L’elemento ImportoTotaleDocumento è dichiarato nello schema con minOccurs="0": è facoltativo. Molti gestionali lo scrivono, molti altri no, ed entrambi i file sono perfettamente validi per il Sistema di Interscambio.

Quando manca, il totale si ricostruisce dai dati di riepilogo — la somma di ImponibileImporto e Imposta di ogni blocco DatiRiepilogo, che sono uno o più per documento, uno per ciascuna aliquota.

Ma quella somma non è sempre l’importo che il cliente paga. Il bollo da 2 euro, quando è addebitato, sta in DatiBollo e non entra nei riepiloghi: su una fattura senza IVA con bollo addebitato, imponibile più imposta dà due euro in meno del totale. Se il foglio serve a riconciliare i bonifici, sono due euro che fanno perdere mezza giornata.

Il consiglio pratico è tenere tre colonne separate — imponibile, imposta, totale — invece di una sola. Le prime due sono sempre ricostruibili, la terza dice se il file la dichiarava o no.

Terza trappola: metà dei file non sono XML

Le fatture firmate digitalmente arrivano con estensione .xml.p7m. Non sono XML: sono una busta di firma in formato CAdES che contiene l’XML. Un foglio di calcolo, un browser e la maggior parte dei convertitori non ci vedono niente, perché prima va aperta la busta.

In una cartella scaricata dal cassetto fiscale i due formati convivono, e chi lavora sui soli .xml lascia fuori le fatture firmate senza accorgersene — di nuovo, senza nessun messaggio d’errore. Come si apre una busta P7M è spiegato in questa guida.

Quarta trappola: il foglio si apre, ma i numeri non sono numeri

L’XML è un formato internazionale e usa convenzioni internazionali. Excel in italiano ne usa altre. I quattro scontri sono sempre gli stessi:

C’è anche una questione che riguarda la sicurezza, non la forma: descrizioni e ragioni sociali le scrive chi ci manda la fattura, e un valore che comincia per = viene eseguito come formula dal foglio di calcolo quando lo si apre. Su file ricevuti da terzi va neutralizzato, non copiato così com’è.

Una riga per fattura o una riga per voce?

È la decisione che conviene prendere prima di convertire, perché i due fogli rispondono a domande diverse.

Una riga per fattura serve a riconciliare e a controllare: fornitore, numero, data, imponibile, imposta, totale, scadenza. È la forma giusta per confrontare le fatture con l’estratto conto.

Una riga per voce serve a capire dove sono finiti i soldi: descrizione, quantità, prezzo unitario, aliquota. È la forma giusta per classificare i costi, ed è molto più lunga — una fattura di venti righe ne occupa venti.

Provare a farle stare nello stesso foglio produce la tabella che non serve a nessuna delle due cose: i totali di documento si ripetono su ogni riga e ogni somma è sbagliata per eccesso.

Cosa non fa un foglio Excel

Un foglio di calcolo è una copia di lavoro, e non sostituisce la conservazione a norma delle fatture elettroniche, che riguarda i file originali. Chi esporta per lavorarci sopra deve comunque tenere gli XML dove stanno.

Come lo fa il nostro convertitore

Il convertitore XML in PDF ed Excel si trascina fino a 50 file per volta — .xml e .p7m insieme — e produce i due fogli separati: una riga per fattura e una riga per voce.

Le quattro trappole sono trattate così: ogni FatturaElettronicaBody diventa una riga propria; la colonna «Totale documento» riporta ImportoTotaleDocumento quando c’è e altrimenti la somma dei riepiloghi, con imponibile e imposta nelle loro colonne; il CSV esce con punto e virgola, virgola decimale, date in GG/MM/AAAA e BOM UTF-8; i valori che comincerebbero per =, +, - o @ vengono neutralizzati come testo.

I file non vengono caricati da nessuna parte: la conversione avviene nel browser, e le fatture dei tuoi clienti non escono dal tuo computer.

Modello informativo da far verificare a un professionista abilitato.

Voglio tante fatture in un foglio Excel

Un foglio di calcolo ordinato con tutte le fatture, fino a 50 per volta.

Converti le fatture

Gratis: 5 fatture al giorno. Senza registrarti.