Come è costruito il codice fiscale

Il codice fiscale, istituito dal Ministero delle Finanze del Governo italiano con Decreto del 23/12/1976, n. 13813, serve per identificare le persone fisiche e giuridiche a fini fiscali. In questo articolo vengono presentati la struttura del codice fiscale e l’algoritmo di composizione dai dati anagrafici di una persona, corredati da alcuni esempi.

Qui ci limitiamo al solo formato alfanumerico del codice fiscale previsto per identificare le persone fisiche. Rimandiamo all’articolo Come controllare la correttezza della partita IVA dedicato al formato numerico usato per le persone giuridiche.

L’algoritmo può servire anche come metodo di controllo della correttezza di un dato codice fiscale, per evitare gli errori comunemente commessi durante la trascrizione manuale di detto codice. Il controllo diventa particolarmente importante per poter trasmettere all’Anagrafe Tributaria i dati fiscali corretti, secondo quanto previsto dal Decreto Legge del 04/07/2006 n. 223. Inoltre tale algoritmo può facilitare l’inserimento dei dati anagrafici in una maschera estraendo dal codice fiscale il sesso, la data e il luogo di nascita. Non è possibile, putroppo, utilizzare l’algoritmo per generare in proprio un codice fiscale, per le ragioni descritte nella sezione Collisione.

È disponibile un programma di controllo del codice fiscale in PL/SQL di Oracle. Il servizio on line presente nel portale Morfoedro permette di controllare la correttezza del codice fiscale della persona fisica e dà alcune informazioni, ricavabili dal codice, su cognome, nome, sesso, data e luogo di nascita.

Sono graditi commenti e domande che è possibile inviare al seguente indirizzo e-mail: arodichevski@gmail.com.

In fondo a questa pagina si possono trovare le domande frequenti. Si ringrazia il signor Paolo Romano per la discussione che ha permesso di creare la sezione delle domande.

Struttura del codice fiscale

Il codice fiscale è una stringa composta da 16 tra lettere maiuscole dell’alfabeto inglese e cifre. Ha la struttura presentata nella seguente tabella:

DescrizionePosizioneComposizione*Esempio
Cognomeda 1 a 3tre lettereRSS
Nomeda 4 a 6tre lettereGVN
Anno di nascita7 e 8due cifre61
Mese di nascita9una letteraA
Giorno di nascita e sesso10 e 11due cifre01
Luogo di nascitada 12 a 15una lettera seguita da tre cifreF205
Carattere di controllo16una letteraN

* Nota. Al posto delle cifre possono comparire le lettere, come è descritto nella sezione Collisione. Le posizioni sono numerate da 1 a 16.

Algoritmo di composizione del codice fiscale

Di seguito è spiegato l’algoritmo di conversione delle generalità di una persona in un codice fiscale.

Cognome e nome

Il cognome e il nome della persona sono convertiti in lettere maiuscole dell’alfabeto inglese (26 caratteri) eliminando gli eventuali spazi, trattini e apostrofi. È conteggiato il numero delle vocali e delle consonanti contenute nel cognome e nel nome. La vocale è una delle cinque lettere AEIOU, le consonanti sono le rimanenti 21 lettere dell’alfabeto.

Il campo del cognome è formato da tutte le consonanti copiate nello stesso ordine in cui si riscontrano nel cognome, seguite dalle vocali. Se il risultato contiene un numero di lettere inferiore a 3, viene riempito da X a destra. Le prime tre lettere del risultato vengono copiate nel codice fiscale, nelle posizioni da 1 a 3.

La formazione del campo del nome dipende dal numero delle consonanti: se supera 3, si prendono la prima, la terza e la quarta consonante del nome. Altrimenti si procede come nella formazione del cognome. Le prime tre lettere del risultato vengono copiate nel codice fiscale, nelle posizioni da 4 a 6. Questo metodo è stato adottato, si pensa, a causa dei tanti nomi composti in uso in Italia, come ad esempio Maria Teresa.

Data di nascita e sesso

