Como Validar Chave de Acesso NF-e em Python
Aprenda o algoritmo Módulo 11 usado para validar chaves de Nota Fiscal Eletrônica (NF-e).
Introdução
A Chave de Acesso da NF-e é composta por 44 dígitos que contêm informações como UF, Data, CNPJ e Modelo. O último dígito é o verificador (DV).
O Algoritmo
O DV é calculado usando o Módulo 11 com pesos de 2 a 9. Se o resto for 0 ou 1, o DV é 0. Caso contrário, é 11 menos o resto.
Implementação em Python
nfe-generator.pypython
def validate_access_key(key: str) -> bool:
if len(key) != 44 or not key.isdigit():
return False
# Validação do DV (Dígito Verificador)
base_key = key[:43]
weights = [2, 3, 4, 5, 6, 7, 8, 9]
total = 0
weight_index = 0
# Percorre de trás para frente
for digit in reversed(base_key):
total += int(digit) * weights[weight_index]
weight_index = (weight_index + 1) % 8
remainder = total % 11
dv = 0 if remainder < 2 else 11 - remainder
return int(key[43]) == dvA função verifica se a chave tem 44 dígitos numéricos. Em seguida, percorre os primeiros 43 dígitos de trás para frente, multiplicando por pesos de 2 a 9 (ciclicamente). O DV calculado é comparado com o último dígito da chave.
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