Como será calculado o dígito verificador no novo CNPJ
Revisão: como o DV é calculado hoje
O dígito verificador (DV) é a parte final do CNPJ que garante a integridade do número. Ele é calculado a partir dos 12 primeiros dígitos do CNPJ usando o algoritmo de módulo 11. Cada dígito recebe um peso, multiplica‑se cada posição pelo respectivo peso e soma-se tudo. O resto da divisão por 11 define o DV: se o resultado for inferior a 2, usa‑se zero; se for maior ou igual a 2, subtrai‑se de 11. Esse procedimento gera dois dígitos verificadores, responsáveis por detectar erros de digitação ou fraude.
O que muda com o novo formato (letras + números)
No novo CNPJ alfanumérico, a regra de cálculo permanece a mesma. A principal diferença é que as letras das 12 primeiras posições da raiz e da ordem precisam ser convertidas em números antes de aplicar o algoritmo. A Receita Federal determinou que a conversão ocorrerá pelo código ASCII do caractere menos 48. Com essa lógica, as letras recebem valores maiores que 10, enquanto os números permanecem iguais a si mesmos. Os dois dígitos verificadores continuam sendo numéricos e calculados por módulo 11.
Passo a passo do cálculo módulo 11 adaptado
1. Remova a pontuação: transforme o CNPJ em uma sequência contínua de 12 caracteres.
2. Converta letras em números: para cada letra A–Z, aplique a fórmula `valor = ord(letra) − 48`. Por exemplo, A vale 17, B vale 18 e assim por diante.
3. Multiplique pelos pesos: os pesos se repetem na sequência 5, 4, 3, 2, 9, 8, 7, 6 para o primeiro DV e 6, 5, 4, 3, 2, 9, 8, 7 para o segundo.
4. Some os resultados e calcule o módulo 11.
5. Defina o dígito verificador: se o resto da divisão for menor que 2, use zero; caso contrário, use 11 menos o resto.
6. Repita o processo para o segundo dígito, incluindo o primeiro DV na sequência.
Conversão de letras em valores numéricos
A conversão de letras para números é crucial para que o algoritmo continue funcionando com caracteres alfanuméricos. Cada letra do alfabeto recebe um valor baseado em sua posição na tabela ASCII: `A` vale 17, `B` vale 18, …, `Z` vale 42. Essa regra garante que as letras não colidam com números e mantém a uniformidade do cálculo. Vale lembrar que algumas letras como I, O, Q e F podem ser evitadas por questões de legibilidade e para prevenir confusão com números.
Como validar o DV em sistemas legados
Para adaptar sistemas antigos, é preciso atualizar a validação de CNPJ para aceitar letras nas 12 primeiras posições e aplicar a conversão ASCII antes do cálculo do DV. Isso implica alterar expressões regulares, campos de banco de dados e APIs que hoje aceitam apenas números. A lógica do dígito verificador permanece a mesma, o que facilita a reutilização de funções de verificação existentes. Em nosso site, o validador incorporou essas mudanças e funciona para CNPJs antigos e novos, servindo como referência para quem precisa atualizar sistemas.
Validar um CNPJ Gerar CNPJ de Teste
dígito verificador, módulo 11, cálculo cnpj, algoritmo cnpj