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.