Você sabia?
Como funciona
#A regra por trás do resultado, explicada para quem quer entender a conta, conferir antes de usar ou aplicar no próprio trabalho.
A validação de CNPJ é uma conta, não uma consulta. Os dois últimos caracteres derivam dos doze primeiros, então dá para saber na hora se um número é consistente sem perguntar nada a ninguém.
A conta, nos dois formatos
Cada um dos doze primeiros caracteres vira um número pelo código ASCII menos 48. Algarismos ficam iguais a si mesmos: zero vale 0, nove vale 9. Letras começam em 17, que é o valor do A, e seguem até 42, que é o do Z.
Os doze valores são multiplicados pelos pesos 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3 e 2 e somados. O resto da divisão por 11 define o primeiro verificador: abaixo de 2 o dígito é zero, caso contrário é 11 menos o resto. O segundo verificador refaz a conta sobre treze valores, com os pesos 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3 e 2.
Um CNPJ apenas numérico é conferido exatamente por essa mesma fórmula. A conversão por ASCII não muda nada para algarismos, e é por isso que a Receita Federal pôde adotar letras sem quebrar a validação dos números antigos.
Matriz e filial
As posições 9 a 12 identificam o estabelecimento dentro da empresa. A matriz recebe 0001 e as filiais recebem 0002, 0003 e assim por diante. Como a raiz é compartilhada, dois CNPJs com as mesmas oito primeiras posições pertencem à mesma empresa.
O que a validação não responde
Ela não diz se a empresa existe, se está ativa, qual o nome dela ou se pode emitir nota. Para isso é preciso consultar o cadastro da Receita Federal. A conta serve para pegar erro de digitação na hora, que é o problema mais comum e o mais barato de evitar.
Exemplos
#Conferir um número recebido por e-mail
Cole o CNPJ informado por um fornecedor e veja se a conta fecha. Um erro de digitação aparece na hora, antes de virar nota fiscal errada.
Testar o suporte ao formato novo
Cole um CNPJ com letras na raiz. Se a ferramenta aceitar e o seu sistema recusar, é sinal de que a validação dele ainda não foi atualizada.