Pular para o conteúdo
Fiscal ProBiblioteca
Rejeição 396 · Regra ZX02-88

Rejeição 396: DigestValue ausente no QR-Code 1 (histórico)

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 396, regra ZX02-88, é aqui explicada no contexto histórico do QR-Code 1 (nVersao=100) da NFC-e, modelo 65. A ZX02-88 histórica verificava ausência do parâmetro digVal no QR-Code 100. Esse leiaute foi desativado em produção em 01/10/2018; a orientação abaixo serve à leitura de arquivos e retornos legados, sem apresentar essa regra como validação ativa de notas novas.

Qual é a vigência desta regra histórica?

O encerramento em produção está documentado no Manual DANFE NFC-e/QR-Code 6.0, página 5. O MOC 7.0 conserva a tabela da versão 100, e a NT 2025.001 v1.03 mantém sua descrição de preenchimento na página 14 ao lado das versões 2 e 3. Essa coexistência documental e a presença de um padrão legado no schema não demonstram reativação da versão 1 nem aceitação fiscal atual.

Para investigar uma mensagem recebida hoje, confira a versão real da URL, o parâmetro citado no retorno, a data da tentativa e o ambiente. O mesmo código numérico aparece em regras diferentes. Não converta automaticamente esta identidade histórica em uma regra de QR-Code 2 ou 3.

Qual informação era digVal e de onde vinha?

O parâmetro digVal representava o DigestValue da nota no formato previsto para a URL histórica. O DigestValue pertence à estrutura de assinatura XML; não é o protocolo de autorização, o hash do CSC nem o segredo CSC.

O MOC registra a verificação de presença pelo schema. A falta do parâmetro na URL não prova, sozinha, que a nota não tinha assinatura: o gerador podia ter omitido a passagem do valor. A evidência deve distinguir XML assinado e texto enviado à geração do QR-Code.

Formato não hexadecimal tinha a identidade 400/ZX02-92; divergência em relação ao DigestValue da nota era 397/ZX02-96. Inventar um digest ou copiar o de outro documento não esclarece qual dessas verificações falhou.

Exemplo de leitura de um registro legado

Em um registro legado, o XML conserva o DigestValue sob Signature, mas a URL não contém digVal. A leitura confirma ausência na URL e orienta a investigação da sequência de geração: qual arquivo assinado foi usado e em qual ponto o parâmetro deixou de ser inserido.

Em outro registro, digVal existe mas contém uma representação diferente da prevista. A ausência já não é a causa demonstrada; deve-se examinar formato e correspondência separadamente. O original não deve ser reescrito para aparentar uma assinatura diferente.

Como distinguir as versões atuais?

QR-Code 2 usa DigestValue apenas na emissão offline, na sexta posição; o modelo online não o inclui. No QR-Code 3, o mecanismo offline utiliza assinatura dos parâmetros do QR-Code, com estrutura própria, e não o parâmetro digVal da versão 1.

A ausência no formato atual precisa ser interpretada por sua modalidade. A 396/ZX02-288 descreve DigestValue ausente no QR 2 offline; não se deve transformar automaticamente essa identidade em 396/ZX02-88 ou vice-versa.

Como preservar a evidência e encerrar o diagnóstico?

Preserve o XML e o retorno originais, identifique a nota e compare somente os dados da mesma tentativa. A URL histórica é encontrada em NFe/infNFeSupl/qrCode, no namespace http://www.portalfiscal.inf.br/nfe; em arquivo processado, o caminho começa por nfeProc. A leitura do original deve ocorrer com acesso autorizado.

Se o emissor está gerando formato antigo, diagnostique a integração e o leiaute aplicável, preservando os dados verdadeiros e o resultado fiscal anterior. Não modifique documento autorizado nem reenvie uma tentativa incerta.

Não é apresentado XML operacional: a conferência fiel exige a chave, os dados e, conforme o parâmetro, a assinatura ou a credencial protegida da tentativa. Os cenários são textuais e não fabricam identificadores, CSC ou hashes. Conformidade no schema e consulta legível do QR-Code não equivalem à autorização da nota.

Fontes oficiais