Documentazione dei messaggi

Salve a tutti, sto scrivendo dei fogli di stile XSL per visualizzare il contenuto dei file messaggi prodotti dall’invio e ricezione delle fatture. Ho trovato documentazione su questo argomento sia sul sito agenziaentrate.gov.it che sul sito fatturapa.gov.it. Il problema è che le informazioni sono contraddittorie e mal organizzate (e la mia ignoranza riguardo l’XML non aiuta).

Volevo sapere se esiste una fonte di documentazione ufficiale che sia aggiornata e contenuta in formati sensati per uno sviluppatore (tanto per intenderci, non un XSD sbattuto dentro un PDF scritto in word). Conto sul fatto che chi di voi ha sviluppato i vari sistemi di interazione con l’Sdi abbia avuto accesso ad altra documentazione rispetto a quella pubblicata sui due siti che ho citato sopra.

So che esistono i fogli di stile dei messaggi pubblicati dalla agenzia delle entrate ma l’ho scoperto troppo tardi e comunque non ho capito con che licenza vengono rilasciati.

Ringrazio anticipatamente chi vorrà aiutarmi.

Scusa ma esistono già degli xslt di esempio dell’agenzia delle entrate che sono coerenti sia con le specifiche di fattura PA che B2B…

https://www.fatturapa.gov.it/export/fatturazione/it/normativa/f-3.htm

Non capisco cosa non sia documentato nel formato, visto che xsd è autoesplicativo.
https://www.fatturapa.gov.it/export/fatturazione/it/normativa/f-2.htm

Per esempio una cosa che non mi è chiara è quale sia la differenza tra questi due XSD:

https://www.fatturapa.gov.it/export/fatturazione/sdi/messaggi/v1.1/MessaggiTypes_v1.1.xsd

https://www.agenziaentrate.gov.it/wps/file/Nsilib/Nsi/Schede/Comunicazioni/Fatture+e+corrispettivi/Fatture+e+corrispettivi+ST/ST+invio+di+fatturazione+elettronica/ST+Fatturazione+elettronica+-+MessaggiFatturaTypes/MessaggiFatturaTypes_v1.0.xsd

Sono versioni diverse? rappresentano messaggi che vengono usati in contesti differenti?
La stessa cosa vale per i fogli di stile scaricabili dai due siti. Ho passato la giornata a fare il giochino del “scopri le differenze” per capirci qualcosa ma non ho concluso niente di certo. Mi fa imbestialire che ci siano due siti diversi per quello che sembra essere la stessa documentazione. Che differenza c’è?

Il sito di riferimento per la fattura elettronica è: fatturapa.gov.it dove sono tenuti gli standard attuali.
L’altro sito fa riferimento a vecchia documentazione, i due file che citi sono versioni differenti (con la versione ormai 1.0 obsoleta)

Ok, questa è una ottima notizia, grazie.

Comunque c’è qualcosa che non va su come pubblicano la documentazione. Per esempio sul sito di AgenziaEntrate che dici essere vecchio la documentazione sulla fattura elettronica è alla versione 1.3 pubblicata a dicembre 2018. Sul sito fatturaPa c’è una documentazione simile ma alla versione 1.2.1 (ultima modifica a marzo 2017), forse è ferma a quando le fatture erano solo verso la PA?
Ciliegina sulla torta: nella documentazione Allegato+A_Specifiche+tecniche+vers+1.3.pdf aggiornata al 21 dicembre 2018 è presente l’XSD dei messaggi alla versione 1.0.

A me sembra che stiano aggiornando entrambi i siti ma lo fanno in modo parziale. Il risultato è che ci sono due fonti di documentazione che contengono entrambe informazioni sbagliate.

La versione 1.2.1 dell’xsd è aggiornata al 16/10/2018.
Quindi dopo la versione 1.2 del documento presente su agenziaentrate.
Del resto la versione 1.3 non cambia nulla da un punto di vista meramente tecnico infatti dal change log del documento:
1.3 10/10/2018 Indicato esplicitamente l’indirizzo PEC verso il quale effettuare la prima trasmissione di fatture al SdI (pag. 12)

