Alex Novak
Data / Migration

Money fields don't move without a discrepancy report

Money fields were moving from a CRM into the company's own system. A parity check before the switch found 13k discrepancies and ~1.4M changes that would have quietly altered how the system behaves.

before
8 money fields in two systems, discrepancies unknown
after
a report before the switch, a decision for each group of discrepancies
Salesforce PostgreSQL GraphQL

Context. Commissions and payouts for platform members lived as a copy in the CRM. The company's own system was to become the source of truth. The usual route: switch the fields and fix complaints later.

What I did.

  1. Split the migration into two steps. First a read-only parity report. The fields switch only after the business owner approves it.
  2. The report counts not just different numbers but their effects: turning "empty" into "0" triggered automated flows and changed which program tiers people qualified for.
  3. Set clear semantics: "no data" and "zero" mean different things, and the system tells them apart.
  4. Raised separate decisions for 13k records with different commission rates, rows that exist only in the CRM, and ~1.4M history changes.

Result. Every discrepancy is visible before it reaches production. The business decides on them, not the migration script.

← All case studies

Get In Touch

Not sure your process is ready for automation?

Write me. The 20-minute starter call is free: I tell you whether this is an audit problem, and if it isn't, I say so.