A bar examiner opens a law firm's books for a routine trust account review and asks for one number: does the IOLTA Trust Account's balance match the Client Trust Liability account, to the penny, on every day in the sample period. The firm's bookkeeper has one QuickBooks account called "Trust Account" and no liability account at all — client retainers have been posted straight to income since the day the firm opened. There is no gap to explain, because there was never a place for a gap to show up. The two months the examiner picked are the two months a $4,000 retainer got counted twice: once as revenue on arrival, again when the invoice against it went out.
The fix is not a better reconciliation habit. It is the chart of accounts. A trust account review is a comparison of two accounts, and if both exist and are posted to correctly every time cash moves, the comparison is a report a bookkeeper runs in minutes, not an investigation an examiner has to run for them. This guide covers those accounts, the accounts that let unbilled hours show up as earned before an invoice exists, and the three entries that fill all of them.
Why a generic chart breaks down for a law firm
Under GAAP (Generally Accepted Accounting Principles), money a firm holds on a client's behalf is a liability, not revenue, until the firm earns it by doing the work the client engaged it for. A default QuickBooks chart has no account built for that distinction — one bank account, one income account — so a retainer deposit and a paid invoice look identical the moment either clears. Every state bar's trust rules draw on the same obligation the American Bar Association's Model Rule on safekeeping property sets out: keep client funds in their own account, keep records that prove it, and never let that account's balance drift from what the firm owes.
Work in process is the harder gap, because nothing about it looks wrong on a bank statement — just hours that happened and were never written down anywhere the books could see. An associate who logs forty billable hours in the last week of the month, invoiced out only on the third of the next, has by any accrual measure earned that revenue in the month worked. A chart with no account for unbilled work has nowhere to put that fact, so month-end numbers understate what the firm earned, and a partner reading the P&L before invoices go out sees a worse month than the one that happened.
Retainers add a third wrinkle, because not every retainer sits in trust. Some engagement letters, under a narrow flat-fee exception a number of state bars allow, let a firm deposit the retainer straight into its own operating account — the fee is still unearned the day it lands, but the cash was never client money in a segregated account. A chart with only one "unearned" liability account, built for money in trust, has nowhere to also track money the firm can already spend but has not finished earning.
How a dollar moves from retainer to revenue
Every retainer dollar, and every hour logged, moves through these accounts in this order. Revenue lands on the income statement on the way through; the balance sheet holds whatever has not settled yet.
The accounts that do the work
These are the accounts from the law firm template that a generic chart does not give you. Account numbers, names and types below are exactly as they import.
| Row | Account | Number | Type | Purpose |
|---|---|---|---|---|
| 01 | IOLTA Trust Account | 1020 | Bank | Client funds held in trust, separate from firm operating cash |
| 02 | Accounts Receivable - Fees | 1100 | Accounts Receivable | Billed but uncollected legal fees |
| 03 | Client Cost Advances | 1200 | Other Current Assets | Court filing fees, expert witness costs, and deposition expenses advanced to clients |
| 04 | Unbilled Work in Progress | 1210 | Other Current Assets | Time and services rendered but not yet billed |
| 05 | Client Trust Liability | 2200 | Other Current Liabilities | Offsetting liability for IOLTA trust funds held for clients |
| 06 | Unearned Retainer Revenue | 2210 | Other Current Liabilities | Retainer fees collected outright but not yet earned |
| 07 | Legal Fee Revenue - Litigation | 4000 | Income | Fees earned from litigation practice |
| 08 | Legal Fee Revenue - Family Law | 4010 | Income | Fees earned from family law practice |
| 09 | Contingency Fee Revenue | 4100 | Income | Revenue from contingency fee arrangements |
| 10 | Reimbursed Client Costs | 4200 | Income | Client cost advances recovered |
| 11 | Malpractice Insurance | 6300 | Expenses | Professional liability insurance |
The 1020 and 2200 pair is what makes the trust review possible: one holds the cash, the other holds what the firm owes for it, and the two should never show a different number. Unbilled Work in Progress at 1210 is a different asset from Accounts Receivable - Fees at 1100 — one is revenue earned but not yet billed, the other is revenue billed but not yet collected — and confusing the two hides exactly the gap a realization rate is built to measure. Client Trust Liability and Unearned Retainer Revenue both hold money the firm has not yet earned, but only one is client money in a segregated account; the other is cash the firm can already spend. Malpractice Insurance keeps its own line at 6300 rather than folding into general insurance, since it is usually the firm's largest insurance premium and worth seeing on its own.
How a retainer actually gets booked
Follow one family law matter and one litigation matter through three entries: the retainer arrives, fees get earned against it, and a second matter's hours get recognized before an invoice exists. Figures are illustrative throughout.
A client retains the firm for a custody matter and wires a $10,000 retainer. The firm deposits it into the IOLTA Trust Account. Not one dollar of this is revenue yet.
| Account | Debit | Credit |
|---|---|---|
| 1020IOLTA Trust Account | 10,000 | |
| 2200Client Trust Liability | 10,000 | |
| Totals | 10,000 | 10,000 |
No revenue account is touched. The retainer sits as a liability the firm owes the client until it is earned, one invoice at a time — never recognized as income on the way in.
Over the following weeks, an attorney logs eight hours at a $350 rate. The firm invoices the client and applies the fee against the retainer already in trust. Two things happen at once: the fee is earned, and the cash backing it has to move out of a trust account it can no longer sit in.
| Account | Debit | Credit |
|---|---|---|
| 2200Client Trust Liability | 2,800 | |
| 4010Legal Fee Revenue - Family Law | 2,800 | |
| 1000Operating Account | 2,800 | |
| 1020IOLTA Trust Account | 2,800 | |
| Totals | 5,600 | 5,600 |
Two linked postings, not one transaction: the liability releases and revenue is recognized on the top two lines; the cash funding it transfers out of trust on the bottom two. The transfer happens fee by fee as work is billed, never as a lump sum pulled whenever the firm's own cash runs thin.
A different matter has no retainer on file. A litigation associate logs six hours at a $400 rate in the last week of the month; the invoice will not go out until next month. Under accrual accounting, the firm has already earned that fee.
| Account | Debit | Credit |
|---|---|---|
| 1210Unbilled Work in Progress | 2,400 | |
| 4000Legal Fee Revenue - Litigation | 2,400 | |
| Totals | 2,400 | 2,400 |
Revenue is recognized the month the work happened, not the month the invoice is cut. When the invoice goes out, this reverses into Accounts Receivable - Fees rather than hitting revenue twice — the fee was already earned here.
What this looks like on the statements
The same three entries, seen from the reports. The highlighted lines exist only because the accounts above exist.
| Legal Fee Revenue - Litigation | 38,400 |
| Legal Fee Revenue - Family Law | 24,800 |
| Contingency Fee Revenue | 6,500 |
| Reimbursed Client Costs | 2,100 |
| Total revenue | 71,800 |
| Operating expenses | |
| Attorney Salaries | 26,500 |
| Staff Salaries | 11,200 |
| Office Rent | 6,800 |
| Malpractice Insurance | 1,450 |
| Legal Research | 620 |
| Total operating expenses | 46,570 |
| Net income | 25,230 |
Example figures.
Total revenue of $71,800 includes fees earned against retainers and fees recognized as work in process, not only the fees that happened to get invoiced before the month closed. A firm tracking revenue by invoice date alone would show a smaller number this month and a larger one next, for no reason connected to how much work actually got done.
| Current assets | |
| IOLTA Trust Account | 46,500 |
| Accounts Receivable - Fees | 28,300 |
| Unbilled Work in Progress | 15,900 |
| Client Cost Advances | 4,200 |
| Current liabilities | |
| Client Trust Liability | 46,500 |
| Unearned Retainer Revenue | 5,000 |
Example figures.
The $46,500 in the IOLTA Trust Account matches the $46,500 in Client Trust Liability exactly — the first thing a bar examiner checks, and the reason those two accounts post together every time, never one without the other. This month the firm logged roughly $61,300 in billable time; about $53,400 was actually invoiced, for a realization rate near 87 percent. The rest is not lost revenue. It is the $15,900 sitting in Unbilled Work in Progress, carried forward until the invoices catch up, a number that exists only because the account exists to hold it.
- 01Is the trust account actually clean? Without Client Trust Liability posted every time cash moves through the IOLTA account, a shortfall can sit for months, and it reads to an examiner as commingling, not a bookkeeping lag.
- 02How much have we actually earned this month? Without Unbilled Work in Progress, revenue only shows up once someone remembers to invoice, so a slow biller looks like a slow month even when the associates billed just as many hours as always.
- 03Is this retainer client money or firm money? A balance in Unearned Retainer Revenue and one in Client Trust Liability look identical on a bank statement, but only one of them is allowed to fund next week's payroll.
What the template changes
The diff, in the grammar the product uses everywhere else.
- Trust Accountone bank account, no offsetting liability
- 1020IOLTA Trust Accountasset
- 2200Client Trust Liabilityliability
- Legal Fee Revenueone blended line, no unbilled work
- 1210Unbilled Work in Progressasset
- 4000Legal Fee Revenue - Litigationincome
- 4010Legal Fee Revenue - Family Lawincome
- 2210Unearned Retainer Revenueliability
- 1200Client Cost Advancesasset
- 6300Malpractice Insurancestays its own visible expense line
- Rule 1.15: Safekeeping Property · American Bar Association
- Principles of Accounting, Volume 1: Financial Accounting · OpenStax, Rice University
Get started
The law firm chart of accounts template includes every account on this page, pre-numbered and ready to import into QuickBooks. It takes about 60 seconds to optimize and gives a firm the trust reconciliation and the work-in-process tracking an examiner or a managing partner expects to see, instead of a spreadsheet rebuilt from memory the week before an audit.
If you already have a chart, the optimizer reads it and shows the diff above against your own accounts, so you can see which trust and work-in-process accounts are missing before you change anything. Post the retainer entry the day it clears, recognize work in process every month-end, and transfer trust cash fee by fee as it's earned, and the next trust review reads from the trial balance instead of a promise to look into it.
Frequently asked questions.
Why can't a law firm just use one bank account for client retainers and operating funds?
Commingling trust funds with operating cash is a bar-association compliance violation in every state, not a bookkeeping shortcut. The IOLTA Trust Account has to hold only client money, and the Client Trust Liability account has to match its balance exactly, so an examiner can confirm in minutes that no client's funds ever covered the firm's own bills.
Is unbilled time really an asset before it's invoiced?
Yes. Under accrual accounting, revenue is recognized as the work is performed, not when the invoice goes out. Unbilled Work in Progress carries that earned value until it converts to a receivable at billing, so the firm's financials show what its attorneys actually earned each month, not just what someone remembered to invoice.
What is a realization rate, and why does it need its own accounts?
A realization rate is the share of hours worked that a firm actually bills, and it can only be measured if hours worked and hours billed live in separate accounts — Unbilled Work in Progress for one, revenue and receivables for the other. Blended into one balance, a falling realization rate looks identical to a slow month.
The principles are easy. Applying them is the work.
This guide is the theory. The free trial helps you review a real QuickBooks Online chart with a score, structural diff, and prioritized cleanup plan.
- +Score the chart across the health dimensions
- +Compare structure against a reference pattern
- +Prioritize cleanup work before changing books
- +Review recommendations before anything is applied