O que significa esse erro?

Ao tentar consultar ou validar um MDF-e, o sistema retorna a mensagem:
Erro ao consultar MDF-e: DigestValue do documento não confere
Esse erro indica que a nota do MDF-e foi alterado após a transmissão.
Por que esse erro acontece?
Esse problema ocorre quando:
-
O XML original autorizado pela SEFAZ está de um jeito
-
E o XML que está salvo/validado no sistema está de outro jeito
Ou seja, a nota foi mexida no sistema depois de já ter sido transmitida para a SEFAZ.
Mesmo uma alteração simples (cidade, nome, número, letra, espaço, etc.) já faz o DigestValue não bater, pois a SEFAZ valida o XML pelo conteúdo exato.
O que foi alterado nesse caso (exemplo real)
XML da SEFAZ correto:

XML do sistema incorreto:

Isso prova que o XML salvo no sistema foi modificado, enquanto o XML autorizado pela SEFAZ permanece correto.
Como resolver o problema corretamente?
Para corrigir, é obrigatório seguir este processo:
-
Obter o XML autorizado pela SEFAZ (XML oficial)
-
Obter o XML validado/salvo no sistema
-
Fazer a comparação completa entre os dois XMLs
-
Identificar todas as divergências (nomes, cidades, números, tags, etc.)
-
Corrigir o XML do sistema, deixando idêntico ao XML da SEFAZ
-
Após isso, validar/consultar novamente o MDF-e
O XML correto sempre é o da SEFAZ.
O do sistema é o que precisa ser ajustado.