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_cnpj_with_rng
Generates a valid Cnpj using an injected random source.
generate_matriz
Generates a random valid Cnpj with ordem “0001” (Matriz).
generate_matriz_with_rng
Generates a valid Matriz Cnpj using an injected random source.
generate_matriz_with_seed
Generates a deterministic valid Matriz Cnpj from a seed.
generate_with_rng
Generates a valid Cnpj using an injected random source.
generate_with_seed
Generates a deterministic valid Cnpj from a seed.
is_valid
Compatibility alias for is_valid_lenient.
is_valid_lenient
Lenient validation: strips punctuation, uppercases, then validates.
is_valid_strict
Strict validation - accepts XX.XXX.XXX/XXXX-DD or XXXXXXXXXXXXXXDD only.
normalize
Normalizes a permissive CNPJ input by retaining ASCII alphanumeric characters and uppercasing letters.
remove_symbols
Compatibility alias for normalize.