Idris Halloran
Software engineer, Edinburgh
Accountants solved a problem five hundred years ago that software teams rediscover every few years: if you overwrite a value, you lose the reason it changed.
Never update a balance
A balance is a sum, not a fact. Store the movements and add them up. When the total looks wrong, the rows tell you which movement to question.
Every entry has two sides
Money that leaves one account arrives in another. If the two sides do not match, the write fails. That single rule removed a whole class of bug from reconciliation.
What it costs
More rows and the occasional slow sum. Both are easier to fix than a balance nobody can explain.