Natureza jurídica
Códigos da tabela de Natureza Jurídica 2021 da CONCLA/IBGE.
Validar
- JavaScript, biblioteca
- Python, biblioteca22 casos falham
- Go, biblioteca13 casos falham
- Ruby, biblioteca12 casos falham
- Rust, biblioteca13 casos falham
- .NET, biblioteca14 casos falham
- Erlang, biblioteca
Verifica se um código de natureza jurídica existe na tabela Natureza Jurídica 2021 do IBGE/CONCLA.
- Aceita os 92 códigos em vigor e também os 8 códigos que uma revisão anterior extinguiu.
legalNature.getdistingue uns dos outros. - Aceita os 4 dígitos, um inteiro seguro não negativo ou a máscara
NNN-N. A máscara só é aceita depois do terceiro dígito, com qualquer sequência de separadores (espaço,.,-ou/) entre o terceiro e o quarto dígito:"206.2","206--2"e"206 - 2"são válidos. Espaços nas pontas são ignorados. - Um separador em qualquer outro lugar, ou qualquer outro caractere, torna o valor inválido:
"2-0-6-2","20.6.2","2062a". Até a 2.4.0 os separadores eram removidos de qualquer posição da string, então"-2-0-6-2"era válido. - Um número só é lido se for um inteiro seguro não negativo (
2062é válido). Número negativo, fracionário, não finito ou inseguro é inválido. Até a 2.4.0 a função aceitava somente strings. - Qualquer valor que não seja string nem número retorna
false.
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
code | string | number | sim |
| retorna | boolean |
Valida se um código de natureza jurídica existe na lista oficial, a tabela "Natureza Jurídica 2021" do IBGE/CONCLA. Aceita uma string com os 4 dígitos ou com a máscara NNN-N, ou um inteiro seguro não negativo.
- Uma sequência de separadores (espaço,
.,-ou/) só é lida entre o terceiro e o quarto dígito, então'2-0-6-2'é rejeitado. - Os 92 códigos em vigor são aceitos, mais os 8 que uma revisão anterior extinguiu.
getLegalNaturedistingue os dois (legacy: true).
import { isValidLegalNature } from '@brazilian-utils/brazilian-utils';
isValidLegalNature('2062'); // true
isValidLegalNature(2062); // true
isValidLegalNature('206-2'); // true
isValidLegalNature('2208'); // true (extinto por uma revisão anterior, ainda aceito)
isValidLegalNature('9999'); // false
isValidLegalNature('2-0-6-2'); // false (um separador só cabe depois do terceiro dígito)Fonte: CONCLA, Natureza Jurídica 2021 e seu PDF de estrutura detalhada.
Código: brazilian-utils/javascriptTeste com JavaScript isValidLegalNature
Casos de teste compartilhados (56) e o resultado em cada biblioteca legalNature.isValid
Formatar
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca
- Ruby, biblioteca7 casos falham
- Rust, biblioteca
- .NET, biblioteca
- Erlang, biblioteca
Formata um código de natureza jurídica como NNN-N. Use legalNature.isValid para verificar o código.
- Os dígitos são lidos do valor e a máscara é aplicada até onde eles vão:
"206"continua"206","2062"vira"206-2".options.padprimeiro completa com zeros à esquerda até 4 dígitos ("62"vira"006-2"). - Dígitos depois do 4º são ignorados, e os outros caracteres são descartados. Um número é tratado como a string dos seus dígitos, então só é completado com
pad. - 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).
- Retorna uma string vazia quando não há nada para formatar. Até a 2.4.0, um valor sem dígitos com
pad: trueretornava"000-0".
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
value | string | number | sim |
options | FormatLegalNatureOptions | não |
options.pad | boolean | não |
| retorna | string |
Formata um código de natureza jurídica. Use isValidLegalNature para verificar um código.
- Opções (
FormatLegalNatureOptions):padprimeiro completa o valor com zeros à esquerda até os 4 dígitos de um código completo (padrãofalse). Um valor vazio, ou sem dígitos, devolve''mesmo compad.
import { formatLegalNature } from '@brazilian-utils/brazilian-utils';
formatLegalNature('2062'); // 206-2
formatLegalNature(2062); // 206-2
formatLegalNature('206'); // 206 (máscara aplicada até onde o valor vai)
formatLegalNature('62', { pad: true }); // 006-2 (completado até 4 dígitos antes)Teste com JavaScript formatLegalNature
Casos de teste compartilhados (19) e o resultado em cada biblioteca legalNature.format
Interpretar
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca
- Ruby, biblioteca1 caso falha
- Rust, biblioteca
- .NET, biblioteca
- Erlang, biblioteca
Remove a formatação da natureza jurídica e mantém somente os dígitos, limitados a 4 dígitos.
- Não completa nada com zeros à esquerda. Retorna uma 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 da natureza jurídica, mantém apenas os dígitos e limita o resultado a 4 dígitos.
import { parseLegalNature } from '@brazilian-utils/brazilian-utils';
parseLegalNature('206-2'); // '2062'Teste com JavaScript parseLegalNature
Casos de teste compartilhados (7) e o resultado em cada biblioteca legalNature.parse
Gerar
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca
- Ruby, biblioteca
- Rust, biblioteca
- .NET, biblioteca
- Erlang, biblioteca
Gera um código de natureza jurídica aleatório e válido (4 dígitos). Escolhe somente entre os 92 códigos em vigor, nunca um código extinto.
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
| retorna | string |
Gera um código de natureza jurídica válido aleatório. Apenas os 92 códigos em vigor são sorteados, nunca um extinto.
import { generateLegalNature } from '@brazilian-utils/brazilian-utils';
generateLegalNature(); // '2062'Teste com JavaScript generateLegalNature
Casos de teste compartilhados (1) e o resultado em cada biblioteca legalNature.generate
Consultar
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca5 casos falham
- Ruby, biblioteca4 casos falham
- Rust, biblioteca
- .NET, biblioteca5 casos falham
- Erlang, biblioteca
Consulta um código de natureza jurídica na tabela Natureza Jurídica 2021 do IBGE/CONCLA. Retorna null para um código desconhecido.
- Mesmas regras de entrada de
legalNature.isValid: os 4 dígitos, um inteiro seguro não negativo ou a máscaraNNN-N, com qualquer sequência de separadores (espaço,.,-ou/) entre o terceiro e o quarto dígito."206.2"encontra o 2062. Espaços nas pontas são ignorados. - Um separador em qualquer outro lugar (
"2-0-6-2") ou qualquer outro caractere ("2062a") retornanull. Até a 2.4.0 os separadores eram removidos de qualquer posição da string. - Um número só é lido se for um inteiro seguro não negativo. Número negativo, fracionário, não finito ou inseguro retorna
null. A 2.4.0 também removia o sinal e o ponto decimal de um número, então206.2encontrava o 2062. - Nenhum código começa com zero (o primeiro dígito é a categoria, de 1 a 5), então nada é completado com zeros: um número e a string dos mesmos dígitos são lidos do mesmo jeito.
- A entrada tem o código, a descrição e a categoria CONCLA (dada pelo primeiro dígito): 1 Administração Pública, 2 Entidades Empresariais, 3 Entidades sem Fins Lucrativos, 4 Pessoas Físicas, 5 Organizações Internacionais e Outras Instituições Extraterritoriais.
- Um código que uma revisão anterior extinguiu volta com
legacy: truee ocurrentCodea que ele corresponde hoje, ounullquando a revisão que o extinguiu não publicou sucessor (2100, 3050 e 3123). Os 92 códigos em vigor têmlegacy: falsee nenhumcurrentCode. - Os códigos extintos e o código a que cada um corresponde hoje: 2076 a 2070, 2208 a 2275, 3042 a 3069, 3093 a 3999 e 5002 a 5010; 2100, 3050 e 3123 não têm sucessor.
- Retorna
nullexatamente quandolegalNature.isValidretornafalse.
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
value | string | number | sim |
| retorna | LegalNature | null |
Busca um código de natureza jurídica na tabela oficial do IBGE/CONCLA. Retorna null para um código desconhecido.
- A entrada (
LegalNature) também traz a categoria do CONCLA do código, dada pelo seu primeiro dígito. - Um código que uma revisão anterior extinguiu retorna com
legacy: truee ocurrentCodea que corresponde hoje, oucurrentCode: nullquando não há sucessor (2100,3050e3123). Os códigos em vigor têmlegacy: falsee nenhumcurrentCode.
| Código extinto | Descrição | Corresponde a |
|---|---|---|
2076 | Sociedade Empresária em Nome Coletivo | 2070, o código para o qual a revisão 2003.1 o renumerou, mesma denominação |
2100 | Sociedade Mercantil de Capital e Indústria | nenhum, marcado como "categoria extinta" na correspondência 2003.1 x 2009 |
2208 | Entidade Binacional Itaipu | 2275 Empresa Binacional |
3042 | Organização Social | 3069 Fundação Privada; a revisão de 2014 criou depois o 3301 Organização Social (OS), onde uma entidade assim qualificada é classificada hoje |
3050 | Organização da Sociedade Civil de Interesse Público (Oscip) | nenhum, uma Oscip é classificada pela forma que assume (3999 ou 3069) |
3093 | Unidade Executora (Programa Dinheiro Direto na Escola) | 3999 Associação Privada |
3123 | Partido Político | nenhum, a revisão de 2014 o desdobrou em 3255, 3263 e 3271 |
5002 | Organização Internacional e Outras Instituições Extraterritoriais | 5010 Organização Internacional, o código em que foi aberto junto com 5029 e 5037 |
import { getLegalNature } from '@brazilian-utils/brazilian-utils';
getLegalNature('2062');
// {
// code: '2062',
// description: 'Sociedade Empresária Limitada',
// category: { code: '2', description: 'Entidades Empresariais' },
// legacy: false,
// }
getLegalNature('2208');
// {
// code: '2208',
// description: 'Entidade Binacional Itaipu',
// category: { code: '2', description: 'Entidades Empresariais' },
// legacy: true,
// currentCode: '2275',
// }
getLegalNature('3123')?.currentCode; // null (extinto sem sucessor)
getLegalNature('206-2')?.code; // '2062'
getLegalNature('206.2')?.category.description; // 'Entidades Empresariais'
getLegalNature(206.2); // null (um número só é lido quando é um inteiro seguro não negativo: escreva a forma com ponto como string)
getLegalNature('0000'); // nullFonte: CONCLA, Natureza Jurídica 2021.
Código: brazilian-utils/javascriptTeste com JavaScript getLegalNature
Casos de teste compartilhados (17) e o resultado em cada biblioteca legalNature.get
Listar
- JavaScript, biblioteca
- Python, biblioteca1 caso falha
- Go, biblioteca
- Ruby, biblioteca1 caso falha
- Rust, biblioteca
- .NET, biblioteca1 caso falha
- Erlang, biblioteca
Retorna a tabela de naturezas jurídicas como um mapa de código para descrição.
- Por padrão, retorna somente os 92 códigos em vigor (
params.includeLegacyéfalse). A tabela é a Natureza Jurídica 2021 da CONCLA. params.includeLegacy: trueinclui os 8 códigos que uma revisão anterior extinguiu, 100 no total.legalNature.isValidelegalNature.getaceitam esses códigos nos dois casos.- Retorna um objeto novo a cada chamada.
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
params | GetLegalNaturesParams | não |
params.includeLegacy | boolean | não |
| retorna | Record<string, string> |
Retorna o mapa de naturezas jurídicas indexado pelo código. Por padrão apenas os 92 códigos em vigor são listados.
- Opções (
GetLegalNaturesParams):includeLegacy(padrãofalse) soma os 8 códigos extintos.
import { getLegalNatures } from '@brazilian-utils/brazilian-utils';
const legalNatures = getLegalNatures();
legalNatures['2062']; // 'Sociedade Empresária Limitada'
Object.keys(legalNatures).length; // 92
legalNatures['2208']; // undefined (extinto por uma revisão anterior)
getLegalNatures({ includeLegacy: true })['2208']; // 'Entidade Binacional Itaipu'Teste com JavaScript getLegalNatures
Casos de teste compartilhados (2) e o resultado em cada biblioteca legalNature.list
Get description
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca
- Ruby, biblioteca
- Rust, biblioteca
- .NET, biblioteca
- Erlang, biblioteca
Retorna a descrição de um código de natureza jurídica.
JavaScript ainda não tem esta função. Adicione à biblioteca.
Casos de teste compartilhados (2) e o resultado em cada biblioteca legalNature.getDescription
List by category
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca1 caso falha
- Ruby, biblioteca2 casos falham
- Rust, biblioteca
- .NET, biblioteca2 casos falham
- Erlang, biblioteca
Retorna todas as naturezas jurídicas de uma categoria CONCLA (o primeiro dígito do código), em ordem de código.
- Categorias: 1 Administração Pública, 2 Entidades Empresariais, 3 Entidades sem Fins Lucrativos, 4 Pessoas Físicas, 5 Organizações Internacionais e Outras Instituições Extraterritoriais.
categorypode ser uma string ou um número:"2"e2retornam a mesma lista. Um prefixo ("20"), um código completo ("2062"), um valor com espaço ou zero à esquerda (" 2","02") e um valor fora de 1 a 5 não são categorias.- Por padrão só os códigos em vigor são listados (
options.includeLegacyéfalse). options.includeLegacy: trueinclui os códigos que uma revisão anterior extinguiu (2076, 2100 e 2208 na categoria 2, 3042, 3050, 3093 e 3123 na categoria 3, 5002 na categoria 5). Eles voltam comlegacy: truee ocurrentCode.- O resultado é um array novo, de entradas novas, a cada chamada.
- Retorna uma lista vazia para uma categoria desconhecida ou para um valor que não é string nem número.
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
category | string | number | sim |
options | GetLegalNaturesByCategoryOptions | não |
options.includeLegacy | boolean | não |
| retorna | LegalNature[] |
Retorna todas as naturezas jurídicas de uma categoria do CONCLA, o grupo dado pelo primeiro dígito do código. A categoria é aceita como string ou como número.
- Categorias:
1Administração Pública,2Entidades Empresariais,3Entidades sem Fins Lucrativos,4Pessoas Físicas e5Organizações Internacionais e Outras Instituições Extraterritoriais. - Opções (
GetLegalNaturesByCategoryOptions):includeLegacy(padrãofalse) soma os códigos extintos da categoria. - As entradas retornam ordenadas por código. Uma categoria desconhecida retorna
[].
import { getLegalNaturesByCategory } from '@brazilian-utils/brazilian-utils';
getLegalNaturesByCategory('4')[0];
// {
// code: '4014',
// description: 'Empresa Individual Imobiliária',
// category: { code: '4', description: 'Pessoas Físicas' },
// legacy: false,
// }
getLegalNaturesByCategory(4).length; // 6
getLegalNaturesByCategory('2').length; // 30
getLegalNaturesByCategory('2', { includeLegacy: true }).length; // 33
getLegalNaturesByCategory('9'); // []Teste com JavaScript getLegalNaturesByCategory
Casos de teste compartilhados (17) e o resultado em cada biblioteca legalNature.listByCategory
Fontes oficiais
- concla.ibge.gov.br/estrutura/natjur-estrutura/…/natureza-juridica-2021
- concla.ibge.gov.br/images/concla/…/CONCLA-TNJ2021-EstruturaDetalhada.pdf
- concla.ibge.gov.br/classificacoes/correspondencias/…/natureza-juridica.html
- concla.ibge.gov.br/images/concla/…/correspTNJ2003(1)-2009.xls
- concla.ibge.gov.br/images/concla/…/correspTNJ1995-2002-2003.xls
Veja também CNPJ
Atualizado em
