Validating ERP data before cutover means proving that legacy subledger, staging and target agree account by account — a three-way reconciliation. A record count match proves only that rows moved, not that the values are right. Everything below exists to make that proof possible before a date is committed.
The Pre-Cutover 3-Way Financial Reconciliation Protocol
1. Frozen Legacy Report
Locked Trial Balance, AR/AP Aging summaries, and physical Inventory Valuation from source ERP.
2. Subledger Sums
Sum of all imported Open Invoices (AR), Open Bills (AP), and Item Unit Costs must sum to exact control totals.
3. New GL Trial Balance
Imported General Journal matches to $0.00 variance against the subledger offset accounts.
1. Fix the source of truth first
Take a trial balance from the legacy system as at a fixed date and freeze it. That document is what every subsequent check is measured against, and if it can still move, none of the checks mean anything.
Freeze the source chart of accounts at the same moment. A migration run against a chart that is still being edited is a migration you will run twice.
2. The financial reconciliations that matter
| Control | Tolerance | What it catches |
|---|---|---|
| Trial balance, account by account | $0.00 | Mapping errors, missing opening entries, wrong sign conventions. |
| Aged receivables, bucket by bucket | $0.00 per bucket | Correct totals with wrong due dates — breaks collections immediately. |
| Aged payables, bucket by bucket | $0.00 per bucket | The same, on the side that damages supplier relationships. |
| Inventory valuation by location and item | $0.00 | Costing method mismatches between source and target. |
| Bank reconciliation | $0.00 | Uncleared items dropped in transit. |
Bucket-level checking is the one teams skip. Aged receivables that total correctly but bucket incorrectly look fine on a summary and produce a collections team chasing the wrong invoices from day one.
3. Spot-checking master data
Financial reconciliation proves the numbers. It does not prove that a customer will post to the right account when someone raises the first invoice.
- Sample twenty customers across posting groups and confirm each maps correctly.
- Sample twenty items across costing methods and inventory posting groups.
- Confirm every dimension value used in the last twelve months exists in the target.
- Trace ten transactions end to end, source document through to ledger entry.
4. The mock cutover
Run the whole cutover on a copy, against the clock, with the people who will actually do it. Time each step. The output is two things: a validated runbook, and a realistic number for how long the frozen window needs to be.
A cutover nobody has rehearsed is an estimate dressed as a plan. The first time you discover the delta load takes five hours rather than two should not be at 1am on go-live weekend.
5. Agree the gate in writing
Before any of this starts, write down that cutover proceeds only when subledger variance reads $0.00, and name the person who owns that call. The reason to do it early is that the decision is easy in a planning meeting and extremely hard at two in the morning with a business waiting to open.