Natureza jurídica

Códigos da tabela de Natureza Jurídica 2021 da CONCLA/IBGE.

  • Matriz de paridade

Validar

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.get distingue 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âmetroTipoObrigatório
codestring | numbersim
retornaboolean

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. getLegalNature distingue 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/javascript
Teste com JavaScript isValidLegalNature
As entradas começam com o primeiro caso compartilhado. Mude uma para ver o novo resultado.

Roda @brazilian-utils/brazilian-utils 2.5.0 no seu navegador.

Casos de teste compartilhados (56) e o resultado em cada biblioteca legalNature.isValid

Formatar

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.pad primeiro 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: true retornava "000-0".
ParâmetroTipoObrigatório
valuestring | numbersim
optionsFormatLegalNatureOptionsnão
options.padbooleannão
retornastring

Formata um código de natureza jurídica. Use isValidLegalNature para verificar um código.

  • Opções (FormatLegalNatureOptions): pad primeiro completa o valor com zeros à esquerda até os 4 dígitos de um código completo (padrão false). Um valor vazio, ou sem dígitos, devolve '' mesmo com pad.
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)
Código: brazilian-utils/javascript
Teste com JavaScript formatLegalNature
As entradas começam com o primeiro caso compartilhado. Mude uma para ver o novo resultado.

Roda @brazilian-utils/brazilian-utils 2.5.0 no seu navegador.

Casos de teste compartilhados (19) e o resultado em cada biblioteca legalNature.format

Interpretar

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 (null e undefined incluí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âmetroTipoObrigatório
valuestring | numbersim
retornastring

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'
Código: brazilian-utils/javascript
Teste com JavaScript parseLegalNature
As entradas começam com o primeiro caso compartilhado. Mude uma para ver o novo resultado.

Roda @brazilian-utils/brazilian-utils 2.5.0 no seu navegador.

Casos de teste compartilhados (7) e o resultado em cada biblioteca legalNature.parse

Gerar

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âmetroTipoObrigatório
retornastring

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'
Código: brazilian-utils/javascript
Teste com JavaScript generateLegalNature
As entradas começam com o primeiro caso compartilhado. Mude uma para ver o novo resultado.

Roda @brazilian-utils/brazilian-utils 2.5.0 no seu navegador.

Casos de teste compartilhados (1) e o resultado em cada biblioteca legalNature.generate

Consultar

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áscara NNN-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") retorna null. 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ão 206.2 encontrava 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: true e o currentCode a que ele corresponde hoje, ou null quando a revisão que o extinguiu não publicou sucessor (2100, 3050 e 3123). Os 92 códigos em vigor têm legacy: false e nenhum currentCode.
  • 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 null exatamente quando legalNature.isValid retorna false.
ParâmetroTipoObrigatório
valuestring | numbersim
retornaLegalNature | 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: true e o currentCode a que corresponde hoje, ou currentCode: null quando não há sucessor (2100, 3050 e 3123). Os códigos em vigor têm legacy: false e nenhum currentCode.
Código extintoDescriçãoCorresponde a
2076Sociedade Empresária em Nome Coletivo2070, o código para o qual a revisão 2003.1 o renumerou, mesma denominação
2100Sociedade Mercantil de Capital e Indústrianenhum, marcado como "categoria extinta" na correspondência 2003.1 x 2009
2208Entidade Binacional Itaipu2275 Empresa Binacional
3042Organização Social3069 Fundação Privada; a revisão de 2014 criou depois o 3301 Organização Social (OS), onde uma entidade assim qualificada é classificada hoje
3050Organização da Sociedade Civil de Interesse Público (Oscip)nenhum, uma Oscip é classificada pela forma que assume (3999 ou 3069)
3093Unidade Executora (Programa Dinheiro Direto na Escola)3999 Associação Privada
3123Partido Políticonenhum, a revisão de 2014 o desdobrou em 3255, 3263 e 3271
5002Organização Internacional e Outras Instituições Extraterritoriais5010 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'); // null

Fonte: CONCLA, Natureza Jurídica 2021.

Código: brazilian-utils/javascript
Teste com JavaScript getLegalNature
As entradas começam com o primeiro caso compartilhado. Mude uma para ver o novo resultado.

Roda @brazilian-utils/brazilian-utils 2.5.0 no seu navegador.

Casos de teste compartilhados (17) e o resultado em cada biblioteca legalNature.get

Listar

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: true inclui os 8 códigos que uma revisão anterior extinguiu, 100 no total. legalNature.isValid e legalNature.get aceitam esses códigos nos dois casos.
  • Retorna um objeto novo a cada chamada.
ParâmetroTipoObrigatório
paramsGetLegalNaturesParamsnão
params.includeLegacybooleannão
retornaRecord<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ão false) 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'
Código: brazilian-utils/javascript
Teste com JavaScript getLegalNatures
As entradas começam com o primeiro caso compartilhado. Mude uma para ver o novo resultado.

Roda @brazilian-utils/brazilian-utils 2.5.0 no seu navegador.

Casos de teste compartilhados (2) e o resultado em cada biblioteca legalNature.list

Get description

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

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.
  • category pode ser uma string ou um número: "2" e 2 retornam 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: true inclui 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 com legacy: true e o currentCode.
  • 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âmetroTipoObrigatório
categorystring | numbersim
optionsGetLegalNaturesByCategoryOptionsnão
options.includeLegacybooleannão
retornaLegalNature[]

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: 1 Administração Pública, 2 Entidades Empresariais, 3 Entidades sem Fins Lucrativos, 4 Pessoas Físicas e 5 Organizações Internacionais e Outras Instituições Extraterritoriais.
  • Opções (GetLegalNaturesByCategoryOptions): includeLegacy (padrão false) 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'); // []
Código: brazilian-utils/javascript
Teste com JavaScript getLegalNaturesByCategory
As entradas começam com o primeiro caso compartilhado. Mude uma para ver o novo resultado.

Roda @brazilian-utils/brazilian-utils 2.5.0 no seu navegador.

Casos de teste compartilhados (17) e o resultado em cada biblioteca legalNature.listByCategory

Fontes oficiais

Veja também CNPJ

Atualizado em

Nesta página