A partir de 06/07/2026 a Receita Federal passa a emitir o CNPJ alfanumérico, e isso afeta diretamente quem vende online. Se a sua loja coleta CNPJ no checkout, qualquer máscara ou validação que só aceite números vai recusar cadastros legítimos. Neste post você vai entender o que muda, por que sua loja precisa se adequar e como resolver isso em minutos com um plugin CNPJ alfanumérico WooCommerce gratuito, que aplica máscara e validação do novo formato sem depender de nenhum serviço externo.
O que muda (e quando)
A mudança está prevista na Instrução Normativa RFB nº 2.229, de 15/10/2024. O motivo é simples: o CNPJ puramente numérico está esgotando suas combinações — já foram emitidos mais de 60 milhões de CNPJs. Para garantir novos registros pelas próximas décadas, a Receita introduziu letras nas posições que antes eram só dígitos.
Um ponto que costuma gerar pânico desnecessário: os CNPJs numéricos atuais NÃO mudam e continuam totalmente válidos. O novo formato alfanumérico vale apenas para novos cadastros e estabelecimentos emitidos a partir de 06/07/2026. Ou seja, a partir dessa data sua loja vai conviver com os dois formatos ao mesmo tempo — e precisa aceitar ambos.
⬇️ Baixar o plugin WooCommerce (.zip grátis)
O que é o CNPJ alfanumérico
O CNPJ continua com 14 posições e mantém a máscara que todo mundo já conhece: XX.XXX.XXX/XXXX-XX. A diferença está no conteúdo de cada posição:
- Posições 1 a 12 — alfanuméricas (0-9 e A-Z): são 8 caracteres da raiz + 4 caracteres da ordem do estabelecimento.
- Posições 13 e 14 — dígitos verificadores: continuam sempre numéricos.
Um exemplo válido oficial é 12.ABC.345/01DE-35 (sem máscara: 12ABC34501DE35), em que 35 são os dígitos verificadores. Repare que a estrutura visual é idêntica à de hoje; o que muda é que as 12 primeiras posições agora podem conter letras.

