Home Page Home Page Articoli Il calcolo del Codice Fiscale

Il calcolo del Codice Fiscale

Mostreremo in questo articolo un algoritmo molto comune; è l'algoritmo che ci permette di calcolare il Codice Fiscale. Oltre a questo dotNetHell mette a disposizione un Web Service che può essere "consumato" (utilizzato) da chiunque liberamente.
Autore: David De Giacomi Livello:

Codice Fiscale


Per calcolare subito il tuo codice fiscale puoi cliccare qui! 

Cos'è il Codice Fiscale e come si calcola


Il Codice Fiscale è un "codice" (lo dice la parola stessa), che identifica in modo univoco le persone che sono iscritte nei registri dell'anagrafe tributaria cioè i dati che servono poi per fare funzionare tutto il sistema tributario (Fisco, da qui "fiscale"), quindi pagamento tasse, imposte, e così via. Ma come si calcola il codice fiscale ? Beh, cerchiamo innanzitutto di capire come è composto, da quali elementi e successivamente come calcolarlo.

Codice Fiscale e Agenzia delle Entrate


Come detto nel paragrafo precedente, il codice fiscale è utile in materia di fisco infatti viene assegnato ai neonati alla nascita dall'Agenzia delle entrate ente che poi ci seguirà nel corso di tutta la nostra vita da contribuenti. Può essere assegnato non solo ai cittadini Italiani ma anche stranieri, più avanti c'è un paragrafo dedicato relativo ai codici stato esteri per i cittadini nati fuori dall'Italia.

Struttura e composizione del Codice Fiscale


E' un codice Alfanumerico (composto da lettere e numeri) di 16 caratteri.
I primi 15 sono relativi ai dati personali (nome, cognome, sesso, data di nascita e luogo di nascita) mentre l'ultimo è un carattere di controllo che viene calcolato con delle formule applicate ai precedenti 15 caratteri.
Vediamo un codice fiscale:

Un codice fiscale di esempio
Un codice fiscale di esempio


Come vedete è composto dai seguenti blocchi:

- 3 lettere per il cognome
- 3 lettere per il nome
- l'anno di nascita (numero)
- il mese della data di nascita (lettera)
- il giorno della data di nascita (numero)
- il codice del comune di nascita
- il carattere di controllo

L'algoritmo di calcolo



Cognome
Sono necessarie come detto prima 3 caratteri per rappresentare il cognome, e sono la prima la seconda e la terza consonante del cognome.
E' possibile che le consonanti siano meno di tre, in questo caso è possibile aggiungere le vocali nell'ordine in cui compaiono nel cognome.
Per cognomi più corti di 3 caratteri, è possibile sostituire il carattere mancante con la lettera X.
Chiaramente se ci sono cognomi con più parti, è necessario rimuovere gli spazi e considerare tutto come un cognome unico.

Esempi:
(Normale) Cognome : "ROSSI" - Codice Cognome : "RSS"
(Solo due consonanti) Cognome : "RIVA" - Codice Cognome : "RVI"
(Cognome minore di 3 car.) Cognome : "RE" - Codice Cognome : "REX"
(Cognome composto) Cognome : "DE CRESCENZO" - Codice Cognome : "DCR"

Nome
Per il nome il discorso è analogo con la particolarità che se il nome è composto da 4 o più consonanti vengono prese nell'ordine la prima, la terza e la quarta.
Anche qui potremmo trovarci nella situazione di un numero di consonanti minore di 3 e allo stesso modo si aggiungo le vocali.
Ripetiamo anche qui che se il nome è più corto di 3 lettere è possibile sostituire i caratteri mancanti con delle X.
Se il nome fosse composto da più nomi, bisogna considerarlo tutto assieme.

Esempi:
(Normale) Nome: "MARTA" - Codice Nome: "MRT"
(Solo due consonanti) Nome : "SALA" - Codice Nome : "SLA"
(Nome minore di 3 car.) Nome: "AL" - Codice Nome : "LAX"
(Nome composto) Nome : "MARIA PIA" - Codice Nome : "MRP"

Anno di nascita
Per l'anno vengono prese semplicemente le ultime due cifre.

Esempio:
Anno : 1970 - Codice Anno: 70

Mese
Per quanto riguarda il mese c'è una tabella di conversione che riportiamo qui di seguito. Ad ogni mese corrisponde una lettera dell'alfabeto:

Tabella per la conversione del mese
Tabella per la conversione del mese


Giorno
In questo caso è sufficiente riportare il numero del giorno, con il particolare che per le donne questo numero dev'essere aumentato di 40!

Esempi:
Uomo nato il : 22/10/1980 - Codice Giorno: 22
Donna nata il : 22/10/1980 - Codice Giorno: 62

Comune di nascita
E' composto da quattro caratteri alfanumerici. E' il codice del comune rilevati dai volumi dei codici dei comuni italiani. Ci sono database che contengono tutti i comuni d'italia con relativi codici.

Esempi:
Comune : Brescia - Codice Comune :B157

Codici stati esteri