Per le specifiche tecniche, gli xsd e gli xslt quello che fa fede, ti ripeto, è fatturaPA.gov.it che poi è quello che detta le regole tecniche correnti del sistema di interscambio.
Capisco che leggersi un xsd all’inizio possa sembrare ostico, ma se vuoi lavorare con gli xml è un requisito essenziale dato che il documento che produrrai dovrà essere validato con quell’xsd

Leggere un XSD all’inzio è un gioco da ragazzi rispetto a capire quale documentazione sia quella giusta se continuano a pubblicarne due in parallelo.

Tra l’altro, forse ho scoperto con quale “licenza” sono pubblicati i fogli di stile pubblicati su fatturaPa. Cito la pagina del copyright del sito faturaPa.

I contenuti delle pagine del sito non possono, né totalmente né in parte, essere copiati, riprodotti, trasferiti, caricati, pubblicati o distribuiti in qualsiasi modo senza il preventivo consenso scritto del Sistema di Interscambio, fatta salva la possibilità di immagazzinarli nel proprio computer o di stampare estratti delle pagine di questo sito unicamente per utilizzo personale.

Sorvolo sul fatto che citando il paragrafo ho probabilmente violato il copyright.

No, no, no. Ha ragione @ariacorrente, la documentazione è un casino.
Quella disponibile su fatturapa.gov.it (https://www.fatturapa.gov.it/export/fatturazione/it/normativa/f-2.htm e https://www.fatturapa.gov.it/export/fatturazione/it/normativa/f-3.htm) si riferisce alle sole fatture PA e trasmissione e ricezione di fatture PA.
Ora, essendo il formato della fattura elettronica PA e B2B/B2C lo stesso, il file xsd per la fattura è uno solo e va bene quello sul primo link.
I messaggi del SdI però sono diversi nei due casi!
Sul sito fatturapa.gov.it si trovano i fogli di stile solo per i messaggi relativi alle fatture PA, ma non per le fatture B2B/B2C.
La differenza tra MessaggiTypes_v1.1.xsd è MessaggiFatturaTypes_v1.0.xsd è proprio questa. Il primo è relativo ai messaggi per le fatture PA, il secondo ai messaggi per le fatture B2B/B2C. Da notare che in un caso il nome dell’elemento root è lo stesso (RicevutaConsegna), ma il namespace è diverso. Secondo me l’AdE ha fatto un bel casino con la nomenclatura.
Tutti i fogli di stile per i messaggi relativi alle fatture B2B e B2C li puoi trovare qui:
https://www.agenziaentrate.gov.it/wps/content/nsilib/nsi/schede/comunicazioni/fatture+e+corrispettivi/fatture+e+corrispettivi+st/st+invio+di+fatturazione+elettronica
(Questi funzionano anche con i messaggi corrispondenti delle fatture PA).
L’unica cosa che manca è il foglio di stile per la fattura semplificata.

Altra cosa riguardo alle specifiche 1.2.1 e 1.3. Il secondo documento NON È una versione più recente del primo. Si tratta delle versioni delle specifiche allegate a due provvedimenti diversi. Il primo (v. 1.2.1) è allegato al provvedimento della fattura PA (del 2013), mentre il secondo (v. 1.3) è allegato al provvedimento della fattura B2B/B2C (dell’aprile 2018). Il secondo contiene solo le specifiche per quel che riguarda le fatture B2B/B2C e quindi non sostituisce il primo. Se vuoi gestire entrambi i tipi di fatture, devi leggerli tutti e due.

1 Mi Piace

Scusa ma la versione 1.3 si sovrappone pari pari a quella 1.2.1 a meno delle definizioni dei controlli…
Che sogei abbia fatto del gran casino siamo tutti d’accordo ma:
Sei sicuro che MessaggiTypes_v1.1.xsd non contenga le definizioni della B2B ?

A me non sembrano sovrapponibili. Si sovrappongono nella parte che descrive il formato della fattura elettronica, perché è lo stesso in entrambi i casi, ma noterai che il secondo documento (fatturazione tra privati, attualmente versione 1.3) contiene anche una parte relativa alle regole di processo che nel primo documento (fatturazione PA, attualmente versione 1.2.1) non c’è. Le regole di processo per la fatturazione PA si trovano nel documento Specifiche tecniche relative al Sistema di Interscambio versione 1.6, che però non è stato aggiornato con le regole per le fatture tra privati. Se leggi con attenzione entrambi i documenti, noterai che il ciclo di vita delle fatture PA e delle fatture tra privati è completamente diverso.

Sostanzialmente i due documenti più vecchi (Specifiche tecniche del formato della FatturaPA versione 1.2.1 e Specifiche tecniche relative al Sistema di Interscambio versione 1.6) sono allegati tecnici al vecchio provvedimento (DM 55 del 3 aprile 2013) relativo alla fatturazione PA, mentre quello più recente (Specifiche tecniche versione 1.3) è l’allegato tecnico al provvedimento del 30 aprile 2018 relativo alla fatturazione tra privati e contiene le informazioni contenute negli altri due, ma solo per quel che riguarda la fatturazione tra privati.

In pratica se vuoi gestire entrambi i tipi di fatture (PA e tra privati) e i relativi cicli di vita (notifiche), devi usare le informazioni contenute in tutti e tre i documenti.

Un altro indizio del fatto che il documento 1.3 non è una versione successiva del documento 1.2.1, lo trovi nella sezione “stato del documento”. Noterai che il documento 1.3 è passato attraverso le versioni 1.1 e 1.2 nel 2018 (la versione 1.0 è presumibilmente quella pubblicata ad aprile insieme al provvedimento). L’altro documento invece riporta che la versione 1.2.1 dello stesso risale al 2017. Il fatto che la versione 1.3 sia maggiore di 1.2.1 è una mera coincidenza, ma le versioni dell’uno e dell’altro non sono confrontabili.

Sì. La fatturazione tra privati prevede 4 messaggi diversi: RicevutaConsegna, RicevutaScarto, RicevutaImpossibilitaRecapito, FileMetadati, tutti con namespace http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fattura/messaggi/v1..
La fatturazione PA invece prevede 9 messaggi diversi: RicevutaConsegna, NotificaMancataConsegna, NotificaScarto, NotificaEsito, AttestazioneTrasmissioneFattura, MetadatiInvioFile, NotificaEsitoCommittente, ScartoEsitoCommittente, NotificaDecorrenzaTermini, con namespace http://www.fatturapa.gov.it/sdi/messaggi/v1.0, diverso dall’altro.
L’unica cosa che sembra in comune è RicevutaConsegna, ma non lo è, perché il namespace è diverso, e lo è anche il significato (nel caso delle fatturazione tra privati, la consegna conclude il processo, nel caso della fatturazione PA, no).

Spero che la spiegazione sia sufficientemente esauriente.

Purtroppo quello che vedo sembra dare ragione a @vbato.

Di seguito riporto l’elemento radice dei alcuni file messaggio che ho ricevuto.
File ricevuti da fatture emesse il 07/02/2019 (probabilmente attraverso il portale della agenzia delle entrate):

Ricevuta di consegna di fattura emessa di tipo B2B:

<ns3:RicevutaConsegna
    xmlns:ns3="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fattura/messaggi/v1.0"
    xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"
    versione="1.0">

Ricevuta di consegna di fattura emessa verso PA:

<ns3:RicevutaConsegna
    xmlns:ns3="http://www.fatturapa.gov.it/sdi/messaggi/v1.0"
    xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"
    versione="1.0">

Notifica di esito di fattura emessa verso PA:

<ns3:NotificaEsito
    xmlns:ns3="http://www.fatturapa.gov.it/sdi/messaggi/v1.0"
    xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"
    versione="1.0">

La seguente è una notifica di una fattura B2B ricevuta il 05/02/2019::

<ns3:FileMetadati
    xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"
    xmlns:ns3="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fattura/messaggi/v1.0"
    versione="1.0">

Non ho un campione di fatture molto ampio ma da quello che vedo tutte seguono lo stesso schema.

  • i messaggi con namespace “fatturapa” sono di fatture verso PA.
  • i messaggi con namespace “agenziaentrate” sono di fattura verso/da aziende

Questo significa che per avere un sistema “pulito” è necessario duplicare il lavoro. E’ possibile che un sistema unico funzioni perchè le definizioni sono simili e perchè per una botta di culo il codice non si accorge delle differenze.