• Resolved Flávio

    (@fuba182)


    Olá,

    De que forma funciona a validação de CNPJ? Como exemplo digitei o nº inexistente 47788578999999 e consigo finalizar o pedido normalmente. Aparentemente não está validando a informação.

    Obrigado

    • This topic was modified 1 week, 1 day ago by Flávio.
Viewing 2 replies - 1 through 2 (of 2 total)
  • Plugin Support euzebiobatista

    (@euzebiobatista)

    Olá @fuba182 ,

    Atualmente o plugin faz a verificação do CNPJ através dos cálculos a partir dos dígitos que representam a empresa mais os dígitos verificadores para fornecer uma validação do CNPJ, então preparei um resumo de como o calculo é feito:

    # Como é feito o cálculo de validação do CNPJ

    O CNPJ tem 14 posições. As 12 primeiras identificam a empresa e as 2 últimas

    são os **dígitos verificadores** (DV). A validação confere se esses 2 últimos

    dígitos estão corretos de acordo com o cálculo oficial (módulo 11).

    ## Passo a passo

    **1º dígito verificador**

    Multiplica cada uma das 12 primeiras posições por um peso fixo, soma tudo e

    divide por 11. Os pesos, da esquerda para a direita, são:

    5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2

    Com a soma feita, divide por 11 e pega o resto:

    - Se o resto for 0 ou 1, o dígito é 0.

    - Se o resto for 2 ou mais, o dígito é 11 − resto.

    **2º dígito verificador**

    Faz a mesma coisa, mas agora com as 13 primeiras posições (as 12 da base + o

    1º dígito verificador que acabou de calcular). Os pesos, da esquerda para a

    direita, são:

    6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2

    Aplica a mesma regra do resto para achar o 2º dígito.

    ## Exemplo com 47788578999999

    Base (12 primeiras posições): 477885789999 · DV digitados: 99

    **1º DV:**

    <br><br>4×5 + 7×4 + 7×3 + 8×2 + 8×9 + 5×8 + 7×7 + 8×6 + 9×5 + 9×4 + 9×3 + 9×2<br><br>= 420<br><br>

    420 ÷ 11 → resto 2 → como é 2 ou mais, o dígito é 11 − 2 = 9.

    O digitado é 9. ✅

    **2º DV (usando as 13 primeiras posições, já com o 1º DV):**

    <br><br>4×6 + 7×5 + 7×4 + 8×3 + 8×2 + 5×9 + 7×8 + 8×7 + 9×6 + 9×5 + 9×4 + 9×3 + 9×2<br><br>= 464<br><br>

    464 ÷ 11 → resto 2 → dígito é 11 − 2 = 9.

    O digitado é 9. ✅

    Resultado: 47788578999999 tem os dígitos verificadores 99 corretos, então é

    um CNPJ **matematicamente válido**.

    ## CNPJ alfanumérico

    No CNPJ alfanumérico (formato novo, IN RFB 2.229/2024), letras também entram no

    cálculo. Cada caractere vira um valor numérico antes de multiplicar pelo peso:

    - 09 valem 09

    - A vale 17, B vale 18, … Z vale 42

    O resto do cálculo é exatamente o mesmo.

    Vale ressaltar que no momento não estamos realizando a validação desses CNPJ através da Receita Federal, pois até o momento todas as ferramentas que possuem esse tipo de validação são pagas. Então sugerimos a criação de uma versão PRO para o plugin da calculadora, justamente com o intuito de adicionar novas comandas de seguranças e serviços de validação de informações com mais precisão.

    Criamos até um tópico para discutirmos sobre esses recursos e ferramentas, mas a comunidade não interagiu, fornecendo sugestões ou ideias de como podemos podemos implementar esses recursos.

    Caso sua loja necessite dessa validação adicional, ficaríamos felizes em receber uma sugestão ou opinião sua sobre como poderia ser inserido esse recurso.

    Link do tópico: https://wordpress.org/support/topic/apoio-projeto/

    Atenciosamente

    Equipe Link Nacional

    Plugin Support euzebiobatista

    (@euzebiobatista)

    Olá @fuba182 ,

    Realizamos algumas pesquisas e detectamos que a consulta do CNPJ é permitida com uso gratuito através de algumas APIs, justamente por serem informações publicas.

    Com isso em mente aplicamos uma camada adicional onde validamos o campo de CNPJ através dessas APIs como uma camada extra de segurança no preenchimento do campo.

    Atenciosamente

    Equipe Link Nacional

Viewing 2 replies - 1 through 2 (of 2 total)

You must be logged in to reply to this topic.