CNAE
Classificação Nacional de Atividades Econômicas: os códigos de subclasse da tabela CNAE-Subclasses 2.3.
Validar
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca3 casos falham
- Ruby, biblioteca3 casos falham
- Rust, biblioteca2 casos falham
- .NET, biblioteca1 caso falha
- Erlang, biblioteca
Verifica se um código de subclasse CNAE existe na tabela CNAE-Subclasses 2.3 (a revisão atual das subclasses da CNAE 2.0).
- Mesmas regras de entrada de
cbo.isValid, com 7 dígitos e a máscaraNNNN-N/NN. Dígitos sem máscara são completados com zeros à esquerda até 7, um valor com máscara é lido como está escrito, e outras strings são rejeitadas. - Qualquer sequência de separadores (espaço,
.,-ou/) é aceita em cada limite entre os grupos, ou nenhum:6201--5//01é válido. Espaços nas pontas são ignorados. Até a 2.4.0 um único separador era aceito e6201--5//01era rejeitado. - Um número só é lido se for um inteiro seguro não negativo, e é completado com zeros à esquerda até 7 dígitos como os dígitos sem máscara (
111301vira0111301). Número negativo, fracionário ou inseguro é rejeitado.
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
value | string | number | sim |
| retorna | boolean |
Valida um código de subclasse CNAE (Classificação Nacional de Atividades Econômicas) contra a tabela CNAE-Subclasses 2.3, a revisão de subclasses atual da CNAE 2.0.
- Mesmas regras de
isValidCbo, com 7 dígitos e a máscaraNNNN-N/NN.
import { isValidCnae } from '@brazilian-utils/brazilian-utils';
isValidCnae('6201-5/01'); // true
isValidCnae('6201501'); // true
isValidCnae(111301); // true (completado para 7 dígitos, ou seja, '0111301')
isValidCnae('111301'); // true (completado do mesmo jeito que um número)
isValidCnae('0000000'); // false
isValidCnae('0111abc301'); // false (não é uma forma documentada)
isValidCnae(-111301); // false (não é um inteiro seguro não negativo)Fonte: CNAE-Subclasses 2.3 na CONCLA/IBGE e a API de subclasses do IBGE.
Código: brazilian-utils/javascriptTeste com JavaScript isValidCnae
Casos de teste compartilhados (23) e o resultado em cada biblioteca cnae.isValid
Formatar
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca2 casos falham
- Ruby, biblioteca7 casos falham
- Rust, biblioteca
- .NET, biblioteca2 casos falham
- Erlang, biblioteca
Formata um código de subclasse CNAE com a máscara NNNN-N/NN. Só a estrutura muda (use cnae.isValid para verificar o código).
- A máscara é aplicada até onde os dígitos vão, então um valor sendo digitado é mascarado progressivamente.
options.pad(padrãofalse) primeiro completa o valor com zeros à esquerda até 7 dígitos. Um número é tratado como a string dos seus dígitos, então só é completado compad.- Uma string é lida pelos seus dígitos: os outros caracteres são descartados e dígitos depois do último da máscara são ignorados.
- Um valor vazio, ou sem dígitos, retorna uma string vazia mesmo com
pad.nulleundefinedtambém retornam uma string vazia. Até a 2.4.0 opadretornava a máscara toda de zeros (0000-0/00). - Um número só é lido se for um inteiro seguro não negativo. Número negativo, fracionário, não finito ou inseguro retorna uma string vazia (a 2.4.0 lia os dígitos de qualquer número, descartando sinal e ponto decimal).
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
value | string | number | sim |
options | FormatCnaeOptions | não |
options.pad | boolean | não |
| retorna | string |
Formata um código de subclasse CNAE (Classificação Nacional de Atividades Econômicas). Só a estrutura muda; use isValidCnae para conferir um código com a tabela.
- Opções (
FormatCnaeOptions):pad(padrãofalse) completa antes o valor com zeros à esquerda até os 7 dígitos de um código completo. Sem ele a máscara é aplicada até onde o valor vai. Um valor vazio, ou sem dígitos, devolve''mesmo compad. - Caracteres fora da máscara são descartados, e um número só é lido como a string dos seus dígitos quando é um inteiro seguro não negativo: um número negativo, fracionário ou inseguro retorna
'', já que o sinal e o ponto decimal não são caracteres da máscara. Retorna''quando não há dígito algum.
import { formatCnae } from '@brazilian-utils/brazilian-utils';
formatCnae('6201501'); // 6201-5/01
formatCnae('62'); // 62 (máscara aplicada até onde o valor vai)
formatCnae('62015'); // 6201-5
formatCnae('62', { pad: true }); // 0000-0/62 (completado até 7 dígitos antes)
formatCnae(111301, { pad: true }); // 0111-3/01
formatCnae('abc6201501'); // 6201-5/01 (só os dígitos são lidos)
formatCnae(-6201501); // '' (não é um inteiro seguro não negativo)Teste com JavaScript formatCnae
Casos de teste compartilhados (32) e o resultado em cada biblioteca cnae.format
Interpretar
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca2 casos falham
- Ruby, biblioteca2 casos falham
- Rust, biblioteca
- .NET, biblioteca1 caso falha
- Erlang, biblioteca
Remove a formatação do CNAE e mantém somente os dígitos, limitados a 7 dígitos.
- Não completa nada com zeros à esquerda. Um código parcial fica como está escrito.
- Retorna string vazia quando não há nenhum dígito (
nulleundefinedincluídos). - Um número só é lido se for um inteiro seguro não negativo. Número negativo, fracionário, não finito ou inseguro retorna uma string vazia (a 2.4.0 lia os dígitos de qualquer número, descartando sinal e ponto decimal).
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
value | string | number | sim |
| retorna | string |
Remove a formatação do CNAE (Classificação Nacional de Atividades Econômicas), mantém apenas os dígitos e limita o resultado aos 7 dígitos de um código de subclasse completo.
- Mesmas regras de
parseCbo: nada é completado com zeros à esquerda aqui.
import { parseCnae } from '@brazilian-utils/brazilian-utils';
parseCnae('6201-5/01'); // '6201501'
parseCnae('62'); // '62' (um código parcial é mantido como está)Teste com JavaScript parseCnae
Casos de teste compartilhados (10) e o resultado em cada biblioteca cnae.parse
Consultar
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca1 caso falha
- Ruby, biblioteca1 caso falha
- Rust, biblioteca
- .NET, biblioteca1 caso falha
- Erlang, biblioteca
Consulta um código de subclasse CNAE na tabela CNAE-Subclasses 2.3 e retorna o código (7 dígitos sem máscara) e a descrição oficial.
Essa tabela é a revisão atual das subclasses da CNAE 2.0.
- Mesmas regras de entrada de
cbo.get, com 7 dígitos e a máscaraNNNN-N/NN, inclusive uma sequência de separadores entre os grupos (6201--5//01retorna o registro). - Retorna
nullpara um código desconhecido ou para um valor fora das formas aceitas. - Retorna
nullexatamente quandocnae.isValidretornafalse.
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
value | string | number | sim |
| retorna | Cnae | null |
Consulta um código de subclasse CNAE (Classificação Nacional de Atividades Econômicas) e retorna seu código e a descrição oficial. O resultado é um registro Cnae: { code, description }.
- Mesmas regras de
getCbo, com 7 dígitos e a máscaraNNNN-N/NN. coderetorna com os 7 dígitos sem máscara; passe-o paraformatCnaepara obter a formaNNNN-N/NN.
import { formatCnae, getCnae } from '@brazilian-utils/brazilian-utils';
getCnae('6201-5/01'); // { code: '6201501', description: 'DESENVOLVIMENTO DE PROGRAMAS DE COMPUTADOR SOB ENCOMENDA' }
getCnae(111301); // { code: '0111301', description: 'CULTIVO DE ARROZ' } (completado para 7 dígitos)
getCnae('111301'); // { code: '0111301', description: 'CULTIVO DE ARROZ' } (completado do mesmo jeito)
getCnae('0000000'); // null
getCnae('0111abc301'); // null (não é uma forma documentada)
formatCnae(getCnae('6201501')?.code); // 6201-5/01 (aplicar a máscara é trabalho do formatador)Fonte: CNAE-Subclasses 2.3 na CONCLA/IBGE e a API de subclasses do IBGE.
Código: brazilian-utils/javascriptTeste com JavaScript getCnae
Casos de teste compartilhados (13) e o resultado em cada biblioteca cnae.get
Fontes oficiais
Veja também CNPJ
Atualizado em
