Resource center · Platform

TIN structure rules by country.

Every automatic exchange framework validates identification numbers before it validates anything else. This sets out the structures, and — more usefully — which of them carry a check digit that can be tested without asking the issuing authority.

Dataset Reference data · Multi-jurisdiction · identification numbers

Why structure matters

A taxpayer identification number is the field that ties a reported account or seller to a person in the receiving jurisdiction. Automatic exchange schemas test it early, and a number that does not match the issuing jurisdiction’s structure produces a record-level error rather than a warning. Because the check happens per record, a systematic collection defect — a truncated field, a stripped leading zero, a number captured with the wrong jurisdiction — surfaces as thousands of individual failures.

The practical value of structural rules is therefore upstream: applied at onboarding, they stop the defect entering the population at all.

Two classes of rule

Jurisdictions fall into two groups, and the distinction decides how much assurance a check gives you.

  • Self-checking numbers carry a check digit or control character derived arithmetically from the rest of the number. A transposition or a mistyped digit is detectable from the number alone.
  • Format-only numbers have a defined length and composition but no arithmetic relationship between their parts. A number of the correct shape is indistinguishable from a correct number.
This is the single most useful thing to know per jurisdiction. For a self-checking number, a passing check is strong evidence the number was captured accurately. For a format-only number it is evidence of nothing beyond shape, and the collection process has to carry the assurance instead.

Structures by jurisdiction

Structures validated without a network call
JurisdictionNumberStructureCheck
SpainNational identity number, or foreigner identity numberEight digits and a control letter; the foreigner form is a letter prefix, seven digits and a control letterControl letter verified
NetherlandsCitizen service numberEight or nine digitsWeighted check verified
SwedenPersonal identity numberTen digits, or twelve with the century includedCheck digit verified
PolandTax identification numberTen digitsWeighted check verified
ItalyFiscal codeSixteen letters and digitsControl character verified
FranceTax identification numberThirteen digitsFormat and length only
IrelandPersonal public service numberSeven digits followed by one or two lettersFormat and length only
GermanyTax identification numberEleven digitsFormat and length only
United KingdomUnique taxpayer reference, or National Insurance numberTen digits; or two letters, six digits and a letterFormat and length only
United StatesSocial security number, or employer identification numberNine digits, with defined ranges excludedFormat and length only

These ten are the set the public checker evaluates entirely in the browser, so no number leaves the device. The wider ruleset is applied through the validation endpoint and through the module, where a whole file is checked at once.

What a structural check cannot do

  • It cannot confirm issuance. A structurally valid number may never have been issued.
  • It cannot confirm ownership. Matching a number to a person is the issuing authority’s function, not a syntactic one.
  • It cannot infer the jurisdiction. Several structures overlap, so a number checked against the wrong jurisdiction can pass and still be meaningless.
  • It does not settle whether a number was required. Some frameworks permit an absent number in defined circumstances; that is a due diligence conclusion, not a validation result.

Using this in a filing pipeline

  1. Check at capture, not at filing. A number corrected during onboarding costs nothing; the same correction at filing is a re-contact with the account holder.
  2. Store the jurisdiction with the number. A number without its issuing jurisdiction cannot be validated at all.
  3. Preserve the raw form. Strip separators for checking, but keep what was supplied — some frameworks expect the formatted version.
  4. Record which class of check passed. “Check digit verified” and “format only” are different levels of assurance and should not be logged identically.

Official sources

Primary instruments only. Each is named in full so the reference remains traceable even if a link moves.

  1. European Commission — TIN structures and the taxpayer identification number online check moduleEuropean Commission · per-member-state syntax and structure
  2. Council Directive 2014/107/EU (DAC2) — the reporting obligation the number supportsEUR-Lex · Directive · reportable data including identification numbers
  3. Internal Revenue Service — FATCA XML schemas and business rules for Form 8966IRS · identification number handling in FATCA reporting
  4. The issuing tax authority of each jurisdictionNational authorities · authoritative for whether a number was issued · structures change

REGREP is an independent software provider. This record explains a reporting framework in plain language and is not legal, tax or regulatory advice. Confirm scope, thresholds and submission dates with your competent authority before you file.

Keep reading

More on this framework, and the module that produces the filing.

All platform resources

Check the file, not the number.

One number at a time is a spot check. Run the population and see every malformed record before the schema does.