Non è detto però che tutti siano nati in Italia. Infatti per chi è nato in uno stato estero c'è un codice apposito che sostituisce il codice comune. L'elenco dei codici degli stati esteri viene fornito dall'Agenzia del territorio a questo link Codici dei Comuni d'Italia e degli Stati Esteri . Il documento non è di facile consultazione per il semplice motivo che alcuni stati esteri hanno avuto nel passato una storia, alcuni stati si sono fusi, (ad esempio le due Germanie Est e Ovest) ed altri si sono separati (Repubblica Ceca e Slovacchia, oppure l'Ex Unione Sovietica, con i nuovi stati Ucraina, Lettonia, Estonia, ecc.) Quindi bisogna cercare di capire, sulla base della data di nascita, qual è il codice di stato estero corretto.

Il codice di controllo


Rimane l'ultimo carattere, è il codice di controllo, forse la procedura più noiosa è proprio il calcolo di quest'ultimo carattere e quindi gli dedichiamo un intero paragrafo.

Partiamo subito mostrando questa tabella:

Tabelle per le conversioni dei caratteri
Tabelle per le conversioni dei caratteri


Si comincia con il prendere i caratteri del codice fiscale fin qui calcolato che sono 15, si prendono quelli in posizione pari e si convertono con i numeri corrispondenti della prima tabella. Tutti questi numeri vengono sommati.

Allo stesso modo con i caratteri dispari che devono essere convertiti però utilizzando la seconda tabella e vengono tutti sommati.

I valori ottenuti vengono a loro volta sommati e il totale viene diviso per 26.
Il resto della divisione dev'essere convertito usando l'ultima tabella.
Il carattere corrispondente è il codice di controllo!

Verifica del Codice Fiscale


Spesso nei siti web di e-commerce viene richiesto un codice fiscale e spesso in qualità di sviluppatori è utile verificare la validità del codice fiscale stesso rispetto ai dati forniti ed in particolare la verifica del codice di controllo. Noi a scopo didattico abbiamo creato un Web Service che oltre a consentire il calcolo del codice fiscale online consente anche di verificare la sua validità.

Il Web Service del Codice Fiscale


dotNetHell.it mette a disposizione gratuitamente un Web Service per calcolare il codice fiscale. E' possibile consumare questo servizio liberamente dalle vostre applicazioni o dai vostri siti web. Per eventuali commenti, bugs, o aggiunte scriveteci tramite l'apposito link "Contattaci" in alto nella pagina.
Un elenco dei Web Services disponibili su dotNetHell è disponibile qui:

http://webservices.dotnethell.it 

N.B. Il codice sorgente del Web Service non è disponibile per il download
Voto medio articolo: 4.4 Numero Voti: 53
David De Giacomi

David De Giacomi

MVP Program Logo Approda al mondo dell'informatica nell' Aprile del 1994. Un amico gli fa conoscere il Quick Basic del DOS. E' cosi che inizia la sua attività di sviluppatore. Prosegue il suo percorso con altri linguaggi (Visual Basic, Pascal, Java, ANSI C), fino ad arrivare a .NET. Per un certo periodo affianca all'attività ... Profilo completo

Articoli collegati

Creare pagine HTML utilizzando XML e XSLT (XML2HTML)
In questo articolo vedremo come creare una pagina HTML "formattata" partendo da un file XML e trasformandolo tramite XSLT. Tutti sapete cosa sia un documento HTML, quasi tutti sapete cosa sia un documento XML ma pochi sanno cosa sia l’ XSLT, cerchiamo, quindi, in poche righe, di capire di cosa stiamo parlando.
Autore: Stefano Passatordi | Difficoltà: | Commenti: 7
XML in SQL Server 2005
Scopriamo come è stato implementato il supporto nativo XML in SQL Server 2005, mostrando anche come è possibile con XQuery gestire e manipolare i dati XML all'interno del Database.
Autore: Marco Caruso | Difficoltà: | Commenti: 2 | Voto:
BLOB in XML
In quest'articolo vedremo come scrivere e leggere Blob(Binary Large Object) in un file XML utilizzando la classe XmlTextWriter e la classe XmlTextReader.
Autore: Marco Caruso | Difficoltà: | Commenti: 1 | Voto:
Il DOM XML
Microsoft ha messo a disposizione degli sviluppatori un intero namespace (System.XML) per la manipolazione dei files XML tramite il DOM, vediamo in questo articolo alcuni percorsi per operare facilmente con XML
Autore: Marco Caruso | Difficoltà: | Commenti: 16
SOAP Headers e sicurezza nei web services
Hai un web service e non sai se è sicuro? Questo articolo ti illustra uno dei tanti metodi per rendere sicuro il tuo web service, i SOAP Headers.
Autore: Giovanni Ferron | Difficoltà: | Commenti: 2 | Voto:
dotNetHell Contents Web Service
Un nuovo Web Service a disposizione di tutti quelli che desiderano pubblicare i contenuti offerti da dotNetHell (Articoli, News e Tips) nei loro siti Web tramite l'utilizzo di script preconfezionati per ASP Classico, ASP.NET, PHP e Javascript
Autore: David De Giacomi | Difficoltà: | Voto:
Ricerca in un file XML: un Textbox per il tuo sito dinamico
Una soluzione semplice ed elegante per creare un sito Web dinamico consiste nell?utilizzo di XML. Vi mostrerò in questo articolo come implementare un campo di ricerca per i vostri siti basati su XML e .NET.
Autore: Luigi Corrias | Difficoltà: | Commenti: 2
Copyright © dotNetHell.it 2002-2014
Running on Windows Server 2008 R2 Enterprise, SQL Server 2008 & ASP.NET 3.5