Fatturazione Elettronica - Nomenclatura file da trasmettere

ti confermo che la partitiva id deve essere quella del trasmittente associato al canale.
per quanto riguarda la progressione usando maiuscole, minuscole e numeri, arrivi a superare i 600 milioni di fatture.

1 Mi Piace

comunque anche io leggo che nelle specifiche non si chiede che l’ID deve essere quello del trasmittente …ma ricordo in passato …che ho avuto uno scarto per questo motivo . Forse hanno cambiato le specifiche?

http://www.fatturapa.gov.it/export/fatturazione/sdi/Specifiche_tecniche_SdI_v1.6.pdf

in questo allegato aggiornato al 23 aprile, a pagina 9 dicono che deve essere l’id del trasmittente.
che a mio avviso avrebbe senso.

faccio presente una situazione orribile ma che potrebbe realizzarsi.
durante la fase di test ho visto che è possibile inoltrare da server/ip/domini diversi purché si abbia il certificato corretto.
Se l’identificativo non viene controllato e un’azienda che trasmette fatture mi sta “antipatica”, potrei inoltrare qualche centinaio di fatture al secondo per tutta la notte (o il weekend) con la partita iva dell’azienda concorrente e la mattina denunciare che i nostri server sono stati hackerati.
dato che un nome file non può essere riutilizzato, l’azienda concorrente si troverebbe impossibilitata all’invio delle fatture.

sinceramente spero che facciano dei controlli adeguati in merito.

2 Mi Piace

una verifica che possono fare (anche se non ne ho trovato traccia nel file Elenco_Controlli_V1.5) è che il cedente / prestatore (cioè l’azienda antipatica nel tuo scenario) abbia indicato come canale di trasmissione quello del trasmittente

ciò dovrebbe impedire a chi non ha i certificati di tale canale di inviare fatture per loro conto

se invece un malintenzionato hackerizza i sistemi dell’altra ditta e si appropria dei certificati, può effettivamente inviare fatture per loro conto, ma questo tipo di reati informatici sono già previsti nel codice penale …

1 Mi Piace

infatti hanno cambiato a giugno :roll_eyes:

2 Mi Piace

utilizzo formato A9999 dove A indica anno A=2015 B=2016 e così via…
questo mi permette di gestire 9999 fatture di invio e iniziare da 1 ogni anno
abbastanza per i miei clienti…

Faccio notare che è possibile “sfruttare” il nome del file XML includendo altri caratteri esempio: IT99999999999-FAT_D0004.XML
E’ possibile solo se mittente è PIVA e non CF
così differenzio Sezionali diversi durante l’invio

1 Mi Piace

Scusate, ma confuso su quale partita iva mettere nel nome del file Xml
Esempio Piva 11111111111
Piva 22222222222
Piva 33333333333

Nome file Xml ITxxxxxxxxxxx_00001.XML ?

come fate Voi ?

La partita IVA di chi emette la fattura.
Comunque trovo incomprensibile che abbiano previsto solo 5 caratteri per il progressivo univoco, non dovrebbe essere un grande problema allungarlo.

Marzio

1 Mi Piace

Faccio notare che è possibile “sfruttare” il nome del file XML includendo altri caratteri esempio: IT99999999999-FAT_D0004.XML
E’ possibile solo se mittente è PIVA e non CF
così differenzio Sezionali diversi durante l’invio

Se questo modo risultasse “lecito” si potrebbe inserire l’anno al posto di FAT ed il problema sarebbe risolto. Conferme?

la base della nomenclatura del file sarebbe:

codice nazione [2caratteri]
identificativo [11 caratteri Ditta o 16 per Codice fiscale]
separatore [_]
progressivo di invio da 1 a 5 caratteri

quindi

IT[partita iva trasmittente]_00001.xml
oppure
[codice fiscale trasmittente]_00001.xml

oppure

IT[partita iva cliente]_00001.xml
o
IT[codice fiscale cliente]_00001.xml

su nessuna documentazione ho trovato che si possa “modificare” la partita iva o il codice fiscale inserendo dati aggiuntivi. Magari c’è ma personalmente non l’ho trovata.

Vorrei fare una considerazione. Attualmente SDI non fa controlli sul nome del file se non quello che l’identificativo del trasmittente sia compreso tra 11 e 16. Ho appena fatto verificare un file con nome ITciaociaociaociao_1e27.xml e mi è stato accettato. Non è detto però che dal 1 gennaio la cosa continui.

Esempio.
Per uso personale sto usando un sistema di fatturazione elettronica online di un’azienda molto importante. Le fatture con iva esente che loro generano, non riportano nell’xml la norma di esenzione ma solo la natura. Attualmente la norma nel tracciato è opzionale ma quando si emette fattura è obbligatorio inserirla.
Nemmeno a dirlo ho trovato questo articolo del 23 novembre

