CAEPF

Cadastro de Atividade Econômica da Pessoa Física, para pessoas físicas que empregam trabalhadores (substituiu o CEI para elas).

  • Matriz de paridade

Validar

Valida um CAEPF: 14 dígitos, com a base de 9 dígitos do CPF do titular, uma sequência de 3 dígitos e 2 dígitos verificadores. O CAEPF substituiu o CEI para pessoas físicas que contratam empregados, como os produtores rurais.

  • Os dois dígitos verificadores seguem o módulo 11 do CNPJ. Depois, o par resultante é deslocado em 12, com volta ao chegar a 100.
  • Um valor cuja base de 12 dígitos (a base do CPF e a sequência) tem todos os dígitos iguais é rejeitado.
  • O valor pode ser um número ou uma string de 14 dígitos. Entre os grupos impressos (3, 3, 3, 3 e 2 dígitos) pode haver qualquer sequência de espaços, ., - ou /, e qualquer uma dessas sequências pode faltar, então 293118.610/00184 é válido. Os espaços em volta do valor são ignorados. Qualquer outra forma, como outro separador, uma letra ou um separador dentro de um grupo, é rejeitada.
  • Um número só é lido se for um inteiro seguro não negativo. Número negativo, fracionário, não finito ou inseguro é inválido.
  • Nenhuma fonte oficial publica a regra do dígito verificador. Só as 14 posições e a base de 9 dígitos do CPF são oficiais (documentação do SERPRO do cadastro da Receita Federal). A IN RFB 1.828/2018 não traz dígito verificador, e o eSocial só verifica se o número existe na base da Receita. A divisão 3 + 2 dos últimos 5 dígitos e a regra vêm de implementações de referência de terceiros. Elas aceitam o exemplo do SERPRO, 00000002500171.
  • Um número perde os zeros à esquerda, então um valor que começa com 0 só é aceito como string.
ParâmetroTipoObrigatório
valuestring | numbersim
retornaboolean

Valida um número de CAEPF (Cadastro de Atividade Econômica da Pessoa Física). O CAEPF substituiu o CEI para a pessoa física que contrata empregados, como o produtor rural.

  • Layout: 14 dígitos impressos como 000.000.000/000-00: a base de 9 dígitos do CPF do titular, um número de ordem de 3 dígitos e 2 dígitos verificadores.
  • Os dois dígitos verificadores seguem o módulo 11 do CNPJ; o par é então somado a 12, com retorno a zero acima de 99.
  • Um número perde os zeros à esquerda, então um valor que começa com 0 só é aceito como string: isValidCaepf('00000002500171') é true e isValidCaepf(2500171) é false.
  • Só as 14 posições e a base do CPF são oficiais (SERPRO: "9 primeiros números do CPF + número de inscrição resumido" de 5 posições). A divisão dessas 5 em número de ordem e 2 dígitos verificadores, a regra do dígito e a soma de 12 vêm das referências da comunidade abaixo; elas conferem com o exemplo 00000002500171 do SERPRO.
import { isValidCaepf } from '@brazilian-utils/brazilian-utils';

isValidCaepf('293.118.610/001-84'); // true
isValidCaepf('41142260000101'); // true
isValidCaepf(29311861000184); // true
isValidCaepf(-29311861000184); // false (não é um inteiro seguro não negativo)
isValidCaepf('29311861000185'); // false (dígitos verificadores inválidos)
isValidCaepf('00000000000000'); // false (dígitos da base repetidos)
isValidCaepf('00000000000012'); // false (dígitos da base repetidos)

Fonte: SERPRO, cadastro CAEPF (14 posições); dígitos verificadores conforme o ghiorzi.org e o brazilian-values.

Código: brazilian-utils/javascript
Teste com JavaScript isValidCaepf
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 (29) e o resultado em cada biblioteca caepf.isValid

Formatar

Formata um CAEPF com a máscara 000.000.000/000-00.

  • A máscara é aplicada até onde os dígitos vão, então um valor sendo digitado é mascarado progressivamente, e os dígitos além do 14º são descartados. options.pad primeiro completa com zeros à esquerda até 14 dígitos.
  • 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).
  • Um valor vazio, ou sem dígitos, retorna uma string vazia mesmo com pad. Até a 2.4.0 o pad retornava a máscara toda de zeros (000.000.000/000-00).
ParâmetroTipoObrigatório
valuestring | numbersim
optionsFormatCaepfOptionsnão
options.padbooleannão
retornastring

Formata um número de CAEPF (Cadastro de Atividade Econômica da Pessoa Física) na máscara usual 000.000.000/000-00.

  • Mesmas regras de formatCei, com pad (FormatCaepfOptions) completando até 14 dígitos (padrão false).
import { formatCaepf } from '@brazilian-utils/brazilian-utils';

formatCaepf('29311861000184'); // 293.118.610/001-84
formatCaepf(41142260000101); // 411.422.600/001-01
formatCaepf('184', { pad: true }); // 000.000.000/001-84
Código: brazilian-utils/javascript
Teste com JavaScript formatCaepf
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 (20) e o resultado em cada biblioteca caepf.format

Interpretar

Remove a formatação do CAEPF e mantém somente os dígitos, limitados a 14 dígitos.

  • 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 do CAEPF (Cadastro de Atividade Econômica da Pessoa Física), mantém apenas os dígitos e limita o resultado a 14 dígitos.

import { parseCaepf } from '@brazilian-utils/brazilian-utils';

parseCaepf('293.118.610/001-84'); // '29311861000184'
Código: brazilian-utils/javascript
Teste com JavaScript parseCaepf
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 (9) e o resultado em cada biblioteca caepf.parse

Fontes oficiais

Veja também CEI, CNO

Atualizado em

Nesta página