Free running-balance tool

Find the row where a statementstops balancing.

Paste a transaction CSV or edit the starter ledger. StatementForge compares every reported balance with the prior chronological balance, withdrawal, and deposit.

1. Confirm row orderSelect oldest-first or newest-first. The oldest chronological row becomes the starting baseline.
2. Use positive magnitudesEnter withdrawals and deposits as positive numbers in separate columns. Leave the unused side blank.
3. Enter post-transaction balancesEach balance must be the reported balance after that row’s transaction was applied.

Paste CSV

Simple headers are inferred, including Date, Description, Withdrawal/Debit, Deposit/Credit, Amount, and Running Balance.

The starter ledger includes one $1.00 discrepancy so you can see the check.

Editable ledger

Correct a value and the report recalculates immediately.

Rows5
Checked4
Balanced3
Discrepancies1
Needs input0
RowDateDescriptionWithdrawalDepositReported balanceExpected balanceDifference / status
1BaselineStarting balance used as the baseline.
2250.00Balanced0.00 · Matches within the 0.01 tolerance.
31,500.00Balanced0.00 · Matches within the 0.01 tolerance.
41,451.00Balanced0.00 · Matches within the 0.01 tolerance.
51,332.58Difference-1.00 · Reported balance differs by -1.00.

Oldest-first rule: expected balance = prior balance - withdrawal + deposit. Newest-first mode reverses the rows for the calculation, then maps results back to the displayed order. The oldest row is a baseline and is not checked against an earlier balance.