Fatturazione elettronica: file XML valido ma il PDF non viene generato

Il Sistema di Interscambio ha accettato la fattura con tanto di ricevuta di consegna, la sintassi rispetta le specifiche tecniche dell’Agenzia delle Entrate, eppure del PDF di cortesia non c’è traccia. Il gestionale restituisce una pagina bianca, un errore di rendering oppure scarica un file corrotto da zero byte.

Se un file XML è formalmente valido ma il PDF non viene generato, il problema non riguarda la validità fiscale del documento, bensì il motore di conversione locale. Nella maggior parte dei casi l’anomalia dipende da caratteri speciali o tag HTML annidati nelle descrizioni, allegati binari troppo pesanti, versioni obsolete del foglio di stile XSLT oppure timeout del servizio di stampa virtuale.

Perché la validità SDI non garantisce la creazione del PDF

Per l’Agenzia delle Entrate l’unico documento con valore legale e fiscale è il file XML firmato digitalmente (o sigillato) che transita dal Sistema di Interscambio. Il PDF è una pura rappresentazione grafica di comodo, pensata per rendere comprensibili a occhio nudo stringhe di codice e tabelle di aliquote.

I controlli dello SDI verificano la conformità allo schema XSD ufficiale (attualmente versione 1.2.2 per le fatture ordinarie B2B/B2C e B2G), l’esistenza dei codici fiscali, la correttezza dei totali e l’univocità della numerazione. Lo SDI non si preoccupa di come il software gestionale o il visualizzatore desktop trasformeranno quei nodi XML in righe tipografiche su un foglio A4. Di conseguenza, un file che supera senza problemi i controlli ministeriali può mandare in crash la libreria grafica interna del gestionale.

Le cause tecniche più frequenti del blocco di conversione

Quando il convertitore integrato fallisce, la causa è quasi sempre nascosta in dati testuali ammessi dallo standard XML ma indigesti per i compilatori grafici o per i parser XSL-FO.

  • Caratteri speciali mal codificati o entità non standard: stringhe contenenti la e commerciale (&), virgolette curve importate da editor di testo, il simbolo di grado (°) o lettere accentate gestite con codifica ISO-8859-1 invece che UTF-8. Se l’XML parser incontra un’entità non dichiarata dentro un campo descrittivo come <Descrizione> o <Causale>, interrompe bruscamente il rendering del layout.
  • Tag HTML o frammenti di codice nelle descrizioni riga: capita spesso quando si copiano testi da preventivi web o gestionali e-commerce. L’apertura e chiusura di tag fittizi o delimitatori come <br> e <div> all’interno di campi descrittivi mandano in confusione il motore che applica il foglio di stile.
  • Allegati binari incorporati sproporzionati: il tracciato prevede il blocco <Allegati> con dati codificati in Base64 (nodo <Attachment>). Se l’utente allega una scansione PDF ad alta risoluzione o un disegno tecnico da diversi megabyte dentro l’XML, il motore di conversione può esaurire la memoria allocata (out-of-memory) o andare in timeout nel tentativo di elaborare la stringa Base64.
  • Fogli di stile XSL/XSLT non aggiornati o mancanti: i visualizzatori desktop e i portali usano un foglio XSLT per impaginare l’albero XML. Se il file XML contiene tipi di documento recenti (ad esempio autofatture TD16, TD17, TD18, TD19, TD28) e il software utilizza un vecchio foglio di stile ministeriale non allineato, il motore non trova le regole di visualizzazione per quei nodi e restituisce una schermata vuota.
  • Campi descrittivi eccessivamente lunghi senza ritorni a capo: una descrizione riga di migliaia di caratteri consecutivi priva di spazi può mandare in overflow la larghezza della tabella virtuale, bloccando la libreria di compilazione del PDF (come iText, wkhtmltopdf o FOP).

Come ottenere subito il PDF: verifiche e soluzioni rapide

Se l’invio al cliente preme e il software continua a non rispondere, esistono percorsi alternativi per bypassare il problema locale senza toccare l’XML già trasmesso.

1. Il visualizzatore del portale “Fatture e Corrispettivi”

Entrando nell’area riservata dell’Agenzia delle Entrate, nella sezione Consultazione > Fatture elettroniche e altri dati IVA, è possibile aprire il dettaglio del file ricevuto o inviato e cliccare su “Stampa / Visualizza PDF”. Il visualizzatore dell’Agenzia applica il foglio di stile ufficiale standard e genera una copia visiva perfettamente leggibile, superando i blocchi del programma locale.

2. Pulizia dell’XML per le fatture ancora da trasmettere

Se il file non è ancora stato inviato allo SDI e il programma si rifiuta di generare l’anteprima, aprite l’XML con un editor di testo avanzato (come Notepad++ o VS Code). Cercate all’interno di <DatiBeniServizi> eventuali caratteri anomali o stringhe formattate con entità scorrette. Assicuratevi che i caratteri riservati usino le entità standard: &amp; per &, &lt; per <, &gt; per >. Verificate inoltre che l’intestazione del file dichiari encoding="UTF-8".

3. Strumenti terzi e applicazione manuale del foglio di stile

L’Agenzia delle Entrate mette a disposizione pubblicamente i file .xsl per le fatture ordinarie e semplificate. Se lavorate in ambiente tecnico o gestionale, potete trasformare l’XML tramite un interprete XSLT esterno (come Saxon o il parser del browser) per verificare se l’errore risiede nello script grafico proprietario del vostro fornitore di software.

Domande frequenti

Il cliente rifiuta la fattura perché manca il PDF di cortesia: è legittimo?

No, tra soggetti IVA residenti l’unico documento fiscalmente valido e rilevante è l’XML recapitato tramite SDI. La copia PDF non ha valore fiscale autonomo; tuttavia, per i consumatori finali privi di codice destinatario o PEC, sussiste l’obbligo di mettere a disposizione una copia cartacea o digitale leggibile.

Posso modificare a mano il PDF generato se i dati non combaciano con l’XML?

No. Qualsiasi divergenza tra il contenuto dell’XML recapitato allo SDI e la copia cartacea o digitale inviata al cliente crea irregolarità documentali e contabili. Se i dati visualizzati nel PDF non coincidono con l’XML, occorre correggere il template di stampa, non alterare i valori a posteriori.

Perché il portale dell’Agenzia delle Entrate mostra il PDF ma il mio gestionale no?

L’Agenzia delle Entrate utilizza un foglio di stile XSLT standard e robusto, progettato per ignorare o gestire elementi non standard senza bloccare l’output. Molti gestionali commerciali adoperano invece template personalizzati più complessi, che vanno in blocco quando incontrano campi troppo lunghi, layout rigidi o font mancanti.

I file XML conservano la piena validità probatoria anche senza il corrispettivo cartaceo o PDF. Quando il blocco persiste sistematicamente su più documenti, la verifica deve concentrarsi sulla configurazione del parser interno e sull’aggiornamento dei fogli di stile rilasciati dall’assistenza del software gestionale, facendo riferimento alla documentazione tecnica sul sito ufficiale dell’Agenzia delle Entrate.