MeridianMERIDIAN

Indian PAN

identity.government.pan_india

Permanent Account Number issued by the Indian Income Tax Department. 10-character alphanumeric: 5 letters + 4 digits + 1 letter. Fourth letter indicates holder type (P=person, C=company, etc.).

Casts to
VARCHAR
Scope
Locale-specific
Personal data
Yes — treat as PII
Locales
EN_IN, HI

Shape

Pattern
^[A-Z]{5}\d{4}[A-Z]$
ValueLengthShape
ABCPD1234E10matches
AAACB0000C10matches
FNKPS1234H10matches
AABCR1234F10matches
ABCPD12349rejected: one character short

Told apart

1 of the 5 other government types accept every one of these samples on shape alone.

Background

Origin

In India, the tax identification number is officially called the Permanent Account Number (PAN).[1] The legal authority for the allotment and use of PAN is derived from Section 139A of the Income-tax Act, 1961.[1] PAN is issued by the Income Tax Department to any person who applies for it or to whom the department allots the number without an application.[1] It is issued under the supervision of the Central Board for Direct Taxes (CBDT).[2] The primary purpose of the PAN is to bring a universal identification to all financial transactions and to prevent tax evasion.[2] Once a PAN is allotted, it remains the same forever.[1]

A PAN is ten characters long: five letters, then four numerals, then a final letter.[2] The first three characters are an alphabetic series running from AAA to ZZZ.[1] The fourth character represents the status of the PAN holder.[1] P stands for Individual, F for Firm, C for Company and H for HUF.[1] A stands for AOP, T for Trust, B for Body of Individuals, L for Local Authority, J for Artificial Juridical Person and G for Government.[1] HUF is a Hindu Undivided Family and AOP an Association of persons.[2] The fifth character represents the first character of the PAN holder's last name or surname.[1] The last character is an alphabetic check digit.[1]

Use

A PAN can be found on a PAN card or a PAN allotment letter.[1] An Indian income tax return cannot be filed without a PAN.[1] Quoting the PAN is mandatory when filing an income tax return, for tax deduction at source, or in any other communication with the Income Tax Department.[2]

A GSTIN is a 15-digit identifier assigned to every GST-registered taxpayer.[3] Ten of a GSTIN's characters carry the PAN of the business entity or taxpayer.[3] A 15-character Indian tax number may be a GSTIN with a PAN inside it, so check the length before treating a value as a PAN. (Meridian's view) A TAN is a 10-digit alphanumeric number issued by the Income Tax Department to persons who are required to deduct or collect tax.[4] A TAN has four letters, then five numerals, then a final letter.[4] Length alone will not tell a PAN from a TAN; the point where the letters give way to digits does. (Meridian's view)

Trim spaces and uppercase values before matching the five-letters, four-digits, one-letter pattern. (Meridian's view) Use the fourth letter as a cheap sanity check: a column of company PANs that is full of P values is worth a second look. (Meridian's view) Individuals and corporate entities have been able to obtain multiple PAN cards fraudulently.[2] Do not assume that one holder means exactly one PAN when you join or deduplicate on it. (Meridian's view)

Detection notes

4th character indicates entity type: P (person), C (company), H (HUF), A (AOP), B (BOI), G (government), J (AJP), L (local authority), F (firm), T (trust). 5th character is first letter of surname/name.

Use it

CLI · DuckDB
$ finetype infer -i "ABCPD1234E" --mode column
→ identity.government.pan_india

SELECT ft_infer('ABCPD1234E');
-- → 'identity.government.pan_india'
Cast expression
CAST({col} AS VARCHAR)

Schema

https://meridian.online/schemas/identity.government.pan_india · Frictionless type string

finetype taxonomy identity.government.pan_india -o json-schema

Aliases

panpan_number

Type Registry