A $1,000,000 disbursement, daily interest accrual at 10% APR, two payments, a reversal, and a backdated payment. Watch how the engine handles each one — step by step.
| # | Type | Activity | Effective | Δ Principal | Δ Interest | Princ. Bal. | Int. Bal. |
|---|---|---|---|---|---|---|---|
| No entries yet. Apply an activity to begin. | |||||||
✓ All 9 activities applied successfully
The ledger handled a reversal (activity 8) and a backdated payment (activity 9) using the retroactive roll-back → replay → sync engine. All balances are deterministically correct.
Why every adjustment row matters. When a past activity is reversed or a backdated payment arrives, the engine cannot simply edit the old rows — that would destroy the audit trail. Instead, it appends Adjustment entries that record the exact delta between what was originally calculated and what the corrected ledger now requires. Each adjustment is individually signed, timestamped, and traceable back to the activity it corrects, so an auditor can reconstruct both the “before” and “after” states of the ledger without any hidden mutations.
The backdated payment (activity 9). Payment #768 ($4,000) carries an effectiveAt of March 3 but was submitted on March 5. The engine rolls the ledger back to March 3, inserts the payment at its true economic date, then replays every subsequent activity — SOD accruals, payments, the earlier reversal — on the updated balances. Notice that no additional adjustment entries appeared this time: the $4,000 reduction on a ~$1 M principal changes the daily interest by less than a cent once rounded, so the replayed SOD accruals and payment #456 produce the same values they already had after the reversal. When deltas are zero the engine simply skips the adjustment — only real differences get recorded.
The residual $0.01 in interest. This is the classic “penny rounding” artifact of financial systems. Each ledger entry rounds to the cent independently (USD HALF_UP). When the retroactive engine replays and diffs, the sum of individually-rounded adjustments can differ by a cent from the rounded accumulated total — e.g., two daily accruals of $273.97 sum to $547.94, but the running balance rounded from full precision is $547.95. That one-cent gap is deterministic, auditable, and consistent across every replay. It is not a bug; it is an inherent property of rounding at entry boundaries.