Como Validar Chave de NF-e em JavaScript
Valide chaves de acesso fiscal (NF-e, NFC-e, CT-e, MDF-e) no seu frontend ou backend Node.js.
Introdução
A validação da chave de acesso é crucial para garantir a integridade de documentos fiscais eletrônicos antes do envio à SEFAZ.
O Algoritmo
O dígito verificador (DV) é o 44º caractere. Ele é obtido através do cálculo do Módulo 11 sobre os 43 caracteres anteriores.
Implementação em Javascript
nfe-generator.jsjavascript
function validateAccessKey(key) {
if (key.length !== 44 || !/^\d+$/.test(key)) return false;
const baseKey = key.substring(0, 43);
const existingDv = parseInt(key.charAt(43));
let total = 0;
let weight = 2;
for (let i = 42; i >= 0; i--) {
total += parseInt(baseKey.charAt(i)) * weight;
weight++;
if (weight > 9) weight = 2;
}
const remainder = total % 11;
const calculatedDv = remainder < 2 ? 0 : 11 - remainder;
return calculatedDv === existingDv;
}O código itera sobre os 43 dígitos da chave base de trás para frente, aplicando pesos de 2 a 9. O resultado determina o dígito verificador esperado.
Não quer escrever código?
Use nossa ferramenta online gratuita para processar NFE-GENERATOR instantaneamente. Perfeito para testes rápidos.
Usar Ferramenta de NFE-GENERATOR Online