Two systems that ought to know the same thing rarely do — holding them against each other is work of its own, not a by-product of the clean-up.
- Set the two sets against each other
- Count what sits on both sides, what sits on only one, and what contradicts. Booking tool against till, spreadsheet against CRM, customer list against the accounts — what comes out is not a guess but a number for each case.
- Join records that share no number
- Hardly any two systems share a customer number. Matching runs on name, address, mail and date — and every match carries a measure of how certain it is rather than a yes or no. Whatever stays below the threshold is decided by a person.
- Report differences instead of overwriting them
- Where two sides hold different addresses, prices or dates, one is not quietly replaced by the other. You set the rule for which fields may follow automatically; the rest goes on a list. A mail address may follow along, an invoice amount may not.
- Settle which way it runs
- Which system leads and which follows — field by field, not across the board. Without that settled, two systems write in circles and overwrite each other by turns, the most common way to lose data quietly. For the CRM against the spreadsheet the question is answered in one sentence, but somebody has to answer it.
- Running, not a one-off
- A one-off reconciliation holds until next week. After that the two sides drift apart again, because both keep being used. So the reconciliation belongs in daily operation — nightly, daily, or on every new entry.
- A log of which side won
- Written down: which field changed, what stood there before, what stands there now, and from which source. Readable afterwards and reversible. Without that, a reconciliation is just a claim about what is true.