stdnum.es.nif

NIF (Número de Identificación Fiscal, Spanish VAT number).

The Spanish VAT number is a 9-digit number where either the first, last digits or both can be letters.

The number is either a DNI (Documento Nacional de Identidad, for Spaniards), a NIE (Número de Identificación de Extranjero, for foreigners) or a CIF (Código de Identificación Fiscal, for legal entities and others).

>>> compact('ES B-58378431')
'B58378431'
>>> validate('B64717838')
'B64717838'
>>> validate('B64717839')  # invalid check digit
Traceback (most recent call last):
    ...
InvalidChecksum: ...
>>> validate('54362315K')  # resident
'54362315K'
>>> validate('X-5253868-R')  # foreign person
'X5253868R'
>>> validate('M-1234567-L')  # foreign person without NIE
'M1234567L'
stdnum.es.nif.compact(number)

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

stdnum.es.nif.is_valid(number)

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

stdnum.es.nif.validate(number)

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