Skip to main content

Module cnpj

Module cnpj 

Source
Expand description

CNPJ (Cadastro Nacional da Pessoa Jurídica) - validation, formatting and generation.

Supports both numeric (current) and alphanumeric (IN RFB 2.119/2022, July 2026) formats. Uses modulo-11 weighted sums as specified by Receita Federal do Brasil.

Structs§

Cnpj
A validated CNPJ stored as 14 ASCII bytes.

Enums§

CnpjError
CnpjKind
Whether the CNPJ uses only digits or also contains letters.
EstablishmentType
Whether the establishment is the main office (Matriz) or a branch (Filial).

Functions§

compute_check_digits
Computes check digits for a 12-character CNPJ base. Returns None if input is invalid.
format_cnpj
Formats as XX.XXX.XXX/XXXX-DD, or None if not valid 14 chars.
generate
Generates a random valid CNPJ as a 14-character string.
generate_cnpj
Generates a random valid Cnpj.
generate_matriz
Generates a random valid Cnpj with ordem “0001” (Matriz).
is_valid
Lenient validation: strips punctuation, uppercases, then validates.
is_valid_strict
Strict validation - accepts XX.XXX.XXX/XXXX-DD or XXXXXXXXXXXXXXDD only.
remove_symbols
Strips punctuation, preserves letters and digits, uppercases letters.