Nelle posizioni 7 e 8 si inseriscono le due ultime cifre dell’anno di nascita.

Il mese di nascita si converte in una lettera, secondo la seguente tabella:

MeseLettera
gennaioA
febbraioB
marzoC
aprileD
maggioE
giugnoH
luglioL
agostoM
settembreP
ottobreR
novembreS
dicembreT

La lettera che rappresenta il mese si inserisce nella posizione 9.

Le posizioni 10 e 11 contengono il giorno di nascita, con gli zeri iniziali. Per il sesso femminile a tale numero si aggiunge 40.

Luogo di nascita

Nelle posizioni da 12 a 15 viene collocato il codice del luogo di nascita composto da una lettera e tre cifre. Il luogo di nascita corrisponde ad uno dei comuni italiani oppure ad uno degli stati esteri. Ad esempio, a Milano corrisponde il codice F205.

La codifica dei luoghi è a cura della Direzione generale del catasto ed è in continuo aggiornamento. È possibile avere l’elenco completo dei luoghi dal sito dell’Agenzia delle entrate.

Collisione

Esistono casi in cui i quindici caratteri del codice fiscale calcolati fino a questo punto per la persona in questione, coincidono con quelli di un’altra persona già in possesso di un codice fiscale. Per attribuire un codice univoco ad ogni persona, si provvede a modificare i quindici caratteri del nuovo codice fiscale, in modo seguente. Le cifre nelle posizioni 7, 8, 10, 11, 13, 14 e 15 si convertono nelle lettere secondo la funzione descritta nella seguente tabella:

CifraLettera
0L
1M
2N
3P
4Q
5R
6S
7T
8U
9V

Si converte a partire dall’ultima posizione verso la prima, affinché il nuovo codice fiscale non coincida con quelli già attribuiti precedentemente.

Questa operazione piò essere eseguita solo da un ufficio centralizzato che ha la competenza di attribuire il codice fiscale.

Carattere di controllo

Ogni carattere del codice fiscale è convertito in un codice da 0 a 25 secondo la seguente regola. La cifra è trasformata nel numero corrispondente, ad esempio 7 in 7. La lettera A si converte in 0, B in 1, ecc., Z si converte in 25.

Viene calcolata la somma di controllo per le posizioni da 1 a 15, in modo diverso per i posti pari e quelli dispari. Ogni posizione pari contribuisce alla somma con il proprio codice. Ogni posizione dispari contribuisce con una funzione del proprio codice, descritta nella seguente tabella:

CodiceContributo
01
10
25
37
49
513
615
717
819
921
102
114
1218
1320
1411
153
166
178
1812
1914
2016
2110
2222
2325
2424
2523

Dividendo la somma di controllo per 26, si ottiene il resto che, convertito nella lettera, si colloca nella posizione 16.

Esempi

Consideriamo alcuni esempi dell’algoritmo di conversione delle generalità in un codice fiscale.

Esempio 1

Rossi Giovanni nato il 1 gennaio 1961 a Milano.

Il cognome si converte in ROSSI. Le consonanti sono tre: RSS, le vocali sono due: OI. Quindi, nelle posizioni da 1 a 3 vanno le tre consonanti RSS.

Il nome si converte in GIOVANNI. Le consonanti sono quattro: GVNN, le vocali sono quattro: IOAI. Quindi, nelle posizioni da 4 a 6 vanno la prima, la terza e la quarta consonante GNN.

Nelle posizioni 7 e 8 si inseriscono le due ultime cifre dell’anno di nascita: 61.

A gennaio corrisponde la lettera A che va messa nella posizione 9.

Le posizioni 10 e 11 contengono il giorno di nascita: 01.

Il luogo di nascita Milano ha il codice F205 che va messo nelle posizioni da 12 a 15.

Per calcolare il codice di controllo, usiamo la seguente tabella:

PosizioneCarattereCodiceContributo
1R178
2S1818
3S1812
4G66
5N1320
6N1313
76615
8111
9A01
10000
11110
12F55
13225
14000
155513

