Trust ledgers rebuilt from a bank statement
Open the bank statement export for the trust account (.csv or .xlsx). Assign each transaction to a client or matter, from a column in the file or by typing on the page. The tool builds a ledger for each client and the trust journal, and checks that the ledgers add up to the bank's closing balance to the cent.
The file is read in your browser and stays on this device. Nothing is uploaded.
The file is read in this browser and is not uploaded.
These are matched from the header words. Check them and change any that are wrong. Use either one amount column, or the money-in and money-out columns. The client or matter column is optional: it can be filled in below instead.
These are compared with the statement's opening balance. Leave empty when the account opened at zero.
| Client or matter | Opening balance |
|---|
| Row | Date | Description | Amount | Client or matter |
|---|
Summary by client
Client ledgers
Trust journal
What gets checked
- The bank statement itself ties out: opening balance plus transactions equals closing balance, every printed running balance matches the math, and every date is valid.
- Every bank transaction appears in exactly one client ledger, with its own amount, under the client or matter assigned to it. A transaction with no client is in no ledger and the check fails.
- Client opening balances add up to the bank statement's opening balance.
- The sum of the client ledgers equals the bank closing balance.
- Every ledger re-adds on a second pass: opening balance plus its entries equals each running balance and the closing balance.
- The trust journal lists every bank transaction once, its running balance re-adds, and its closing balance equals the bank closing balance.
- Every row with data was read. A row that could not be read is listed with the reason and the result is marked not verified.
How it works
- Open the bank statement export. Drop the .csv or .xlsx export from the bank. Columns are matched from the header words (date, description, amount or separate deposit and withdrawal columns, running balance) and any choice can be changed.
- Enter the balances. Type the opening and closing balance printed on the statement, and each client's balance at the start of the period. Choose whether the file lists the oldest or the newest transaction first.
- Assign each transaction. Each bank transaction gets a client or matter. A client column in the file fills these in; otherwise type them on the page, with names already used offered as you type.
- Rebuild and export. The page shows a ledger per client, the trust journal, a summary beside the bank balances, and the certificate. Download Excel or CSV, or print.
Worked example
A made-up April statement with an opening balance of $10,000.00 (Alder matter $4,000.00 and Birch estate $6,000.00), a closing balance of $15,249.51, and five transactions.
| Date | Description | Amount | Statement balance | Client or matter |
|---|---|---|---|---|
| 2026-04-01 | DEPOSIT | $2,500.00 | $12,500.00 | Cedar closing |
| 2026-04-03 | CHECK 2001 | -$1,250.50 | $11,249.50 | Alder matter |
| 2026-04-07 | WIRE IN | $8,000.00 | $19,249.50 | Birch estate |
| 2026-04-15 | CHECK 2002 | -$3,000.00 | $16,249.50 | Birch estate |
| 2026-04-22 | CHECK 2003 | -$999.99 | $15,249.51 | Cedar closing |
Three ledgers are built. Alder matter: 4,000.00 − 1,250.50 = $2,749.50. Birch estate: 6,000.00 + 8,000.00 − 3,000.00 = $11,000.00. Cedar closing: 2,500.00 − 999.99 = $1,500.01. The sum of the client ledgers is 2,749.50 + 11,000.00 + 1,500.01 = $15,249.51, equal to the bank closing balance, and the trust journal's last balance is also $15,249.51. If the April 3 check were left with no client, it would be in no ledger: that check and the comparison with the bank closing balance would both fail.
The example uses made-up names and numbers.
Questions
Which bank export layouts does it read?
Any .csv or .xlsx with a header row. Bank layouts differ, so the tool does not assume one: it matches header words, shows its choices, and every column can be changed. It reads one signed amount column, or separate deposit and withdrawal columns. When the headers cannot be matched, the page says which column is missing and links to a form for requesting support for that format.
What if my statement is a PDF?
This tool reads spreadsheet exports (.csv or .xlsx). Most banks offer one for the same period as the printed statement.
Why does the tool ask for client balances at the start of the period?
The bank's opening balance belongs to clients too. The client opening balances are compared with it, and each ledger starts from its own figure. If they do not add up to the bank's opening balance, that check fails and shows the difference.
Can one bank transaction be split between two clients?
Not on this page. Each bank transaction goes to one client or matter. A deposit that covers two clients would need to be two rows in the file before it is opened.
Does the result say whether the account follows a rule?
No. It builds ledgers and compares totals. It makes no statement about what any rule, regulation, or agreement requires.
This tool calculates and checks numbers. It is not legal, tax, or medical advice.