Pular para o conteúdo
Fiscal ProBiblioteca
Rejeição 400 · Regra ZX02-292

Rejeição 400: DigestValue do QR 2 fora do formato hexadecimal

Revisão editorial em 16 de out. de 2026. Confira as versões e condições das regras nas fontes do artigo.

A Rejeição 400/ZX02-292 aponta que o parâmetro DigestValue do QR Code versão 2 off-line não está em formato hexadecimal. O domínio admitido pela regra é 0–9, a–f e A–F. A reprovação é da representação do sexto parâmetro, e não uma conclusão automática de que a assinatura inteira da NFC-e esteja inválida.

Aplicação e posição correta

O MOC 7.0 vincula a regra ao modelo 65, QR 2 e contingência tpEmis=9. O DigestValue ocupa a sexta posição da URL de infNFeSupl/qrCode. No QR 2 online ele não existe, e no QR 3 off-line a sexta posição tem outra função: tipo de identificação do destinatário. MOC 7.0, p. 132 Manual 6.0, pp. 21–22,29–30

O erro pode estar na conversão para o QR

O DigestValue é obtido da assinatura XML e sua representação para o QR 2 segue a conversão hexadecimal documentada. O Manual 6.0, página 26, mostra a conversão dos caracteres do texto DigestValue para hexadecimal. Copiar diretamente o texto Base64 para a posição 6 pode introduzir caracteres fora do domínio hexadecimal, como barras ou outros símbolos. Manual 6.0, pp. 24 e 26

Não substitua caracteres individualmente nem apague os que pareçam inválidos. Isso muda o valor representado. Verifique a extração do valor correto e a transformação como um todo, a partir da assinatura da mesma nota.

Exemplo de formato que não comprova conteúdo

Uma letra G não pertence ao alfabeto hexadecimal; sua presença no sexto parâmetro evidencia problema de formato. Já um texto composto somente por 0–9 e A–F pode representar um valor de outra nota: nesse caso o teste de formato não detecta o vínculo incorreto. A divergência em relação à assinatura é tratada por 397/ZX02-296. A ausência do parâmetro é 396/ZX02-288.

A demonstração usa apenas classes de caracteres, sem fabricar um digest, chave ou assinatura. O valor operacional deve ser conferido no original protegido; um XML sintético não comprovaria a correspondência.

Conferência da origem e do resultado

Compare o XML assinado, o texto em qrCode e a URL lida da imagem. Se a conversão está correta no XML mas a imagem mostra outro texto, investigue impressão ou reutilização do QR. Se o XML já contém representação inadequada, investigue a rotina de conversão e a versão efetiva do QR. Não mude os dados fiscais nem edite a assinatura para acomodar um QR incorreto.

A correção de formato deve ser seguida pela conferência de vínculo e dos demais parâmetros. Preserve qualquer documento autorizado. Esclareça tentativas com resultado desconhecido antes de novo envio; passar no Schema ou possuir somente caracteres hexadecimais não equivale à autorização.