stdnum.in_.pan¶
PAN (Permanent Account Number, Indian income tax identifier).
The Permanent Account Number (PAN) is a 10 digit alphanumeric identifier for Indian individuals, families and corporates for income tax purposes.
The number is built up of 5 characters, 4 numbers and 1 character. The fourth character indicates the type of holder of the number and the last character is computed by an undocumented checksum algorithm.
More information:
>>> validate('ACUPA7085R')
'ACUPA7085R'
>>> validate('234123412347')
Traceback (most recent call last):
    ...
InvalidLength: ...
>>> validate('ABMPA32111')  # check digit should be a letter
Traceback (most recent call last):
    ...
InvalidFormat: ...
>>> validate('ABMXA3211G')  # invalid type of holder
Traceback (most recent call last):
    ...
InvalidComponent: ...
>>> mask('AAPPV8261K')
'AAPPVXXXXK'
>>> info('AAPPV8261K')['card_holder_type']
'Individual'
- 
stdnum.in_.pan.compact(number)¶
- Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace. 
- 
stdnum.in_.pan.info(number)¶
- Provide information that can be decoded from the PAN. 
- 
stdnum.in_.pan.is_valid(number)¶
- Check if the number provided is a valid PAN. This checks the length and formatting. 
- 
stdnum.in_.pan.mask(number)¶
- Mask the PAN as per CBDT masking standard. 
- 
stdnum.in_.pan.validate(number)¶
- Check if the number provided is a valid PAN. This checks the length and formatting.