concludendo, dato che la guida delle specifiche tecniche 1.3 aggiornata indica

  • il codice paese va espresso secondo lo standard ISO 3166-1 alpha-2 code;
  • l’identificativo univoco, è rappresentato dall’identificativo fiscale
    (codice fiscale nel caso di soggetto residente in Italia, identificativo
    proprio del paese di appartenenza nel caso di soggetto residente
    all’estero) di un soggetto persona fisica o persona giuridica diversa da
    persona fisica; la lunghezza di questo identificativo è di
    – 11 caratteri (minimo) e 16 caratteri (massimo) nel caso di codice paese
    IT;
    – 2 caratteri (minimo) e 28 caratteri (massimo) altrimenti;
    l’identificativo usato per il nome del file non è soggetto a controlli di validità, esistenza o coerenza con i dati presenti in fattura
  • il progressivo univoco del file è rappresentato da una stringa alfanumerica di
    lunghezza massima di 5 caratteri e con valori ammessi [a-z], [A-Z], [0-9].

eviterei di “sporcare” il codice identificativo con informazioni che potrebbero venir bocciate specie perché 5 caratteri in formato A-Za-z0-9 corrispondono a oltre 600 milioni di invii che se applicato alla partita iva del cliente fa sparire ogni possibile problematica.

sul codice progressivo va considerato che è un valore da 1 a 5.
quindi inizialmente il codice può essere a 1 carattere partendo da 1 fino a 9 , poi da a fino a z e poi da A a Z. quindi sono 10[numeri decimali]+26[lettere alfabeto minuscole]+26[lettere alfabeto maiuscole] + la mancanza del carattere si parla di un progressivo che va da 916.132.832 a circa 992.000.000 inoltri per singola partita iva.
spero di non aver errato nei conteggi ma dovrebbe essere 62 alla quinta e circa 63 alla quinta

la soluzione più semplice che io ho appena usato è quella di usare questa dicitura:
IT[partita iva cliente]_*****.xml
dove ***** = [numerofattura][anno] => in base hex (esadecimale)
praticamente si possono fare 1048575 combinazioni [FFFFFF]
ma togliendo le ultime 2 cifre per l’anno restano 10485 numeri disponibili. per quello che mi serve sono ben più che sufficienti.
esempio: fattura 350 del 2018 diventerebbe 35018 => 88CA

Far corrispondere il progressivo del file al numero della fattura crea un problema: se mandi una fattura alla PA e questa ti viene rifiutata, potresti essere costretto a fare un altro invio della stessa fattura. In questo caso il numero della fattura rimane lo stesso, ma devi usare un progressivo invio e un nome file diverso.

In ogni caso un progressivo di 5 caratteri, pur differenziando lettere maiuscole da minuscole, consente al massimo poco più di 916 milioni di combinazioni. Aziende come Enel o Telecom Italia che hanno decine di milioni di clienti esauriranno le combinazioni dopo appena qualche anno.

1 Mi Piace

Mi sembra un’ottima idea, purtroppo non applicabile nel mio caso, la mia azienda produce mediamente 15k fatture annue.

Come già evidenziato da altri il case-sensitive è pericoloso, su ambienti Windows (o Mac che non abbiano il case-sensitive abilitato) c’è il rischio di sovrascritture (in particolare per i destinatari il cui ambiente non è sotto il nostro controllo).

in casi di rifiuto della fattura è davvero necessario cambiare il nome del file? non è sufficiente cambiare il progressivo all’interno del file? nel campo relativo appunto al progressivo?

In caso di scarto della fattura, sì, si può trasmettere un altro file con lo stesso nome.
In caso di rifiuto da parte della PA, si può ritrasmettere la fattura modificata (con lo stesso numero documento) ma, da quello che so, bisogna trasmettere un file con un nome diverso (perché l’altro file, pur contenente una fattura rifiutata, rimane all’interno del sistema).

Quest’affermazione non è corretta. Se il file riceve una notifica NS di scarto, non può essere reinviato con lo stesso nome.
s.

Grazie della correzione.
Pensavo fosse così perché il sistema di test me lo faceva fare. O, per essere più precisi, ho mandato più volte la stessa identica fattura con lo stesso nome file, contenente XML non valido, ricevendo ogni volta una nuova notifica di scarto con codice di errore 00200 (file non conforme). Non si è lamentato del fatto che il file l’avevo mandato in precedenza. Potrebbe essere perché non ho fatto modifiche al file (e quindi era proprio lo stesso identico), o perché il sistema di test funziona diversamente.