When numbers don't add up
When a ledger doesn’t reconcile, finzu tells you which of two different problems it is — because they mean different things, and one is far more serious than the other.
Chain break: one entry is out of place
A Chain Break is local. One transaction’s Reported Balance doesn’t follow from the transaction right before it — but everything past that point is still internally consistent.
| Date | Description | Amount | Reported Balance | |
|---|---|---|---|---|
| Jan 1 | Opening | — | $500 | |
| Jan 5 | Paycheck | +$2,000 | $2,495 | ⚠️ should be $2,500 |
| Jan 8 | Rent | −$1,800 | $695 | back on track |
Jan 5’s balance is $5 short of what it should be — likely two transactions imported in the wrong order. But Jan 8 recovers on its own: $2,495 − $1,800 = $695, matching what the bank actually printed. The problem is contained to that one link in the chain.
Balance drift: everything after this point is off
Balance Drift is global. Once a transaction’s Reported Balance doesn’t match finzu’s computed Running Balance, every later transaction inherits the same gap — even though each of them is individually consistent with its neighbor.
| Date | Description | Amount | Reported Balance | Running Balance |
|---|---|---|---|---|
| Jan 1 | Opening | — | $500 | $500 |
| Jan 3 | Coffee shop | −$5 | $495 | $495 |
| Jan 5 | (missing) | |||
| Jan 8 | Rent | −$1,800 | −$1,305 | $695 |
A transaction went missing from the import. Every Reported Balance after the gap is internally consistent with the one before it — the chain never breaks — but the whole chain has drifted $2,000 away from what finzu’s Running Balance says it should be, and stays that far off forever until the missing piece is found.
Why the distinction matters
A Chain Break points at one spot: fix that link and the ledger is whole again. Balance Drift means something upstream — usually a missing or duplicated transaction — is quietly offsetting everything downstream, and needs to be found at its source, not patched at each row it affects.
Next: how finzu tries to repair a broken chain automatically.