# Reconciliation checklist

Use this before you sign a migration off. Run it after every rehearsal too, so the final run holds no surprises.

From Bit Movers, bitmovers.co.uk. Free to use and adapt.


## 1. Before you count anything

- [ ] The mapping specification version used for this run is recorded.
- [ ] The source extract time is recorded, and the source was frozen (or the delta window is known).
- [ ] Every object in scope is listed, including the ones you expect to be empty.
- [ ] The rules for records you are deliberately not moving are written down (soft-deleted, archived, out of date range, test data).


## 2. Counts, per object

- [ ] Source count, loaded count and held-back count for every object.
- [ ] For every object: source = loaded + held back. If it does not add up, stop here.
- [ ] Child objects counted per parent, not just in total (for example order lines per order), so a parent missing all its children shows up.


## 3. Totals

- [ ] Financial totals match to the penny: order value, invoice value, open balances, credit limits.
- [ ] Quantity totals match: stock, hours, units.
- [ ] Totals are compared by period as well as overall (per month or per year), so two errors cannot cancel each other out.


## 4. Integrity

- [ ] No orphans: every child record in the target has its parent.
- [ ] No duplicates on the target's unique keys or on the external ID carried over from the source.
- [ ] Required fields are populated on every record.
- [ ] Dates are possible: no future creation dates, no end dates before start dates, no 1900-01-01 placeholders.
- [ ] Every lookup value exists in the target's picklists or reference tables.


## 5. Spot checks

- [ ] A random sample of records, compared field by field between source and target.
- [ ] The highest-value records, compared field by field.
- [ ] Records that went through the most complex transformation rules, compared field by field.
- [ ] A handful of records checked by someone who uses the old system every day, in the new system's own screens.


## 6. Held-back records

- [ ] Every held-back record is listed with its ID and the rule that held it back.
- [ ] The business owner has seen the list and agrees nothing on it needs to move.
- [ ] Where the old system is being switched off, the held-back records are archived somewhere they can still be found.


## 7. Sign-off

- [ ] Counts, totals, integrity results and spot checks are on one sheet.
- [ ] The sheet names the run, the date and the mapping specification version.
- [ ] The business owner signs it, not only the person who did the migration.
