Reconciling a system that has no memory
When the source system only knows today's balance, the first job is to give it a past. Notes from building Recon3.
Plenty of operational software only knows the present. A point-of-sale house-account app will tell you what a member owes right now, and nothing about what they owed last Tuesday. That is fine for the front desk and useless at month end, when the books need to tie to a specific date.
Give it a past
The first move in Recon3 was not reconciliation at all. It was memory: an immutable nightly snapshot of every balance, from go-live forward. Re-running a date never overwrites a good run. Once the system has a history, reconciliation becomes arithmetic instead of archaeology.
Flag what matters
The receivable for the same date comes from accounting, and the difference is recorded every night. A day is flagged only when it breaches both a dollar threshold and a percentage threshold. One rule alone floods finance with noise; both together surface the days that genuinely break.
Refuse to guess
The hardest design decision was what to show when the data disagrees with itself. If reconstructed ageing does not tie to the source system's own total, Recon3 reports the balance unaged rather than display buckets that contradict each other. An honest blank is worth more than a confident wrong answer.
An honest blank is worth more than a confident wrong answer.

Cross-check independently
Charges are matched against card-processor payments, and the basis for every match is recorded. On the first day of real data, seven of seven matched. The point is not the score. The point is that the system can show its work.



