Correzione automatica codice fiscale

aggiustamento automatico codice fiscale scs

Per un cliente ho dovuto realizzare una importazione massiccia di anagrafiche, comprensive di codice fiscale, trascritte a mano su foglio Excel.

Si tratta di un numero significativo di anagrafiche, circa 2500, per cui e’ difficile intervenire manualmente per la correzione di eventuali errori.

Il codice fiscale, presente per ogni soggetto, risultava il dato più ‘sporco’, con circa il 10% di errori.

Ho creato una serie di filtri, con le espressioni regolari, che mi hanno permesso di individuare nome e cognome del soggetto, di separarli e pulirli.

Alla fine del procedimento rimanevano 260 codici fiscali errati, per cui ho creato un meccanismo automatico di pulizia degli stessi.

Ho realizzato un algoritmo di correzione del codice fiscale, che puo’ essere adatto in particolari situazione, in cui il codice fiscale non è fiscalmente indispensabile che sia corretto.

Sottolineo fin da ora che il meccanismo puo’ sbagliare, e l’unico ente affidabile per il rilascio del codice fiscale e’ l’Agenzia delle Entrate, per cui non mi assumo ovviamente la responsabilità di errori nei codici fiscali generati con il mio algoritmo. Evidenzio che esiste una probabilità reale, in alcuni casi anche elevata, in cui l’agoritmo non funziona e/o produce dati errati.

L’algoritmo creato prevede la presenza di una serie di funzioni, che scompongono il codice, ed esaminano le singole parti, analizzano i problemi e tentano di sistemare il dato, mantenendo la congruenza con il codice di controllo finale.

 

Il codice fiscale deve avere un formato generale corretto.

Il formato generale corretto è il seguente ( A alfanumerico [A-Z] , N numerico [0-9] )

AAA AAA NN A NN A NNN A

aggiustamento automatico codice fiscale scs formato

Se il formato generale non e’ corretto l’iterfaccia web (descritta in seguito) evidenzia il problema, e aspetta una correzzione manuale.

Niente (per adesso) è stato fatto su codici fiscalil con formato generale sbagliato.

Per aggiustare il formato si consiglia di usare questo sito ( nonsolocapp.it ) che fornisce una interfaccia interattiva per la verifica formale del codice fiscale, e che

mi ha aiutato in tutti i casi in ho dovuto sistemare manualmente il formato.

 

Nei codici fiscali sottoposti si assume che il codice di controllo (caratteri finale) sia corretto. Questo per avere un punto fermo dell’analisi. Se l’errore di incongruenza sta nel codice di controllo l’algoritmo non funziona correttamente, perche’ ci sono buone probabilità che individui una modifica al codice compatibile con il codice di controllo errato.

Il funzionamento logico è il seguente:

Le funzioni analizzano li cognome, il nome, il mese di nascita, il giorno di nascita, il luogo di nascita.

Per ogni pezzo, se risulta errato o fuori range, cercano la soluzione, e la sostituiscono, riverificando ogni volta la congruità con il carattere di controllo finale.

Se non viene riscontrato alcun errore formale (es. se fornito cognome originale match fra quello fornito e quello del codice fiscale, data di nascita superiore al 31 del mese, o mese non esistente ecc…) l’algoritmo procede per tentativi, e ad ogni tentativo si riverifica la congruità.

Inizia a sostituire dal data di nascita, prima per il sesso del codice fiscale, poi per l’latro sesso (es per es. la data e’ 03 mar prova tutti i giorni di marzo per l’uomo (01-31) poi per la donna (41-71) e viceversa). L’algoritmo tiene conto, relativamente al giorno finale del mese, dell’anno bisestile, e del mese in questione (es. gennaio 31 giorni, febbario 28 ma se bisestile 29 ecc…).

Poi l’algoritmo prova il mese.

Quindi prova il comune di nascita.

Per ogni tentativo si verifica, utilizzando l’algoritmo di levenshtein, che la distanza fra la parola originale e quella sostituita non sia superiore a 2 (sostituzione o rovescione) per tutti, fuorche’ per il comune, dove non puo’ essere superiore a 1 (altrimenti si trovano troppi comuni che possono andare bene…).

Se la ricerca di un campo produce più di un risultato viene scelto il primo, ma vengono mostrati anche gli altri (nell’interfaccia web).

L’elenco dei comuni è aggiornato a luglio 2017.

Dato che immagino che il software possa essere interessante, ho preparato una paginetta web, in cui si puo’ utilizzare, sia con un solo codice fiscale, sia in modo massivo, inviando un file csv.

Se si dispone anche del cognome e del nome il risultato di aggiustamento corretto ha probabilità maggiore di riuscita.

Il file CSV ha formato cognome;nome;cf da controllare.

E’ possibile aumentare il livello di commento come output, in modo che si capisca se ci sono più scelte per un singolo campo.

Buon lavoro.

© 2018 SCS di Alberto Montanari & C. s.a.s. | Pricacy Policy - Cookie Policy