Como Validar Chave de MDF-e em Python
Script Python para validar chaves de Manifesto Eletrônico de Documentos Fiscais (MDF-e).
Introdução
O MDF-e (modelo 58) é obrigatório no transporte interestadual. Sua chave de acesso segue o padrão nacional de documentos fiscais.
O Algoritmo
A validação consiste em recalcular o último dígito (DV) usando o algoritmo Módulo 11 sobre os 43 dígitos anteriores.
Implementação em Python
mdfe-generator.pypython
def validate_mdfe_key(key: str) -> bool:
# A lógica é idêntica à da NF-e e CT-e
if len(key) != 44 or not key.isdigit():
return False
base_key = key[:43]
weights = [2, 3, 4, 5, 6, 7, 8, 9]
total = 0
weight_index = 0
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]) == dvO código implementa o algoritmo oficial. Note que o MDF-e se diferencia apenas pelo modelo (58) na composição da chave, mas o cálculo do DV é o mesmo.
Não quer escrever código?
Use nossa ferramenta online gratuita para processar MDFE-GENERATOR instantaneamente. Perfeito para testes rápidos.
Usar Ferramenta de MDFE-GENERATOR Online