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§
- Cnpj
Error - Cnpj
Kind - Whether the CNPJ uses only digits or also contains letters.
- Establishment
Type - 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
Noneif input is invalid. - format_
cnpj - Formats as
XX.XXX.XXX/XXXX-DD, orNoneif 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
Cnpjwith ordem “0001” (Matriz). - is_
valid - Lenient validation: strips punctuation, uppercases, then validates.
- is_
valid_ strict - Strict validation - accepts
XX.XXX.XXX/XXXX-DDorXXXXXXXXXXXXXXDDonly. - remove_
symbols - Strips punctuation, preserves letters and digits, uppercases letters.