stdnum.pt.nif

NIF (Número de identificação fiscal, Portuguese VAT number).

The NIF (Número de identificação fiscal, NIPC, Número de Identificação de Pessoa Colectiva) is used for VAT purposes. It is a 9-digit number with a simple checksum.

>>> validate('PT 501 964 843')
'501964843'
>>> validate('PT 501 964 842')  # invalid check digits
Traceback (most recent call last):
    ...
InvalidChecksum: ...
stdnum.pt.nif.calc_check_digit(number: str) str

Calculate the check digit. The number passed should not have the check digit included.

stdnum.pt.nif.compact(number: str) str

Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.

stdnum.pt.nif.is_valid(number: str) bool

Check if the number is a valid VAT number.

stdnum.pt.nif.validate(number: str) str

Check if the number is a valid VAT number. This checks the length, formatting and check digit.