O CNPJ possui 12 dígitos de base (8 da raiz + 4 da filial, sendo 0001 matriz típica) e dois verificadores. Os verificadores usam produtos com sequências de pesos repetidas 6-7-8-9-2-3-4-5-6-7-8-9 para o primeiro dígito e 5-6-7-8-9-2-3-4-5-6-7-8-9 quando já se inclui o décimo terceiro dígito.
Intuição
Assim como no CPF, a ideia é espalhar o impacto de qualquer dígito errado ao longo da soma, de modo que o resto módulo 11 mude de forma previsível.
Filiais
Os quatro dígitos após a raiz permitem numerar unidades; convencionalmente 0001 é matriz. Em testes, varie filiais para cobrir filtros de UI e APIs.
Erros comuns de implementação
- Esquecer de zerar verificadores antes de recalcular após edição manual.
- Aplicar máscara antes de validar — normalize para só dígitos internamente.
Ferramenta
Abrir gerador e validador de CNPJ no Cod3x Tools
Valide strings, gere lotes e acompanhe o efeito de mudar apenas a filial.