Rejeição 464: Hash do QR Code versão 2 diferente do calculado
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 464/ZX02-320 significa que o Hash informado no QR Code versão 2 difere do calculado pelo autorizador. O Hash pode estar presente e em formato hexadecimal, mas representar outros parâmetros ou outro CSC. O diagnóstico precisa reproduzir a entrada efetiva do cálculo da mesma NFC-e.
A composição muda entre online e off-line
O QR 2 online possui cinco parâmetros: chave, versão, ambiente, identificador CSC e Hash. No off-line há oito: chave, versão, ambiente, dia de emissão, total vNF, DigestValue convertido para hexadecimal, identificador CSC e Hash. A regra aplica-se ao modelo 65, versão 2. MOC 7.0, p. 133 Manual 6.0, pp. 21–24
Não use os parâmetros de um perfil no cálculo do outro. A URL do serviço, ?p= e o Hash final não entram na sequência de parâmetros descrita pelo Manual para o cálculo. O identificador CSC entra, mas o segredo CSC é concatenado separadamente ao final da entrada; ele não é publicado na URL.
Como reproduzir a conferência sem expor o CSC
No online, concatene os valores efetivos das posições 1 a 4 separados por |, na ordem oficial. Acrescente o CSC correspondente ao identificador e ao contexto empresa/UF/ambiente, diretamente ao final dessa sequência. Aplique SHA-1 e represente o resultado em hexadecimal, conforme o Manual. O resultado é o Hash da quinta posição.
No off-line, primeiro obtenha o DigestValue da assinatura do XML final e faça a conversão hexadecimal documentada; depois concatene as posições 1 a 7 por |, acrescente o CSC ao final, aplique SHA-1 e represente em hexadecimal. O resultado é o oitavo parâmetro. A entrada não inclui um separador adicional entre o último parâmetro e o CSC. Manual 6.0, pp. 23–27
A conferência ocorre em ambiente protegido. Não envie o CSC ou a string que o contém para um site público, relatório ou chamado. Registre somente a etapa da divergência e o contexto necessário para o integrador.
O que comparar quando o resultado não coincide
Confira a ordem dos parâmetros, separadores, espaços ou quebras inseridos, ambiente, identificador e CSC real. No off-line, confira também dia extraído de dhEmi, total obtido de vNF e a representação do DigestValue da assinatura da mesma nota. Um valor visualmente equivalente pode produzir texto de entrada diferente; use a representação exata que foi serializada, com o padrão decimal e de caracteres previsto.
Se a configuração aponta o identificador correto mas o segredo pertence a outra UF ou ambiente, o cálculo pode divergir. Confirme esse vínculo no ambiente protegido, sem tentar códigos aleatórios nem revogar credenciais apenas para testar.
Exemplo: total alterado depois da montagem
Imagine um rascunho cujo QR foi calculado quando o total era 60.90. Antes de uma tentativa cabível, o XML final tem 61.90, mas o gerador reutiliza o Hash armazenado. A conferência deve recompor os parâmetros do arquivo efetivo e identificar se os valores ou o Hash ficaram desatualizados. A regra 464 não identifica automaticamente qual parâmetro está errado.
O exemplo é textual porque um cálculo completo de Hash operacional exigiria chave, assinatura e CSC reais. A sequência explicada permite reproduzir a tarefa no ambiente protegido sem fabricar credenciais.
Formato, cadastro e versão têm falhas diferentes
396/ZX02-312 trata de ausência do Hash; 400/ZX02-316, de formato; 462/ZX02-304 e 463/ZX02-308, de identificador CSC não cadastrado ou revogado antes da emissão. O QR 3 não utiliza o Hash com CSC da versão 2: online contém três parâmetros e off-line usa assinatura dos parâmetros. NT 2025.001 v1.03, pp. 5,14
Corrija a origem comprovada no emissor, preservando dados verdadeiros e XML assinado. Não altere documento autorizado para igualar o Hash. Esclareça resultado fiscal desconhecido antes de novo envio e confira a resposta oficial da mesma tentativa; concordância do cálculo não equivale à autorização.