Nome file fatture passive duplicati

Buongiorno, vorrei sapere da voi come avete gestito in Windows i file delle fatture passive ricevute con stesso nome (o con stesso nome ma differenziato da lettere maiuscole o minuscole). Essendo Windows case insensitive e usando da VB.Net il comando per estrarre dall’archivio ne consegue la sovrascrittura (perdita) dei file in questione. Grazie.

Dalla build di windows 10 1803 puoi attivare il supporto case sensitivi per una cartelella in questo modo:

fsutil.exe file SetCaseSensitiveInfo C:\folder\path enable

In ogni caso ci sono parecchie librerie che ti permettono di leggerre direttamento lo stream compresso in memoria senza prima decomprimerlo su disco, questa è una delle tante libreria che permette di farlo.

1 Mi Piace

Grazie GiuseppeL, proverò la libreria che hai linkato. Noi lavoriamo su Windows Server 2012.

Oltra a questo fatto (lo scrivevo in un thread gemello del mese scorso), se anche si risolve server side, una buona fetta della platea degli utenti utilizza ancora winzoz per lavorare.

per cui per assurdo: risolvi il problema sul server poi i poveretti se scaricano le fatture le perdono !

una vera alternativa è intercettare il nome file prima della scrittura , verificare se esiste, e aggiungere un suffisso.

1 Mi Piace

Concordo, è quello che speravo di non dover fare ma che probabilmente dovremo implementare. Il problema sarà tenere traccia complessivamente di tutti i nomi cercando ogni volta dentro le cartelle di backup.

Io non mi ero posto il problema delle collisioni perchè davo per scontato che nel 2019 tutti i sistemi operativi avessero file system case sensitive. Quando mi sono accorto del problema, in prima battuta ho utilizzato questa soluzione. Però c’è un però: alcuni sw di commercialisti (non so quali) rilevano come non validi i nomi con suffisso. Il mio nuovo workaround consiste quindi nell’aggiungere un suffisso alla parte partita IVA.
Es.: IT12345678901 —> IT123456789010
Comunque, anche in questo caso, è solo questione di tempo prima che si verifichino nuovamente collisioni, ed inoltre diventa più complicato mantenere una corrispondenza biunivoca tra metadati e documento; perciò la vera soluzione IMHO è insegnare ai “poveretti” a far diventare case sensitive le cartelle di Windows in cui scaricano le fatture :grimacing:

1 Mi Piace

La vera soluzione funziona solo se poi l’applicazione è in grado di gestire il suddetto filesystem.

Come Workaround per un cliente ho trovato il seguente:
se la fattura ha nel nome una partita iva (11 caratteri) una possibile soluzione è aggiungere 5 caratteri si fatti:
se il progressivo è aBc01 aggiungere 01000 alla partita iva
se il progressivo è AbC01 aggiungere 10100 alla partita iva

solo che alcuni furboni già mettono 16 caratteri anche nel caso di PIVA.

Ma nel 2019 dotare tutti i S.O con filesystem case sensitive di default è troppo difficile ???

1 Mi Piace

La retrocompatibilità è sempre stata uno dei punti di forza di Windows, e rendere di default il file system case sensitive (cosa che NTFS supporta), avrebbe probabilmente creato un sacco di problemi con software vecchi.

Sarebbe stato molto più semplice se l’agenzia delle entrate avesse specificato nomi di file case insensitive (o imposto di usare solo le maiuscole) e nel contempo allungato il progressivo.

Tra l’altro non sono solo alcuni file system ad essere case insensitive, lo sono di default anche la maggior parte dei database. Ma almeno in quel caso si può specificare un comportamento diverso abbastanza facilmente.

Mi sembra di esser tornato ai bei tempi del SOAP vs SFTP :joy:
Sarebbe molto più semplice che le persone imparassero ad utilizzare Windows ed a rendere case sensitive la cartella all’interno della quale salvano le fatture.
Parafrasando la pagina fb dell’INPS: “Se hanno imparato come farsi i selfie con le orecchie di coniglio possono imparare a rendere case sensitive una cartella”. :rofl:

1 Mi Piace

Anche il file system di OSX (che è di derivazione Unix) è per default case insensitive. Probabilmente per l’utente normale è più semplice…

1 Mi Piace

Vero! Ed è persino più complicato che Windows in merito: devi proprio creare un volume a parte per abilitare o meno il case sensitive. Però, sarà un case ma da parte di utenti OsX non ho ricevuto ancora nessuna lamentela :joy:

ma fare la sezione univoca del nomefile di 9 caratteri anzichè 5
e solo caratt. maiusc. o solo minusc.
no eh
troppo complicato…

che il 90% degli utenti ha pc con windows
era troppo difficile prevederlo…

Troviamo una soluzione salomonica:

  1. Nome del file tutto in maiuscolo
  2. Tracciato XML tutto in maiuscolo
  3. Contenuto dell’XML tutto in maiuscolo per chi ha problemi di vista
  4. Progressivo del nomefile da 64 lettere maiuscole, per chi ha problemi d’ansia. Sono concesse le lettere maiuscole accentate.
  5. La codifica base64 viene trasformata in base25 così da rispettare il punto 3 e non dover utilizzare numeri oppure + e /

:joy::joy::joy:

Io ho tagliato la testa al toro.
Nome file: nomeFornitore_piva o cf_n.fattura_dataFattura
col cavolo che mi risultano due nomi uguali :smiley:
Ovviamente tocca leggersi questi dati dall’XML quindi un piccolo sbattimento in piu’

1 Mi Piace

Abbiamo avuto un esempio con lo stesso nome file e solo una lettera in lettere maiuscole / minuscole come differenza, ma quando ho controllato manualmente il contenuto era la stessa identica fattura all’interno.

teoricamente la fattura non potrebbe essere inviata due volte, dovrebbe essere scartata anche se ha il nome del file diverso. Praticamente, anche se avvenisse, non importa la sovrascrittura del file, tanto è la stessa fattura no?

No, se SDI la accetta (non dovrebbe, ma ricordiamo la legge di Murphy) sono due fatture diverse.

no scusa, la normativa fiscale non è stata modificata con l’avvento della fatturazione elettronica. Non puoi emettere due volte la stessa identica fattura. Su questo non ci piove.
A me, come scritto in un altro thread, mi è successo l’opposto. Sdi ha preso due fatture diverse ma con lo stesso nome (non so come abbia potuto fare) e afferma che me le ha consegnate entrambe (nell’originale inviato dall’Sdi ovviamente ce n’è solo uno e non potrebbe essere diversamente visto che, avendo lo stesso nome di file, verrebbe sovrascritto)

La normativa fiscale è la stessa ma la legge di Murphy dice che se il tuo cliente emette la fattura 1 e poi emette di nuovo la fattura 1\ perchè gli è scappato il dito sul “\” SDI la accetta perchè 1 ed 1\ sono diversi.
Quello che riporti è un’anomalia: lo stesso nome di file deve essere rigettato. L’idSdi è lo stesso per entrambe le fatture?

La mia spiegazione per il mio caso è stata che la fattura è stata inviata solo una volta a SDI con il nome del file e SDI lo ha ri-consegnato o in qualche modo che è accaduto internamente dove lo stesso file è stato elaborato la seconda volta. Quindi ero con la convinzione che SDI non valesse la distinzione tra maiuscole e minuscole, dai tuoi post anche se sembra che siano case sensitive e questo scenario è valido.

cioè
IT12345678901_Xv67U.xml
IT12345678901_Xv67u.xml