Controlla in un istante se un codice fiscale è formalmente valido: lunghezza, formato e carattere di controllo secondo l’algoritmo del D.M. 23/12/1976, con riconoscimento delle varianti da omocodia.
L’ultimo carattere del codice fiscale è una lettera calcolata sui primi 15 caratteri. Ognuno di essi vale un numero, diverso a seconda che occupi una posizione dispari (1ª, 3ª, 5ª…) o pari (2ª, 4ª, 6ª…). La somma dei 15 valori, divisa per 26, dà un resto da 0 a 25 che corrisponde alla lettera finale (0=A, 25=Z). Basta un solo carattere sbagliato perché la lettera di controllo non torni più: è questo che rende la verifica così efficace contro gli errori di trascrizione.
| Car. | Dispari | Pari | Car. | Dispari | Pari |
|---|---|---|---|---|---|
| 0 | 1 | 0 | I | 19 | 8 |
| 1 | 0 | 1 | J | 21 | 9 |
| 2 | 5 | 2 | K | 2 | 10 |
| 3 | 7 | 3 | L | 4 | 11 |
| 4 | 9 | 4 | M | 18 | 12 |
| 5 | 13 | 5 | N | 20 | 13 |
| 6 | 15 | 6 | O | 11 | 14 |
| 7 | 17 | 7 | P | 3 | 15 |
| 8 | 19 | 8 | Q | 6 | 16 |
| 9 | 21 | 9 | R | 8 | 17 |
| A | 1 | 0 | S | 12 | 18 |
| B | 0 | 1 | T | 14 | 19 |
| C | 5 | 2 | U | 16 | 20 |
| D | 7 | 3 | V | 10 | 21 |
| E | 9 | 4 | W | 22 | 22 |
| F | 13 | 5 | X | 25 | 23 |
| G | 15 | 6 | Y | 24 | 24 |
| H | 17 | 7 | Z | 23 | 25 |
Tre cose: la lunghezza (16 caratteri), il formato (lettere e cifre nelle posizioni giuste, incluse le sostituzioni da omocodia) e il carattere di controllo, ricalcolato sui primi 15 caratteri con la tabella ministeriale. Se tutto torna, il codice è formalmente valido.
No. La verifica formale garantisce solo che il codice rispetta l’algoritmo. Per sapere se un codice è realmente attribuito a una persona serve il servizio di verifica dell’Agenzia delle Entrate, che interroga l’Anagrafe tributaria.
Di solito è un errore di battitura: una lettera scambiata (O al posto di 0, I al posto di 1) cambia il risultato. Può anche trattarsi di un codice omocodico trascritto male. Ricontrolla carattere per carattere.
I primi 15 caratteri si dividono in posizioni dispari e pari. Ogni carattere vale un numero secondo due tabelle diverse (quella delle posizioni dispari è irregolare, quella delle pari è 0–25 in ordine). La somma si divide per 26 e il resto individua la lettera finale (0=A, 1=B, … 25=Z).