Leonardo Peron4 min de leitura
Depois que a migração termina, alguém faz a pergunta que não tem resposta educada: como a gente sabe que não perdeu nada?
"Rodou sem erro" não responde. Script de migração que termina limpo prova que nenhuma linha causou exceção. Não prova que todas as linhas chegaram, nem que chegaram com o valor certo. As duas falhas mais caras de uma migração são silenciosas: o registro que não veio, e o número que veio diferente.
Reconciliação é o trabalho de transformar confiança em evidência.
Contagem: quem chegou
O primeiro nível é o mais óbvio e o mais ignorado. Contar registros na origem e no destino, por entidade, e comparar.
O resultado quase nunca bate de primeira, e a diferença costuma ser explicável: registros excluídos logicamente que não deveriam vir, duplicatas consolidadas de propósito, teste antigo que ficou na base. A diferença explicada é aceitável. A diferença desconhecida não é.
Vale contar também recortado por período. Um total que bate esconde bem o problema de um ano inteiro faltando compensado por duplicação em outro. Isso acontece, e a contagem global não vê.
Soma: quanto chegou
Contagem não pega valor errado. Um pedido que migrou com o valor dividido por cem continua sendo um pedido.
Por isso o segundo nível soma os campos que importam (valor de pedido, saldo de estoque, título em aberto) e compara os totais dos dois lados. É uma consulta por entidade, e é onde aparecem os erros de conversão: separador decimal interpretado como milhar, unidade de medida trocada, moeda sem conversão.
Aqui a tolerância precisa ser decidida antes, não negociada depois. Diferença de centavos por arredondamento pode ser aceitável; diferença de um real não é, e o limite tem que estar escrito antes de alguém ver o resultado.
Amostra: como chegou
Contagem e soma são estatísticas. Elas não olham nenhum registro em particular, e há erros que passam nas duas: o cliente cujo endereço foi para o campo de observação, a data que virou o dia errado por fuso, o texto que perdeu o acento.
O terceiro nível é abrir registros lado a lado, campo por campo. Não muitos: algumas dezenas bem escolhidas valem mais que milhares aleatórios.
A escolha importa mais que a quantidade. Vale incluir o registro mais antigo, o mais recente, o de maior valor, um com todos os campos opcionais preenchidos, um com quase nenhum, e, principalmente, os casos que o time da operação lembra. Toda operação tem três ou quatro registros esquisitos que todo mundo conhece. São eles que quebram.
Reconciliação é trabalho de quem opera
O erro de processo mais comum é a área técnica reconciliar sozinha. Quem escreveu a migração compara o que planejou migrar com o que migrou, e o resultado bate por construção.
Quem enxerga que "esse cliente aqui deveria ter três contratos e só tem dois" é quem trabalha com aquilo. A conferência precisa acontecer com alguém da operação olhando junto, e o resultado precisa ser assinado, no sentido literal: uma pessoa que diz, por escrito, que conferiu e está de acordo.
Não é burocracia. É o que separa "achamos que está certo" de "está conferido", e é o que dá tranquilidade para desligar o sistema antigo.
O sistema antigo não desliga junto
Manter o legado disponível em modo somente leitura por um período é a apólice mais barata da migração inteira. Não custa quase nada e resolve a classe de problema que aparece semanas depois: o cliente que pergunta sobre uma nota de 2019, a auditoria que pede o histórico, o caso que ninguém pensou em conferir.
O período varia com o negócio, mas há um marco natural: o primeiro fechamento completo (mensal, fiscal, contábil) feito inteiramente no sistema novo. Antes disso, desligar é economizar no lugar errado.
O relatório que sobra
Ao final, reconciliação produz um documento curto: o que foi comparado, qual o resultado, quais diferenças apareceram e por que cada uma é aceitável.
Ele parece formalidade no dia em que é escrito. Deixa de parecer seis meses depois, quando alguém pergunta por que o faturamento de um mês antigo mudou, e a resposta está numa linha, em vez de virar uma investigação de uma semana.
O teste que confirma
Antes de considerar a migração encerrada, peça a alguém da operação que escolha um registro qualquer, sem combinar, e o acompanhe do sistema antigo ao novo, campo por campo.
Se essa pessoa terminar sem encontrar nada estranho, o trabalho está feito. Se ela apontar algo em cinco minutos que a reconciliação não pegou, o problema não é o registro: é que a amostra estava escolhida por quem conhece o código, e não por quem conhece a operação.