stdnum.br.cnpj

CNPJ (Cadastro Nacional da Pessoa Jurídica, Brazillian company identifier).

Numbers from the national register of legal entities have 14 digits. The first 8 digits identify the company, the following 4 digits identify a business unit and the last 2 digits are check digits.

>>> validate('16.727.230/0001-97')
'16727230000197'
>>> validate('16.727.230.0001-98')
Traceback (most recent call last):
    ...
InvalidChecksum: ...
>>> validate('16.727.230/0001=97')  # invalid delimiter
Traceback (most recent call last):
    ...
InvalidFormat: ...
>>> format('16727230000197')
'16.727.230/0001-97'
stdnum.br.cnpj.calc_check_digits(number)

Calculate the check digits for the number.

stdnum.br.cnpj.compact(number)

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

stdnum.br.cnpj.is_valid(number)

Checks to see if the number provided is a valid CNPJ. This checks the length and whether the check digits are correct.

stdnum.br.cnpj.validate(number)

Checks to see if the number provided is a valid CNPJ. This checks the length and whether the check digits are correct.