La normativa riguardante le modalità di calcolo del codice fiscale è il Decreto ministeriale del Ministero delle finanze del 23 dicembre 1976 «Sistemi di codificazione dei soggetti da iscrivere all'anagrafe tributaria» [1].
Nessuno è autorizzato a calcolare o fornire strumenti per il calcolo del codice fiscale, l'unico codice valido è quello rilasciato al soggetto dall'Agenzia delle Entrate. (Vedi Codice Fiscale e Tessera sanitaria)
L'algoritmo descritto a seguire, pur non garantendo l'affidabilità del risultato, è utilizzato abitualmente per calcolare il codice. Questa abitudine, oramai consolidata, è causa di ripetuti disagi generati al soggetto il cui codice fiscale differisce da quello prodotto dall'algoritmo. Sarebbe pertanto opportuno scoraggiarne l'utilizzo.
Il codice fiscale è composto da 16 caratteri alfanumerici, ricavati in linea generale secondo il seguente algoritmo:
Cognome (3 lettere)
Vengono prese le consonanti del cognome (o dei cognomi, se ne ha più di uno) nel loro ordine: solo se sono insufficienti, si prelevano anche le vocali, sempre nel loro ordine: comunque, le vocali vengono riportate dopo le consonanti. Nel caso in cui cognome abbia meno di tre lettere, la parte di codice viene completata aggiungendo la lettera X (es.: Fo -> FOX). Per le donne, viene preso in considerazione il solo cognome da nubile.
Nome (3 lettere)
Vengono prese le consonanti del nome (o dei nomi, se ve ne è più di uno) in questo modo: se il nome contiene quattro o più consonanti, si scelgono la prima, la terza e la quarta, altrimenti le prime tre in ordine. Solo se il nome non ha consonanti a sufficienza, si prendono anche le vocali: comunque, le vocali vengono riportate dopo le consonanti. Nel caso in cui il nome abbia meno di tre lettere, la parte di codice viene completata aggiungendo la lettera X. Un caso estremo si incontra in alcuni soggetti provenienti dall'India nel passaporto dei quali è riportata una sola parola al posto del cognome e del nome. Si userà allora quella parola per generare le prime tre lettere del codice e, non esistendo il nome, la seconda terzina di lettere del codice sarà XXX.
Data di nascita e sesso (5 caratteri alfanumerici)
Anno di nascita (2 cifre): si prendono le ultime due cifre dell'anno di nascita;
Mese di nascita (1 lettera): ad ogni mese dell'anno viene associata una lettera in base a questa tabella:
Lettera Mese Lettera Mese Lettera Mese
A gennaio E maggio P settembre
B febbraio H giugno R ottobre
C marzo L luglio S novembre
D aprile M agosto T dicembre
Giorno di nascita e sesso (2 cifre): si prendono le due cifre del giorno di nascita (se è compreso tra 1 e 9 si pone uno zero come prima cifra); per i soggetti di sesso femminile a tale cifra va sommato il numero 40.
Comune di nascita (4 caratteri alfanumerici)
Per questa parte di codice viene utilizzato il codice catastale del comune di nascita, ossia una codifica predisposta dalla Direzione Generale del Catasto, composta da una lettera e 3 cifre numeriche. Per i nati al di fuori del territorio italiano si considera lo Stato estero di nascita; in tal caso la sigla inizia con la lettera Z, seguita dal numero identificativo della nazione.
Codice di controllo (1 lettera)
A partire dai 15 caratteri alfanumerici ricavati in precedenza, si determina il codice di controllo in base ad un particolare algoritmo, che opera in questo modo: si mettono da una parte i caratteri alfanumerici che si trovano in posizione dispari (il 1°, il 3°, ecc.) e da un'altra quelli che si trovano in posizione pari (il 2°, il 4°, ecc.). Fatto questo, i caratteri vengono convertiti in valori numerici rispettando le seguenti tabelle:
CARATTERI ALFANUMERICI DISPARI
Carattere Valore Carattere Valore Carattere Valore Carattere Valore
0 1 9 21 I 19 R 8
1 0 A 1 J 21 S 12
2 5 B 0 K 2 T 14
3 7 C 5 L 4 U 16
4 9 D 7 M 18 V 10
5 13 E 9 N 20 W 22
6 15 F 13 O 11 X 25
7 17 G 15 P 3 Y 24
8 19 H 17 Q 6 Z 23
CARATTERI ALFANUMERICI PARI
Carattere Valore Carattere Valore Carattere Valore Carattere Valore
0 0 9 9 I 8 R 17
1 1 A 0 J 9 S 18
2 2 B 1 K 10 T 19
3 3 C 2 L 11 U 20
4 4 D 3 M 12 V 21
5 5 E 4 N 13 W 22
6 6 F 5 O 14 X 23
7 7 G 6 P 15 Y 24
8 8 H 7 Q 16 Z 25
A questo punto, i valori che si ottengono dai caratteri alfanumerici pari e dispari vanno sommati tra di loro, e il risultato va diviso per 26. Il resto della divisione fornirà il codice identificativo, ottenuto dalla seguente tabella di conversione:
RESTO
Resto Lettera Resto Lettera Resto Lettera Resto Lettera
0 A 7 H 14 O 21 V
1 B 8 I 15 P 22 W
2 C 9 J 16 Q 23 X
3 D 10 K 17 R 24 Y
4 E 11 L 18 S 25 Z
5 F 12 M 19 T
6 G 13 N 20 U
Due diverse persone potrebbero avere uguali tutte e 16 le lettere/cifre generate usando questo schema (omocodia). In questo caso, l'Agenzia delle Entrate provvede a sostituire sistematicamente i soli caratteri numerici (a partire dal carattere numerico più a destra) con un carattere corrispondente, secondo la seguente tabella:
Cifra L