Por que sua loja precisa do CNPJ alfanumérico no WooCommerce
A maioria dos checkouts brasileiros usa máscaras de CNPJ baseadas apenas em dígitos. Quando um cliente com CNPJ alfanumérico tentar comprar, podem acontecer três problemas: a máscara apaga ou bloqueia as letras digitadas, a validação no navegador marca o campo como inválido, ou — pior ainda — o pedido é gravado com um CNPJ incorreto. Qualquer um desses casos significa carrinho abandonado ou dado sujo no seu sistema.
Validar CNPJ alfanumérico não é só “deixar passar letras”. Os dígitos verificadores também são calculados de forma diferente, considerando o valor das letras. Uma validação ingênua que ignora isso vai aceitar CNPJs falsos. Por isso vale a pena usar uma solução que implementa o cálculo oficial — em vez de remendar uma máscara antiga.
O plugin: máscara e validação prontas
Para resolver isso, criei o plugin “CNPJ Alfanumérico — Máscara e Validação para WooCommerce” (versão 1.0.0, licença GPL). Ele faz exatamente o que uma loja precisa, sem firulas:
- Usa o campo de CNPJ no checkout clássico do WooCommerce (shortcode).
- Aplica a máscara XX.XXX.XXX/XXXX-XX aceitando letras nas 12 primeiras posições.
- Valida em tempo real no navegador, com feedback visual para o cliente.
- Valida no servidor durante o processamento do pedido — essa é a fonte da verdade, à prova de manipulação no front-end.
- Salva o CNPJ normalizado e formatado no pedido.
- É compatível com HPOS (High-Performance Order Storage).
- É compatível com o CNPJ numérico legado: uma única regra valida os dois formatos.
- Não faz chamadas a serviços externos — todo o cálculo roda no seu servidor, sem expor dados de clientes.
Sendo honesto sobre o escopo: o foco da versão 1.0.0 é o checkout clássico (shortcode). O suporte ao checkout em blocos está no roteiro e será adicionado em versões futuras. Se você já usa o checkout em blocos, vale acompanhar as atualizações antes de adotar.
Como instalar
A instalação é o fluxo padrão de plugins do WordPress:
- Baixe o arquivo .zip do plugin no botão desta página.
- No painel, acesse WordPress > Plugins > Adicionar novo.
- Clique em Enviar plugin e selecione o .zip baixado.
- Clique em Instalar agora e, em seguida, em Ativar.
Pronto: o checkout passa a ter máscara e validação do CNPJ alfanumérico imediatamente, sem configuração obrigatória.
Como personalizar (filtros)
O plugin expõe dois filtros para você adaptá-lo à realidade da sua loja sem editar o código-fonte. O primeiro torna o campo de CNPJ obrigatório no checkout; o segundo permite reutilizar a chave de campo de outro plugin (por exemplo, integrar com o Brazilian Market on WooCommerce, que usa billing_cnpj):
// Tornar o campo CNPJ obrigatório no checkout
add_filter( 'cnpj_alfanumerico_required', '__return_true' );
// Usar a mesma chave de campo de outro plugin (ex.: Brazilian Market on WooCommerce)
add_filter( 'cnpj_alfanumerico_field_key', function () {
return 'billing_cnpj';
} );
Esses filtros (cnpj_alfanumerico_required e cnpj_alfanumerico_field_key) cobrem os dois ajustes mais comuns: exigir o documento e evitar campos duplicados quando já existe um plugin brasileiro instalado.
Validação programática
Se você desenvolve temas, integrações ou automações, pode validar um CNPJ diretamente no PHP usando a classe pública do plugin. A mesma chamada aceita tanto o formato com máscara quanto sem:
if ( CNPJ_Alfanumerico_Validator::is_valid( '12.ABC.345/01DE-35' ) ) {
// CNPJ válido — já aceita o novo formato alfanumérico
}
Isso é útil, por exemplo, para validar CNPJs importados de planilhas, integrar com ERPs ou bloquear pedidos via hooks personalizados antes de gravá-los.
Como funciona o cálculo (algoritmo)
O cálculo dos dígitos verificadores segue o módulo 11, com uma adaptação para tratar letras. Cada caractere passa a valer o seu código ASCII menos 48. Na prática, isso mantém os dígitos coerentes (0..9 continuam valendo 0..9) e atribui valores às letras: A=17, B=18, C=19 … até Z=42.
Com esse valor de cada caractere, aplicam-se pesos diferentes para cada dígito verificador, soma-se tudo, calcula-se o resto da divisão por 11 e deriva-se o dígito. O resumo do algoritmo é este:
// valor do caractere = código ASCII - 48 (A=17, B=18, ... Z=42)
// DV1: pesos 5 4 3 2 9 8 7 6 5 4 3 2
// DV2: pesos 6 5 4 3 2 9 8 7 6 5 4 3 2
// resto = soma % 11 ; dígito = (resto < 2) ? 0 : 11 - resto
O primeiro dígito verificador (DV1) é calculado sobre os 12 primeiros caracteres. O segundo (DV2) é calculado sobre esses 12 caracteres mais o DV1 já encontrado. Aplicando isso ao exemplo oficial 12ABC34501DE, chega-se exatamente a 35 — confirmando que 12.ABC.345/01DE-35 é válido. Para quem quer comparar com referências oficiais, a SERPRO/RFB disponibilizou códigos de exemplo em Java, Python e TypeScript.
Se você usa Magento 2, veja também o módulo equivalente para CNPJ alfanumérico no Magento 2, que aplica a mesma lógica de máscara e validação no checkout.
FAQ
Meu CNPJ numérico atual vai parar de funcionar?
Não. Os CNPJs numéricos já emitidos continuam válidos indefinidamente. O formato alfanumérico passa a ser usado apenas em novos cadastros a partir de 06/07/2026, e o plugin valida os dois formatos com a mesma regra.
O plugin funciona com o checkout em blocos do WooCommerce?
A versão 1.0.0 foca no checkout clássico (shortcode). O suporte ao checkout em blocos está no roteiro e será adicionado em uma atualização futura.
O plugin envia dados para algum servidor externo?
Não. Toda a validação e o cálculo dos dígitos verificadores acontecem no seu próprio servidor. Nenhum dado de cliente é enviado para serviços de terceiros.
Posso tornar o campo de CNPJ obrigatório?
Sim. Basta usar o filtro cnpj_alfanumerico_required com __return_true, conforme o exemplo da seção de personalização.
Já uso o Brazilian Market on WooCommerce. Vou ter campo duplicado?
Não precisa. Use o filtro cnpj_alfanumerico_field_key para apontar o plugin para a chave billing_cnpj usada por outros plugins brasileiros, reaproveitando o mesmo campo.
Conclusão
O CNPJ alfanumérico WooCommerce deixa de ser uma preocupação futura e vira realidade em 06/07/2026. Adequar a loja agora evita carrinhos abandonados e dados inválidos quando os primeiros clientes com o novo formato aparecerem. Com máscara correta, validação em tempo real, validação no servidor e compatibilidade com HPOS e com o formato legado, o plugin entrega o essencial sem complicar — e sem custo. Baixe, ative e teste no seu checkout hoje mesmo.
⬇️ Baixar o plugin WooCommerce (.zip grátis)