Como Validar Chave de NFC-e em Python

Valide chaves de Nota Fiscal de Consumidor Eletrônica (NFC-e) com Python.

Introdução

A NFC-e (modelo 65) substitui o cupom fiscal. Sua chave de acesso é validada da mesma forma que a NF-e.

O Algoritmo

O dígito verificador é obtido pelo Módulo 11 dos 43 dígitos anteriores, garantindo que não houve erro de digitação.

Implementação em Python

nfce-generator.pypython
def validate_nfce_key(key: str) -> bool:
    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]) == dv

Simples e direto: verifica tamanho, compõe apenas números e recalcula o DV.

Não quer escrever código?

Use nossa ferramenta online gratuita para processar NFCE-GENERATOR instantaneamente. Perfeito para testes rápidos.

Usar Ferramenta de NFCE-GENERATOR Online