Controllo della validità della fattura elettronica in maniera automatica

Controlla gli errori e la validità di una fattura elettronica con il tuo Mac gratuitamente. Per quanto sia un po tecnica questa guida vuole essere “per tutti”; e purtroppo riguarda solo Mac OSX e Linux (per quanto riguarda i comandi). In ogni caso i concetti rimangono gli stessi indipendentemente dal sistema operativo.

Prima di tutto come concetti di base, esistono due formati che ci interessano e che riguardano la fattura elettronica:

  • il formato XML, è un linguaggio di markup, ovvero organizza le informazioni in maniera strutturata e leggibile (dall’uomo e dalla macchina); questo è il formato in cui sarà descritta la nostra Fattura Elettronica;
  • il formato XSD, è il linguaggio che descrive come sarà composto il nostro file XML, cioè è un documento (anch’esso in formato XML) che descrive le regole della struttura del nostro XML;

in breve: con il file XSD andiamo a validare il nostro file XML.

Quindi scarichiamo il file XSD dal sito del governo: fatturapa.gov.it/export/fatturazione/it/normativa/f-2.htm e clicchiamo su Schema del file xml FatturaPA versione XXX.

È poi necessario scaricare anche questo file XSD aggiuntivo w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd.

Mettiamo entrambi i file nella cartella Downloads.

Il file scaricato dal sito del governo Schema_del_file_xml_FatturaPA_versione_1.2.1.xsd.txt lo rinominiamo per semplicità in schema.xsd.

Ora tramite il programma preinstallato nel Mac xmllint andiamo a validare la Fattura Elettronica, nel nostro caso chiamata fattura.xml, anch’essa nella cartella Downloads.

Ora apriamo il programma Terminale (cmd+spazio e digita terminale).

Attraverso il terminale navighiamo nelle cartelle e andiamo nella cartella Downloads, digita il seguente comando:

e INVIO.

Siamo ora attraverso il terminale nella cartella Downloads, dove abbiamo messo prima i nostri 3 file: fattura.xml, schema.xsd e xmldsig-core-schema.xsd.

Ora sempre nel terminale andiamo ad eseguire la validazione, digitiamo:

e INVIO.

Appariranno delle altre scritte come risultato del comando.

Se il file fattura è valido apparirà la scritta:

fattura.xml validates

Se il file fattura non è valido, per esempio in questo caso nell’elemento Provincia ho inserito MILANO al posto di MI, appariranno delle altre scritte di errore con i dettagli della mancata validazione:

fattura.xml:31: element Provincia: Schemas validity error : Element 'Provincia': [facet 'pattern'] The value 'MILANO' is not accepted by the pattern '[A-Z]{2}'.
fattura.xml:31: element Provincia: Schemas validity error : Element 'Provincia': 'MILANO' is not a valid value of the atomic type '{http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2}ProvinciaType'.
fattura.xml fails to validate

Se leggiamo l’errore è abbastanza comprensibile capire quali sono i campi interessati, in questo caso l’elemento Provincia, o perlomeno possiamo sapere in fase di generazione della nostra Fattura Elettronica se ci sono degli errori o meno.