CNPJ alfanumérico no WooCommerce: plugin grátis de máscara e validação

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.

Estrutura do CNPJ alfanumérico: 12 posições alfanuméricas e 2 dígitos verificadores numéricos
Estrutura do CNPJ alfanumérico (14 posições).

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)

Dúvidas? Faça um comentário logo abaixo ou envie uma mensagem clicando aqui.

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *