
O CNPJ alfanumérico marca uma mudança importante na forma como identificadores empresariais podem ser representados no Brasil. A principal novidade é a ampliação do conjunto de caracteres aceitos na raiz do documento, permitindo combinações de letras e números sem abrir mão da validação por dígitos verificadores.
Do ponto de vista técnico, a regra continua apoiada no módulo 11, mas o espaço de entrada deixa de ser apenas numérico. Isso exige um cuidado adicional na transformação dos caracteres antes do cálculo dos dígitos, porque letras também passam a participar da composição da base.
O que muda no padrão
No modelo tradicional, o CNPJ é formado por 14 posições numéricas, sendo 12 posições-base e 2 dígitos verificadores. No formato alfanumérico, a lógica estrutural permanece a mesma, mas a base pode conter caracteres alfanuméricos. Na prática, isso aumenta a capacidade combinatória do identificador e reduz o risco de esgotamento de numeração em larga escala.
A validação continua dependendo de três pontos:
- normalização da entrada;
- conversão consistente dos caracteres para valores numéricos;
- aplicação correta dos pesos do módulo 11.
Como o cálculo funciona
A ideia central é transformar cada caractere da base em um valor inteiro, multiplicá-lo pelo peso correspondente e somar tudo. Em seguida, aplica-se o módulo 11 sobre o total. O resto define o dígito verificador de acordo com a regra oficial:
- se o resto for menor que 2, o dígito é 0;
- caso contrário, o dígito é
11 - resto.
O segundo dígito é calculado a partir da base original mais o primeiro dígito verificador, usando uma sequência de pesos ligeiramente diferente.
Por que este projeto é simples
Este repositório foi pensado para ser direto ao ponto. A implementação evita camadas desnecessárias e concentra a regra em uma única unit, o que facilita leitura, manutenção e auditoria do algoritmo.
Os principais objetivos foram:
- manter o código pequeno e legível;
- separar a lógica de validação da interface de teste;
- permitir execução rápida via console;
- tornar o comportamento fácil de verificar com testes automatizados simples.
Esse tipo de abordagem é útil quando o foco é demonstrar o algoritmo com clareza, sem esconder a regra de negócio em estruturas complexas.
Estrutura do projeto
O projeto contém três arquivos centrais:
- CNPJAlfanumerico.pas: unit com a função
CNPJValido; - CNPJAlfanumericoConsole.dpr: aplicação console para testes manuais e automáticos;
- build.bat: script que compila o projeto e executa a validação automatizada.
Como baixar o projeto no GitHub
Você pode baixar o código de duas formas.
Opção 1: clonar com Git
Abra um terminal e execute:
git clone https://github.com/delphicleancode/CNPJAlfanumerico.git
Depois, entre na pasta do projeto:
cd CNPJAlfanumerico
Opção 2: baixar como ZIP
Se preferir, acesse o repositório no GitHub e use a opção de download como arquivo compactado. Depois, extraia o conteúdo em uma pasta local e abra o projeto no Delphi.
Como compilar e testar
Depois de baixar o projeto, execute o arquivo build.bat na raiz do repositório:
build.bat
O script faz o seguinte:
- carrega o ambiente do Delphi;
- compila o console;
- executa os testes automatizados com
--test; - remove arquivos temporários gerados pela compilação.
Exemplo de uso
A função pública do projeto é simples de consumir:
uses CNPJAlfanumerico;begin if CNPJValido('12AB3456CD7894') then Writeln('CNPJ válido') else Writeln('CNPJ inválido');end;
Conclusão
O novo CNPJ alfanumérico traz uma evolução relevante para o ecossistema cadastral, mas a base técnica da validação continua conhecida: normalização, conversão e módulo 11. O valor deste projeto está justamente em mostrar essa regra de forma compacta, clara e fácil de revisar em Delphi.
Se você quer estudar a implementação, testar o comportamento ou adaptar a rotina para outro cenário, este exemplo é um bom ponto de partida.
Componentes Delphi/Lazarus http://www.inovefast.com.br
Integrações com plataformas de pagamento e serviços (Asaas, MercadoPago, Cielo, PagSeguro, D4sign, Webstore, MelhorEnvio, Groq )
i9DBTools http://www.inovefast.com.br/i9dbTools
Gerencie MySQL, PostgreSQL, Firebird e SQLite em um só lugar, com IA para gerar e explicar SQL em linguagem natural, otimizar queries e criar dados fake brasileiros em segundos.








