Esiste un 'verificatore' per file xml ?

Sapete se esiste un programma (anche sito web) che permetta di eseguire in automatico la verifica formale di un file xml?
Escludo il sito web Fatturapa.gov perche’ non consente (col captha) di automatizzare la verifica, quindi chiedevo se conoscete un sistema per controllare un file appena prodotto, senza intervento umano
Un qualcosa a riga di comando o simile per capirci, oppure un sito web che permetta di indicare il file da controllare, di avviare il controllo, di restituire l’esito della verifica

Per la vadidazione formale tramite xsd ci sono vari siti online ma è sempilcissimo farlo tramite c# o vb.net . Qui un esempio.

Qui puoi verificare il file https://sdi.fatturapa.gov.it/SdI2FatturaPAWeb/AccediAlServizioAction.do?pagina=controlla_fattura

Si, certo
Avevo chiesto un sistema per AUTOMATIZZARE il controllo
Ed il captha su quella pagina impedisce qualsiasi automatismo

In tutti i linguaggi di programmazione credo ci sia un validatore di xml che utilizza gli schemi xsd.
In php per esempio se usi DOMDocument c’è questa funzione
http://php.net/manual/en/domdocument.schemavalidate.php

Gli xsd li trovi qui
https://www.agenziaentrate.gov.it/wps/content/Nsilib/Nsi/Schede/Comunicazioni/Fatture+e+corrispettivi/Fatture+e+corrispettivi+ST/ST+invio+di+fatturazione+elettronica/?page=ivacomimp
o qui
https://www.fatturapa.gov.it/export/fatturazione/it/normativa/f-2.htm

C’è una versione 1.2 e una versione 1.2.1 in due pagine diverse, va a sapere qual è quella corretta visto che hanno fatto vari casini con la documentazione :confused:

Credo che lo schema più aggiornato sia quello del primo link.
L’unica differenza tra i due è che nel primo (file Schema_VFPR12.xsd) c’è in più il tipo documento TD20 - Autofattura, quindi presumo sia più aggiornato (a meno che non abbiano tolto l’autofattura).
In più al primo link si trova anche il file Schema_VFSM10.xsd che contiene lo schema per le fatture semplificate).

boh però sul secondo link c’è il file 1.2.1… in teoria dovrebbe esser lui il più aggiornato, no?

Io ribadisco che la versione 1.2.1 non ha l’autofattura tra i tipi di documento, mentre invece è stata aggiunta e dovrebbe esserci. L’altro file invece ce l’ha.
Se vuoi fare una verifica, prova a generare una fattura con tipo documento TD20 e verificala sul sito dell’agenzia delle entrate. Se ti dice che è corretta, vuol dire che stanno usando l’xsd che dico io.

Aggiungo che, pur riferendosi al provvedimento di aprile, i documenti all’indirizzo
https://www.agenziaentrate.gov.it/wps/content/Nsilib/Nsi/Schede/Comunicazioni/Fatture+e+corrispettivi/Fatture+e+corrispettivi+ST/ST+invio+di+fatturazione+elettronica/?page=ivacomimp
risalgono al 10 ottobre. Ci sono pure i file XSL per visualizzare le notifiche relative alle fatture tra privati, che invece nei file XSL che si trovano su www.fatturapa.gov.it (nella documentazione dell’SDI) non ci sono.

In merito a questo, anche io ho riscontrato lo stesso problema.
E non ho ancora una soluzione!
Se guardate la pagina sul sito Agenzia delle Entrate
https://www.agenziaentrate.gov.it/wps/content/nsilib/nsi/schede/comunicazioni/fatture+e+corrispettivi/fatture+e+corrispettivi+st/st+invio+di+fatturazione+elettronica
Noterete che le specifiche sono alla versione 1.3 del 10/10/2018, anzichè 1.2.1 del 16/10/2018, mi sono spulciato il tracciato rigo per rigo e l’unica differenza quale è?
Il TD20 dell’autofattura, contemplato da questo tracciato e non dall’altro.
Quale è quello corretto?

Le versioni sono fuorvianti… perché si riferiscono a due cose diverse!
Il documento con versione 1.2.1 è l’allegato A del decreto ministeriale 55/2013 (quello delle fatture elettroniche per la PA).
Il documento con versione 1.3 è l’allegato A al provvedimento del 30 aprile 2018 (quello relativo alle fatture tra privati).
Si tratta delle versioni dei rispettivi documenti, non del formato della fattura!
Il primo in realtà nel corso del tempo è stato aggiornato con le modifiche necessarie per le fatture tra privati, ma l’ultima modifica risale al 15 marzo 2017.
Il secondo invece è stato aggiornato l’ultima volta il 10/10/2018 (a questo si riferisce la versione 1.3) e secondo me, laddove i due divergono, va preso per buono il secondo. Ti servono comunque tutti e due, perché il secondo contiene solo le specifiche inerenti alle fatture tra privati ma non quelle per la PA. Leggi l’inizio del capitolo 1 (a pagina 7) del secondo documento. Dice esattamente questo e c’è pure l’elenco delle novità, tra cui l’introduzione del tipo documento TD20.

È vero però quello che dici tu: su https://www.fatturapa.gov.it/export/fatturazione/it/normativa/f-2.htm hanno scritto che l’xsd è aggiornato al 16/10/2018, ma secondo me è un errore. Dovrebbe esserci il tipo documento TD20 e invece non c’è.

1 Mi Piace

Un buon compromesso è la libreria di Nicola Iarocci, FatturaElettronica, su Nuget. Oltre che gestire bene tutta la fase di scrittura e lettura, ha la verifica.
Sulla verifica, attento a un aspetto.
L’uso del XSD ti dice solo se il tuo XML è well formed secondo lo standard, copre il 50% dei casi, ma non considera la natura del dato (1+1 può fare anche 5).
La libreria in oggetto smarca già alcuni di questi problemi e copre il 95%.
La verifica al SdI copre il 99% (perché non verifica ad esempio la bontà della firma).
L’invio reale è il solo che arriva al 100%.

Secondo me, il SdI dovrebbe mettere a disposizione un endpoint per noi certificati da poter chiamare, esattamente come quello di invio. Su questo concordo da sempre.

OK…metto pure il LINK

Ottima libreria in .NET!

Quindi, avete usato qualcosa tramite “linea di comando” ?
Oppure, non c’e’ nulla in giro ?