La somma di controllo è 117. Il resto di divisione per 26 è 13. A questo codice corrisponde la lettera N. Quindi, il codice fiscale risulterebbe RSSGNN61A01F205N.

Esempio 2

Lo stesso dell’esempio precedente ed esiste già un codice fiscale RSSGNN61A01F205N assegnato ad altra persona.

Modificheremo la stringa RSSGNN61A01F205 sostituendo i numeri, come descritto nel paragrafo Collisione. Prima sostituiamo la cifra 5 in lettera R nella posizione 15. Ammettiamo che esista già un codice fiscale con i primi 15 caratteri RSSGNN61A01F20R. Allora, sostituiamo la cifra 0 nella posizione 14 in L. Supponiamo che il risultato RSSGNN61A01F2LR non sia stato assegnato a nessuno.

Calcoliamo il carattere di controllo:

PosizioneCarattereCodiceContributo
1R178
2S1818
3S1812
4G66
5N1320
6N1313
76615
8111
9A01
10000
11110
12F55
13225
14L1111
15R178

La somma di controllo 123 divisa per 26 dà il resto 19 al quale corrisponde la lettera T. Quindi, il risultato finale è RSSGNN61A01F2LRT.

Esempio 3

Bò Maria Giovanna nata il 7 dicembre 2001 a San Marino.

Il cognome si converte in BO. Contiene l’unica consonante B e l’unica vocale O. Quindi, nelle posizioni da 1 a 3 vanno la consonante, la vocale e il carattere di riempimento: BOX.

Il nome si converte in MARIAGIOVANNA. Le consonanti sono sei: MRGVNN, le vocali sono sette: AIAIOAA. Quindi, nelle posizioni da 4 a 6 vanno la prima, la terza e la quarta consonanti MGV.

Nelle posizioni 7 e 8 si inseriscono le due ultime cifre dell’anno di nascita: 01.

A dicembre corrisponde la lettera T che va messa nella posizione 9.

Le posizioni 10 e 11 contengono il giorno di nascita al quale bisogna aggiungere 40 per indicare il sesso femminile: 47.

Il luogo di nascita San Marino ha il codice Z130 che va messo nelle posizioni da 12 a 15.

Calcoliamo il carattere di controllo:

PosizioneCarattereCodiceContributo
1B10
2O1414
3X2325
4M1212
5G615
6V2121
7001
8111
9T1914
10444
117717
12Z2525
13110
14333
15001

La somma di controllo è 153. Il resto di divisione per 26 è 23. A questo codice corrisponde la lettera X. Quindi, il codice fiscale risulterebbe BOXMGV01T47Z130X.

Domande più frequenti e risposte

  1. Sarebbe possibile avere l’elenco delle corrispondenze tra i Comuni Italiani e le ultime 3-4 cifre del CF?

    L’elenco ufficiale è incorporato nel programma scaricabile dal sito ufficiale dell’Agenzia delle entrate.

  2. Esiste un sistema per vedere a quale nome e cognome corrispondono i primi sei caratteri di un codice fiscale?

    Vice versa, dato un cognome e un nome, è possibile verificare se i primi sei caratteri del CF corrispondono a questi. Basta seguire la parte dell’algoritmo dedicata al cognome e nome.

Risorse

  1. Decreto del 23/12/1976, n. 13813 dal Ministero delle Finanze nel Centro Ricerca Documentazione Economica e Finanziaria.
    http://http://def.finanze.it/
  2. Elenco dei comuni italiani nel sito dell’Agenzia delle entrate.
    http://www.agenziaentrate.gov.it/
  3. Servizio on line per controllare la correttezza del codice fiscale della persona fisica e per dare alcune informazioni, ricavabili dal codice, su cognome, nome, sesso, data e luogo di nascita.
    http://www.morfoedro.it/cfdescr.php
  4. Servizio di verifica del codice fiscale nel portale dell’Agenzia delle entrate.
    https://telematici.agenziaentrate.gov.it/

3 commenti su “Come è costruito il codice fiscale

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *