The 10 most frequent errors
Most tax code calculation errors come from a handful of rules people half-remember, and a single wrong character makes the entire codice fiscale invalid. The codice fiscale (Italian tax code) packs your surname, first name, birth date, gender and birthplace into 16 characters. There is no room to be approximately right. One bad letter and a bank rejects the form, a contract bounces, a refund stalls.
We have rebuilt thousands of these codes by hand to test our own calculator, so the list below is not theoretical. It is the set of mistakes that actually recur. The Italian Revenue Agency (Agenzia delle Entrate) is the only authority that issues the official code, and you can confirm any code against its records at agenziaentrate.gov.it.
Compound surnames
Dropping the spaces in names like DE LUCA, so DELUCA becomes just LUCA
The name rule
Forgetting the 1st-3rd-4th consonant rule once a first name has four or more consonants
+40 for women
Not adding 40 to the birth day for a female record
Wrong municipality code
Mixing up towns that share a name across different provinces
Accents and apostrophes
Leaving them in instead of stripping them before you start
Month letters
Swapping the wrong letter for the month (June is H, not G)
Omocodia
Assuming the calculated code always equals the official one on file
Born abroad
Reaching for a municipality code when a foreign-country Z code is required
Special characters
Feeding non-ASCII letters straight into the calculation
Wrong CIN
A slip in the final control-character algorithm that voids the whole code
Why a tiny slip matters
A wrong code is not a soft error that gets corrected later. It can mean a rejected bank account application, an invalid rental contract, a blocked tax refund, or a stalled residence permit. The system treats it as a different person entirely.
Where surnames trip people up
The surname fills the first three positions, and it is the part people get wrong most often. Three traps account for nearly all of it.
1. Compound surnames and particles
For surnames like DE ROSSI, DI LORENZO or LO PRESTI, the particle is part of the surname. You glue everything together, drop the space, and then pull consonants from the whole string. Treat DE ROSSI as a single word: DEROSSI.
✅ Correct calculation
- DE ROSSI → DEROSSI → DRS
- D'ANGELO → DANGELO → DNG
- LO PRESTI → LOPRESTI → LPR
❌ Common mistakes
- DE ROSSI → RSS (ignoring DE) — wrong
- D'ANGELO → NGL (ignoring D') — wrong
2. Apostrophes, accents and other stray characters
The code only knows A–Z and 0–9. So before you count a single consonant, strip everything else out. Apostrophes go. Accents collapse to their base letter. Hyphens and spaces disappear too.
- D'ANGELO → DANGELO → DNG
- O'BRIEN → OBRIEN → BRN
- SANITÀ → SANITA → SNT
- MÜLLER → MULLER → MLL
3. Surnames that are too short
Short surname? Pad it. When there are fewer than three usable letters, add an X until you reach three.
- BO → BOX
- RE → REX
- FO → FOX
The first-name rule almost everyone gets wrong
If there is one rule that breaks manual calculations, this is it. The first name follows a different logic from the surname, and the difference is easy to miss.
The 4-consonant rule
When a first name has four or more consonants, you take the 1st, 3rd and 4th — you skip the second. That single exception was added decades ago to cut down on duplicate codes, and it is precisely where people stumble. Surnames never do this; they always grab the first three.
✅ Correct calculation
- FRANCESCO → consonants F,R,N,C,S,C → 1st, 3rd, 4th → FNC
- ALESSANDRO → consonants L,S,S,N,D,R → 1st, 3rd, 4th → LSN
- GIUSEPPE → consonants G,S,P,P → 1st, 3rd, 4th → GPP
❌ Common mistakes
- FRANCESCO → FRN (taking the first three) — wrong
- GIUSEPPE → GSP (taking the first three) — wrong
Names with three consonants or fewer
With exactly three consonants, take all three in order, like a surname. With fewer than three, fill in with vowels — and if you still come up short, pad with X.
- MARIO → consonants M,R, then a vowel → MRA
- LUCA → consonants L,C, then a vowel → LCU
Date of birth: small numbers, big consequences
The date block encodes three things at once — year, month and the day, with gender folded into the day. Two mistakes dominate here.
The +40 rule for women
For a female record you add 40 to the day of birth. That is how the code carries gender without a separate field. Forget it and you have effectively created a man's code, or a day that does not exist.
| Day of birth | Male | Female |
|---|---|---|
| 1st | 01 | 41 |
| 15th | 15 | 55 |
| 31st | 31 | 71 |
The month letters
Each month maps to one letter, and the mapping is not alphabetical. June catches almost everyone.
| Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec |
|---|---|---|---|---|---|---|---|---|---|---|---|
| A | B | C | D | E | H | L | M | P | R | S | T |
June is H — not F, not G. If you want the full breakdown, our guide to calculating the tax code walks through every field step by step.
Municipality codes and the trap of foreign births
The birthplace is a four-character cadastral code (the Belfiore code), and it is one of the easiest fields to get subtly wrong. The name looks right; the code is not.
- Same-name towns: Italy has plenty of municipalities sharing a name across provinces — there is more than one San Giovanni, and they do not share a code.
- Merged or suppressed towns: when municipalities are absorbed, their old code can change. A historical record may not match today's tables.
- Province versus municipality: the province code is not the birthplace code. Don't substitute one for the other.
- Born abroad: anyone born outside Italy gets a country code starting with Z, never a town code.
That last point is where foreign-born applicants lose the most time, so here are the Z codes that come up most. Get these exactly right.
Common cadastral codes
- Rome → H501
- Milan → F205
- France → Z110
- Germany → Z112
- United Kingdom → Z114
- United States → Z404
A habit worth keeping
Look the code up rather than guessing from the name. Our tax code calculator has a built-in municipality and country search, which removes this entire class of error.
The omocodia problem
Here is the one that trips up even people who do everything else perfectly. Omocodia happens when two people generate an identical code — same surname, same name, same birth date, same gender, same birthplace. The algorithm cannot tell them apart, so the Italian Revenue Agency (Agenzia delle Entrate) steps in and rewrites the duplicate.
The fix works by replacing digits with letters, from the rightmost numeric position leftward, following a fixed table.
Omocodia substitution table
| Digit | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|---|---|---|---|---|---|---|---|---|---|---|
| Letter | L | M | N | P | Q | R | S | T | U | V |
So the algorithmically calculated code can legitimately differ from the official one on your documents. If they don't match, you probably haven't made a mistake at all — it's omocodia, and the official version wins. Want the deeper story? Our explainer on omocodia covers the edge cases.
Quick tip
If your calculated code doesn't match the one on your Italian health card (tessera sanitaria), omocodia is the likely reason. The card always shows the official code — trust it over the math. You can cross-check the details with our health card reader.
How to verify and catch tax code calculation errors
You can do every step by the book and still want a second opinion. Don't trust the math blind — check it. Three quick routes catch almost anything.
- Run it through an automatic validator that tests the structure, the control character and every encoded field.
- Compare it against an official document — your tessera sanitaria (Italian health card), a previous certificate, anything issued by the agency.
- Confirm it on the Italian Revenue Agencyportal, the only fully authoritative source.
The legal basis for the whole scheme, if you ever need to cite it, is DPR 605/1973, the decree that introduced the codice fiscale. Already have a code and want to read it backwards — to recover the birth date or gender it encodes? Our reverse lookup does exactly that.
Frequently asked questions
What are the most common tax code calculation errors?
The recurring ones are dropping particles in compound surnames, misapplying the 1st-3rd-4th consonant rule on first names, forgetting the +40 for women, and picking the wrong municipality or country code. Any single one of these invalidates the whole code.
Why doesn't my calculated code match my official one?
Most likely omocodia. If someone else produced an identical code before you, the agency altered yours by swapping digits for letters. That's not an error on your part — the official version on your documents is the correct one.
Is June really the letter H?
Yes. The month letters are not alphabetical, and June is H — not F or G. It's one of the single most frequent slips, so it's worth double-checking the month against the table every time.
What code do I use if I was born outside Italy?
A country code beginning with Z, not a municipality code. France is Z110, Germany Z112, the United Kingdom Z114 and the United States Z404. Using an Italian town code for a foreign birth is a guaranteed mismatch.
Does padding with X ever apply?
It does, whenever a surname or first name doesn't yield three usable letters. You fill the gap with X — for example BO becomes BOX. The same idea applies to very short first names once vowels run out.
Can I trust an online calculator completely?
For the algorithm, yes — a good calculator applies every rule consistently. But no tool can know about an omocodia adjustment that only exists in the agency's records, so always reconcile the result with an official document for anything that matters legally.
Where can I officially verify a codice fiscale?
The Italian Revenue Agency (Agenzia delle Entrate) is the definitive authority and lets you check a code against its records. For a fast structural check beforehand, our verification tool flags format and control-character problems in seconds.
Catch tax code calculation errors before they cost you
Free tools to verify, calculate and reverse-check any codice fiscale.
