CNPJ alfanumérico: o que muda no seu sistema
O CNPJ continua com 14 posições, mas as 12 primeiras podem ter letras. Quem trata o CNPJ como número, em banco, planilha ou fluxo, precisa revisar o campo e a validação. Veja o que é oficial, como o dígito verificador é calculado e uma lista prática do que checar.
O que é e por que existe
A Receita Federal informa que o motivo da mudança é o iminente esgotamento dos números de CNPJ disponíveis, com o número de empresas continuando a crescer. A base legal indicada na página oficial é a Instrução Normativa RFB nº 2.229, publicada em 15 de outubro de 2024 e em vigor desde 25 de outubro de 2024.
O CNPJ alfanumérico é atribuído exclusivamente a novas inscrições, a partir de julho de 2026. Quem já está inscrito mantém o número atual, que continua válido, e não precisa fazer atualização cadastral por causa da mudança. Segundo o Serpro, os sistemas adaptados entraram em produção em 27 de julho de 2026 e o primeiro CNPJ alfanumérico foi emitido em 31 de julho, com liberação progressiva. O solicitante não escolhe o formato. Na prática, os dois formatos vão conviver, e seu sistema precisa aceitar ambos.
Como fica o formato
- Continuam 14 caracteres e a mesma máscara:
AA.AAA.AAA/AAAA-DD. - As 12 primeiras posições podem ter dígitos (0 a 9) ou letras maiúsculas (A a Z). Isso inclui a raiz de 8 caracteres e a ordem do estabelecimento, os 4 caracteres depois da barra.
- Os 2 dígitos verificadores continuam numéricos.
Exemplo de CNPJ alfanumérico bem formado: 12.ABC.345/01DE-35.
Como o dígito verificador é calculado
O método é o módulo 11 que já existia, com uma adaptação: cada caractere é convertido no seu valor ASCII menos 48. Com isso, os dígitos de 0 a 9 valem o próprio número (o ASCII de "0" é 48), e as letras passam a valer a partir de 17: A vale 17, B vale 18, e assim até Z, que vale 42.
- Pegue os 12 primeiros caracteres e converta cada um (ASCII menos 48).
- Multiplique, da direita para a esquerda, pelos pesos 2, 3, 4, 5, 6, 7, 8, 9, e depois recomece em 2.
- Some os produtos e calcule o resto da divisão por 11.
- Se o resto for 0 ou 1, o dígito é 0. Caso contrário, o dígito é 11 menos o resto.
- Para o segundo dígito, repita com 13 caracteres (os 12 mais o primeiro dígito).
Exemplo conferido
Para a base 12ABC34501DE, o cálculo com o código do Me Ajuda Flow deu:
- Primeira soma: 459. Resto por 11: 8. Primeiro dígito: 11 - 8 = 3.
- Segunda soma, com a base
12ABC34501DE3: 424. Resto por 11: 6. Segundo dígito: 11 - 6 = 5. - Resultado:
12.ABC.345/01DE-35. Trocando o final para-36, o validador recusa com "Dígitos verificadores não conferem (esperado 35)".
O CNPJ numérico 11.222.333/0001-81 segue passando pela mesma regra, porque para dígitos o ASCII menos 48 é o próprio valor. Isso é o que permite uma única rotina para os dois formatos. O documento oficial de cálculo está na página da Receita; antes de levar isso para produção, confira lá os pesos e o exemplo.
O que revisar no seu ambiente
O Serpro orienta a avaliar aplicações, cadastros, bancos de dados e integrações que tratem o CNPJ apenas como campo numérico, e a revisar as rotinas de validação para aceitar os dois formatos.
Bancos de dados
- Coluna
BIGINTouNUMERICpara CNPJ não aceita letras. Use texto de 14 caracteres (CHAR(14)ouVARCHAR(14)), sem máscara. - Chaves estrangeiras e índices que usam o CNPJ precisam acompanhar o tipo novo.
- Ordenação e comparação passam a ser de texto. Padronize em maiúsculas antes de gravar.
Planilhas
- Formate a coluna como Texto antes de colar CNPJs. O Excel trata um CNPJ só com dígitos como número e pode perder zeros à esquerda; um valor como
12345E67corre o risco de ser lido como notação científica. - Fórmulas como
--A2ouVALOR(A2)sobre o CNPJ deixam de funcionar para os novos números. - Importações de CSV: peça ao Excel para ler a coluna como texto.
Power Automate
- Variáveis e parâmetros devem ser String, não Integer.
- Para normalizar a entrada, tire a máscara e coloque em maiúsculas:
toUpper(replace(replace(replace(triggerBody()?['cnpj'], '.', ''), '/', ''), '-', ''))
- Depois da normalização, confira
equals(length(...), 14). Não useint()nemfloat()no CNPJ. - Para validar o dígito, use uma função própria (Azure Function, Office Script ou conector de validação). Calcular o módulo 11 só com expressões é possível, mas longo e difícil de manter.
Validações e telas
- Remova máscaras e regex que aceitam só
\d. Troque por[0-9A-Z]nas 12 primeiras posições e[0-9]nas duas últimas. - Campos de entrada:
inputmodenumérico não deve ser usado, porque o teclado do celular não mostra letras. - Cuidado com validações antigas que rejeitam o CNPJ quando o DV não bate: elas precisam usar o cálculo novo, senão recusam CNPJs legítimos.
Integrações e documentos fiscais
- APIs, arquivos de layout (remessa, SPED, importação em ERP) e contratos de integração que definem CNPJ como numérico precisam ser revisados com cada parceiro.
- A chave de acesso de 44 posições da NF-e carrega o CNPJ do emitente. A Receita e os demais órgãos publicaram notas técnicas sobre o impacto nos documentos fiscais eletrônicos: confira a nota vigente do seu documento antes de alterar o seu validador.
Como testar sem inventar CNPJ
A Receita Federal disponibiliza um simulador que gera CNPJs alfanuméricos para teste, citado pelo Serpro. Use-o ou um gerador de testes para checar se o seu fluxo grava, valida e devolve o CNPJ sem alterar nada. Teste também um CNPJ numérico, uma letra minúscula (que sua entrada deve normalizar) e um valor com DV errado, que deve ser recusado.
Checklist rápido
- Liste onde o CNPJ aparece: bancos, planilhas, fluxos, APIs, relatórios.
- Troque campos numéricos por texto de 14 caracteres.
- Normalize: sem máscara, em maiúsculas.
- Atualize a validação do dígito para ASCII menos 48.
- Teste com casos alfanuméricos, numéricos e inválidos.
Para conferir um CNPJ, numérico ou alfanumérico, e ver o cálculo dos dígitos, use a ferramenta validador de CPF e CNPJ. Se o CNPJ vier dentro de uma chave de 44 dígitos, o decodificador de chave de NF-e separa o emitente.