Vai al contenuto
Calcolo Codice Fiscale Inverso

Omocodia nel codice fiscale: che cos’è e come funziona

Aggiornato il · 6 minuti di lettura

Si ha omocodia quando due persone diverse genererebbero lo stesso codice fiscale: l’Agenzia delle Entrate risolve il conflitto sostituendo le cifre del codice con lettere, a partire dalla cifra più a destra. Il risultato è un codice fiscale regolare che contiene lettere dove di norma compaiono numeri.

Che cos’è l’omocodia

Il codice fiscale non è un identificatore casuale: è calcolato a partire da cognome, nome, data di nascita, sesso e comune di nascita. Due persone che condividono tutti questi dati (e la codifica di cognome e nome è tutt’altro che univoca) arriverebbero allo stesso identico risultato.

Poiché il codice deve identificare una sola persona, in questi casi l’Agenzia delle Entrate ne attribuisce una variante. Non modifica i dati anagrafici e non aggiunge caratteri: converte in lettere una o più cifre già presenti, secondo una tabella fissa.

La tabella delle sostituzioni

Ogni cifra ha una e una sola lettera corrispondente. La corrispondenza è biunivoca, quindi da un codice omocodico si può sempre tornare alla forma numerica.

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

Le uniche lettere che possono comparire al posto di una cifra sono dunque L M N P Q R S T U V. Una lettera diversa in una posizione numerica non è un’omocodia: è un errore.

Quali caratteri possono cambiare

Le posizioni numeriche di un codice fiscale sono sette, distribuite in tre blocchi. Sono le uniche che l’omocodia può toccare: i sei caratteri iniziali, la lettera del mese, la prima lettera del codice Belfiore e il carattere di controllo restano sempre lettere.

PosizioneBloccoNota
7–8Anno di nascitaultime due cifre
10–11Giorno di nascitaalle donne si sommano 40
13–15Comune di nascitale tre cifre del codice Belfiore

L’ordine di sostituzione parte dalla posizione 15 e risale verso sinistra: 15, 14, 13, 11, 10, 8, 7. Con sette posizioni disponibili si possono generare fino a sette varianti successive dello stesso codice di partenza.

Esempio passo per passo

Partiamo da un codice base. La prima variante sostituisce soltanto la cifra più a destra; la seconda aggiunge quella immediatamente precedente, senza mai ripristinare la prima.

PassaggioCodice fiscaleSostituzione
Codice baseRSSMRA85M01H501Qnessuna sostituzione
Primo livelloRSSMRA85M01H50MIposizione 15: 1 → M
Secondo livelloRSSMRA85M01H5LMTposizione 14: 0 → L

Come riconoscere un codice omocodico

Basta guardare le sette posizioni numeriche. Se almeno una contiene una lettera fra L, M, N, P, Q, R, S, T, U e V, il codice è omocodico.

RSSMRAcognome e nome
85anno
Mmese
01giorno
H5comune
LMsostituiti
Tcontrollo

In RSSMRA85M01H5LMT le posizioni 14 e 15 contengono L e M anziché due cifre. Riconvertendole si ottiene il codice Belfiore H501, cioè Roma. La data di nascita e il sesso non cambiano: la variante omocodica conserva integralmente il significato dei dati codificati.

Come riportare un codice omocodico alla forma numerica

Poiché la tabella è biunivoca, l’operazione inversa è deterministica: si riconvertono le lettere che occupano posizioni numeriche e si ricalcola il sedicesimo carattere. Non serve alcun archivio, solo la tabella qui sopra. È l’unico passaggio del codice fiscale che si può davvero invertire senza perdita di informazione.

  1. Individua le posizioni numeriche. Sono la 7, l’8, la 10, l’11, la 13, la 14 e la 15. Le altre nove non vengono mai toccate dall’omocodia, quindi qualsiasi lettera vi compaia è al suo posto.
  2. Riconverti solo quelle. In RSSMRA85M01H5LMT le posizioni 14 e 15 contengono L e M, che valgono 0 e 1. I primi quindici caratteri tornano RSSMRA85M01H501.
  3. Ricalcola il controllo. Sui quindici caratteri riconvertiti il sedicesimo torna Q, non la T del codice omocodico. Il codice di partenza era dunque RSSMRA85M01H501Q.
  4. Adesso leggilo. H501 è Roma, 85 l’anno, M il mese di agosto e 01 il giorno, che essendo minore di 40 indica un uomo.

Vale anche il contrario, ed è la ragione per cui i codici fiscali omocodici confondono i sistemi informativi: due codici diversi possono riconvertirsi nello stesso codice numerico, perché è esattamente da quella collisione che sono nati. Riconvertire serve a leggere il codice, mai a stabilire se due codici appartengano alla stessa persona.

Perché un gestionale può rifiutarlo

È il problema pratico più frequente legato all’omocodia. Molti software validano il codice fiscale con un’espressione regolare che pretende cifre in tutte e sette le posizioni numeriche: un codice omocodico, pur essendo stato attribuito dall’Agenzia delle Entrate, viene respinto come “formato non valido”.

Schema che rifiuta i codici omocodici

^[A-Z]{6}[0-9]{2}[A-Z][0-9]{2}[A-Z][0-9]{3}[A-Z]$

Schema corretto

^[A-Z]{6}[0-9LMNPQRSTUV]{2}[A-Z][0-9LMNPQRSTUV]{2}[A-Z][0-9LMNPQRSTUV]{3}[A-Z]$

La differenza è solo l’ammissione delle dieci lettere sostitutive nelle posizioni numeriche. Se poi il software deve interpretare la data o il comune, deve prima riconvertire quelle lettere in cifre: è esattamente ciò che fa il decoder di questa pagina prima di leggere anno, giorno e codice Belfiore.

Prova un codice omocodico

Incolla RSSMRA85M01H5LMT per vedere il riconoscimento in azione: il decoder segnala le sostituzioni e decodifica comunque data, sesso e comune di nascita.

0/16

Domande frequenti

Fonte: Agenzia delle Entrate · DM 23 dicembre 1976 (Ministero delle Finanze).

Un codice omocodico si legge comunque, e il calcolo codice fiscale inverso. Chi non conosce la sostituzione lo scambia per un errore, come spiega codice fiscale non valido: le cinque cause. Ogni sostituzione cambia l’ultimo carattere, perché entra nel conto descritto in il carattere di controllo del codice fiscale. La nona posizione non viene mai toccata dalla sostituzione, come mostrano le lettere dei mesi nel codice fiscale. La corrispondenza cifra-lettera, posizione per posizione, sta nella tabella di sostituzione dell’omocodia. Chi ha per le mani un codice già sostituito legge invece il calcolo inverso del codice omocodico.

Approfondisci

Avvertenza

Questo strumento decodifica la struttura formale di un codice fiscale e ne verifica il carattere di controllo. Non conferma che il codice sia stato effettivamente attribuito a una persona: quella verifica è possibile solo attraverso il servizio ufficiale dell’Agenzia delle Entrate.