Quick Answer
Use a two-account rule: keep retainer money in a trust account and move funds to your operating account only after the release condition is documented. In practice, that means matching each transfer to a signed agreement, invoice ID, and acceptance evidence. Keep a separate client ledger, run regular reconciliation, and freeze disputed amounts instead of sweeping the full balance. When ownership is unclear, treat the money as held until the record is complete.
Key Takeaways
- Keep client-held funds in a dedicated trust account and move money only after a documented release condition is met.
- Maintain a separate ledger for each client so deposits, drawdowns, refunds, and remaining balances are always attributable.
- Freeze disputed or restricted amounts immediately and release only the undisputed portion with a logged reason.
- Use a fixed retainer sequence from receipt to reconciliation so approvals and transfers stay consistent under pressure.
- Verify jurisdiction-specific requirements before launch, especially where IOLTA-style rules, record retention, or account registration may apply.
Why trust accounting matters before you send the first invoice#
Before you ask for a retainer, decide one thing clearly: are you holding client money, or have you already earned business revenue? That distinction is the core issue. Get it right early and you can avoid common failures: spending refundable money, arguing over what was earned, and finding out too late that your books cannot explain either one.
For freelancers, creators, and small teams, the useful part of legal-style trust accounting is not copying law-firm procedure line by line. It is borrowing the discipline behind it. Trust accounting means keeping client or third-party funds separate until they are earned or otherwise properly released. The matching discipline is documenting what happened, when it happened, and why. In practice, a retainer does not become operating cash just because the invoice was paid.
The first decision rule#
Start with a simple baseline. Money stays in a separate trust account when you are still holding it on the client's behalf. Money moves to your operating account only when it is earned or otherwise properly releasable under your agreement and applicable rules, and you have evidence that the release condition was met.
It is strict for a reason. One of the clearest controls in the legal model is separation: entrusted funds stay in a separate account, not mixed with business funds. Another is dispute containment: if ownership of part of the money is disputed, that disputed portion stays in trust while the undisputed portion can be distributed. For a small service business, the practical rule is this: if any amount is being questioned, freeze that amount, release only the clear remainder, and log the reason before you touch the balance.
The common failure mode is moving funds based on memory or optimism. You finish a draft, assume the work is close enough to approved, sweep the whole retainer into the operating account, then a revision fight or refund request lands. Now the cashflow boost you wanted turns into a refund problem and a bookkeeping cleanup.
Verify your rule set before going live#
You do not need to copy a law-firm playbook, but you do need to verify which rules actually apply to you before going live. Trust-account and IOLTA requirements vary by jurisdiction, and programs can exist because of a state statute or a court order. If you work in a regulated field, or a state bar or similar jurisdictional program may affect how you handle client funds, check that before you send the first invoice. Use this pre-invoice check:
- confirm whether your jurisdiction requires a specific account type, registration, or certification for client-held funds
- confirm how long records must be kept, and what documents prove a release was valid
- confirm what your bank or payment provider does when funds are disputed or temporarily restricted
California is a good reminder that details can get specific: licensees there must register client trust accounts annually, including IOLTA and non-IOLTA accounts. You may not face that exact requirement, but the lesson holds. Do not copy someone else's setup blindly. Verify the account structure, keep the signed agreement and release evidence together, and treat unclear money as held money until you can prove otherwise.
Build the mental model before you move any money#
Start with one rule: client-held money stays separate until it is earned or properly released, and every movement needs a clear record. Trust accounting is tracking and monitoring client funds held in trust, while fiduciary accounting is the duty to preserve complete records and provide a full accounting of what was received and distributed.
Use two accounts with two different jobs:
- A client trust account holds client money that is still being held.
- An operating account is for earned fees and reimbursed expenses used to run the business.
Two controls prevent most avoidable failures:
- No commingling: do not mix client-held funds with business funds.
- Separate client ledgers: keep client-level ledger detail, not just a pooled balance, so you can show deposits, releases, and remaining held amounts for each client.
For staged work, treat each milestone as a release checkpoint, not automatic permission to move the full balance. Withdraw only what is earned or incurred, keep any unreleased portion in trust, and reconcile your ledger records on a regular schedule.
For a step-by-step walkthrough, see The Best Software for Trust and Estate Administration.
Choose the right account structure for your service model#
If you take upfront retainers across multiple active clients, use a dedicated client trust account with a separate ledger for each client from day one. It adds admin work, but it gives you the clearest control over what is held, what is earned, and what is still refundable.
| Setup | Best fit | What it gives you | Main tradeoff |
|---|---|---|---|
| Single trust account plus operating account | Project-based freelancer with low client volume and simple milestone billing | Clear separation between client-held funds and business money | Lower admin effort, but higher risk of reconciliation errors if you rely on pooled balances |
| One client trust account with per-client sub-ledgers | Freelancer or agency holding retainers for several active clients at once | Client-level visibility for receipts, releases, and remaining held balance | Stronger control, but it requires disciplined ledger maintenance and account reconciliation |
| Platform-ledger segregation with Virtual Accounts | Higher-volume intake where you want unique identifiers without opening many physical accounts | Cleaner attribution through unique virtual identifiers while funds stay in the linked physical account | Better tracking, but virtual accounts alone do not satisfy all trust-account duties |
The baseline is still two accounts: a client trust account for money you hold on behalf of clients, and an operating account for earned income and business expenses. That split only works if you keep client-by-client records, not just a single pooled balance.
The real risk shows up with concurrent retainers. Once multiple clients have funds on deposit at the same time, pooled balances can hide ownership unless each client has a chronological separate ledger of receipts, disbursements, and balance.
Virtual Accounts can reduce the complexity of managing many physical accounts, but they do not replace release controls or reconciliation discipline. A project-based freelancer can often run this structure with monthly reconciliation at minimum, while an agency with overlapping retainers and subcontractor payouts usually needs tighter client-level controls from the start. Related: How to Manage Bookkeeping for Your Freelance Business.
Write contract and invoice terms that make release decisions obvious#
Set one clear rule: do not move a retainer tranche to the operating account until the contract event for release is documented. If acceptance is unclear, keep funds held and refundable until you have acceptance evidence on file.
Tie each release point to written acceptance criteria and due dates. For each tranche, state the milestone, how acceptance is confirmed, how revisions are handled, and what happens to kill-fee and refund amounts if work stops early. Clear language here reduces dispute risk and cleanup cost.
Make invoices mirror those same states so your separate ledger stays readable: held, earned, and refundable. Avoid vague lines like "project payment." Use a unique invoice number and invoice date, and include any contract-required support showing the milestone was delivered and accepted.
Use one release evidence pack for every transfer:
- Signed agreement showing scope, fee type, retainer draw terms, and billing cadence
- Invoice ID and invoice date tied to the milestone or tranche
- Delivery proof (for example, submission record, sent file, or delivery confirmation)
- Approval evidence matched to the stated acceptance criteria
- Release authorization note with amount, approver, and date
If approval is ambiguous, pause the transfer. If only part of the amount is disputed, keep that disputed portion separated and release only the undisputed portion.
Before each transfer, confirm three items match the client's separate ledger entry exactly: invoice ID, acceptance evidence, and release amount. If any one is missing, the funds are still held, not earned.
For a quick next step, try the free invoice generator.
Run the retainer lifecycle in a fixed order every time#
Use one fixed sequence for every retainer: receive funds into the trust account, post to the client sub-ledger, deliver the milestone, confirm acceptance, release only the earned portion, then reconcile what remains held or refundable. This order keeps client money separate from earned revenue and supports partial drawdowns without commingling drift.
Keep one ledger story from intake to release#
Record trust receipts when funds arrive, and record trust payments when money leaves the account. Keep the journal, client sub-ledger, and bank reference tied to the same payment event so each release has a clear paper trail.
Leave funds as held until the contract event is met and acceptance is documented. The operating account boundary stays straightforward: move money only after services are rendered, and only for the earned portion.
Partial drawdowns without losing control#
A single retainer can support multiple milestones if each release is posted as its own ledger event. After each accepted milestone, transfer only the approved earned amount and keep the remaining client balance held in trust.
Do not release from memory or chat alone. If a transfer happens before the ledger is updated, shortfalls can stay hidden until later reconciliation.
If funds must move between client ledgers, treat it as an exception and require documented client direction plus a signed transfer record with the date, source file, destination file, and amount.
| Status | Checkpoint | Evidence to keep | Who approves |
|---|---|---|---|
| Received | Funds arrive in trust and match expected payer | Deposit reference, receipt record, client sub-ledger entry | Intake or finance owner |
| Held | Balance remains segregated and refundable until earned | Client ledger balance linked to agreement/invoice | Ledger owner |
| Earned | Milestone delivered and acceptance criteria met | Delivery proof, acceptance record, invoice ID | Delivery owner and client acceptance |
| Released | Only earned portion moves to operating | Release authorization, transfer record, updated ledger/journal | Named internal approver for withdrawals/transfers |
| Refunded | Unused or disputed amount returned from trust | Refund approval, payment record, updated client balance | Named internal approver |
Reconcile on a tighter cadence than monthly close when needed#
Monthly reconciliation is a standard trust-accounting control pattern, and the Law Society of BC handbook includes a monthly trust reconciliation sample in its January 2026 version. If you run active retainers, use a tighter internal cadence for intake checks so mismatches are caught while records are fresh.
Keep a complete reconciliation pack: account journal, individual ledgers, and bank statement with check copies where applicable. Total held balances across client ledgers should agree with the trust-account balance after timing items are explained; if not, pause releases until the break is resolved.
Handle holds disputes and reversals without breaking trust controls#
When money becomes uncertain, contain it first. Freeze the affected client balance in the client trust account, record the hold or dispute reason in that client's ledger, and pause related payouts until the event is resolved.
Use the same containment order every time: mark the balance as restricted, log the trigger, and suspend drawdowns or refunds tied to that balance. Before changing anything, match the provider or bank notice to one specific client-ledger entry by amount, payer, reference, and date. If you cannot match it, treat the funds as unreconciled and keep them unreleased.
Do not cover one client's shortfall with another client's funds. If money is held under AML or policy checks, keep it segregated and do not net it against unrelated client balances.
| Event | What it means | Immediate action |
|---|---|---|
| Card chargeback or dispute | A cardholder disputes the payment with their issuer; in the cited card flow, funds can be reversed immediately and dispute fees can be pulled. | Freeze that client's held amount if still in trust, stop pending releases, and open a response file with the deadline. |
| Bank return | The transfer fails or is reversed; ACH return codes identify the reason (for example, R01 insufficient funds). | Reverse receipt status in the client ledger, pause related payouts, and log the return code before contacting the client. |
| AML or policy hold | A processor may hold payments based on account activity; procedures vary by provider and jurisdiction. | Keep funds segregated, do not move them to revenue, and follow provider instructions. If it becomes a blocked-property case in the cited U.S. context, place funds in a blocked interest-bearing account and file the initial report within 10 business days. |
| Unmatched deposit in Virtual Accounts | A transfer entered the flow but was not auto-reconciled; in the cited flow, it stays in customer balance until manual reconciliation. | Keep it unreleased, verify virtual account details and payer reference, and manually reconcile before crediting any client ledger. |
Escalate early and send one complete evidence pack#
Escalate when timing or classification risk is real. Involve your provider, bank, or compliance counsel when a dispute deadline is near (often 7 to 21 days in the cited card flow), when an AML/policy hold cannot be cleared with normal records, when a Virtual Accounts transfer remains unmatched after verification, or when a return reason points to authorization, ownership, or sanctions risk.
Submit a complete evidence file the first time. In the cited dispute flow, you get one evidence submission, and missing the deadline can forfeit recovery. Include the signed agreement, invoice ID, delivery proof, acceptance or usage evidence, payment confirmation, ledger history, bank or processor notice, any ACH return code, and timestamped screenshots or exports.
Keep the ledger as the source of truth until closure. Processor balances may move before final resolution, but your ledger should always show which funds are restricted, why, and what must happen before release resumes.
Confirm legal and tax obligations before scaling volume#
Once you can contain disputes and holds, the next scaling risk is applying the wrong legal or tax rule to client money. Use legal-industry trust-account rules as a control reference, not as automatic compliance for your business.
Use legal-industry rules as reference, not autopilot#
IOLTA is a lawyer-specific construct, and ABA Model Rule 1.15 addresses lawyers handling client and third-party property. Non-law firms may adopt similar segregation controls, but the legal requirement can differ by jurisdiction or may not apply in the same way.
Before launching in any new state or country, verify local requirements before opening or renaming accounts. IOLTA rules vary by jurisdiction, programs are often created by court order or state statute, and even bar handbooks tell practitioners to confirm current rules and contact compliance staff when guidance is not enough.
Use this pre-launch check:
- confirm whether a local government, regulator, or professional body requires a specific account type
- confirm whether current rule text sets record-retention expectations, including references such as the ABA model's five-year retention period after representation ends
- confirm whether your service is actually covered by those rules or only informed by them
- confirm who handles edge cases locally, such as compliance staff, a regulator, or counsel
A common failure is running one generic trust account setup across markets, then finding the account label, ownership, or retention process does not match local expectations.
Flag fiduciary classification early in trust and estate work#
If an engagement involves trusts or estates, classification decisions affect reporting from the start. UFIPA revised the former UPIA, but your treatment still depends on the enacted local version and the governing instrument.
In fiduciary accounting, income is not the same as tax income. Receipts can be allocated to income rather than corpus, and capital gains are often allocated to corpus under many trust instruments. Add a principal-and-income classification field to material receipts and disbursements early, and retain the trust or estate document that supports each choice.
Make tax intake part of account opening#
Capture tax status before the first payout or contractor payment. Use Form W-9 when you need a correct TIN for information reporting, and use the appropriate W-8 form when a payee needs to establish foreign status.
Track potential Form 1099-NEC obligations for independent-contractor payments, but do not rely on one remembered threshold across forms and years. If you are a U.S. person or entity with foreign financial accounts, run an FBAR check at month-end: the trigger is whether aggregate account value exceeded $10,000 at any point in the calendar year. Keep that threshold visible in reconciliation notes so cross-border growth does not create a late reporting surprise.
Use tooling that preserves audit trail not just convenience#
Pick tooling for proof first, convenience second. In trust accounting, your baseline is being able to show who owned each balance, what changed it, and who approved each release.

Your minimum feature bar:
- an immutable ledger as the system of record for balances, transactions, and money movement
- client-level separate ledger views so each client balance can be reviewed independently
- exportable account reconciliation reports, including CSV for close workflows
- role-based approvals so release prep and release authorization are not the same action
Treat the ledger as your payout authority. Wallet or dashboard balances are projections, not final release evidence, so validate releases against posted journal events before sending funds. If your provider shows both posted and available balances, use that split intentionally: posted reflects booked activity, while available can still include pending effects.
Where modular infrastructure actually helps#
Use modular components only where they solve a real attribution problem:
| Component | Useful when | Article detail |
|---|---|---|
| Merchant of Record | Collection context is the hard part | Defines who handles transaction-level tax calculation, collection, and remittance. |
| Virtual Accounts | Bank-transfer intake | Incoming transfers can be attributed to specific clients or users while funds sit in shared underlying accounts. |
| Payout batches | Controlled multi-recipient releases | Some providers support grouped releases up to 1000 transfers under one reference. |
Implementation checkpoints that prevent duplicate releases#
Before go-live, run duplicate-safety tests on purpose:
- retry the same payout request with the same idempotency key and confirm no second payout is created
- replay an already processed webhook/event and confirm your system ignores it after marking it handled
Also confirm operators can see webhook/event processing status in the same operating flow as approvals and payout decisions. Idempotency helps, but duplicate-safe payouts still require event dedup handling plus a visible approval trail tied back to ledger activity.
Related reading: The Best Accounting Software Stack for Bookkeepers Serving Global Clients.
Put your trust accounting system into production this week#
Put this into production with one live client and one full milestone release cycle before scaling. The goal is simple: keep the trust account, operating account, and that client's ledger aligned from deposit to release.
Pick a client with clear terms and a single upcoming deliverable. Deposit into the trust account first, then record it in a separate chronological ledger for that client. Do not rely on the bank balance alone; the client ledger should show the held balance you are protecting.
Use the same release checklist every time:
- Check the release trigger. Confirm the signed agreement and invoice terms allow the drawdown now. If acceptance, revision expiry, or expense approval is unclear, keep funds held.
- Log the deposit. Record the date, source, and description of each deposit.
- Capture approval evidence. Keep delivery proof, acceptance message, or release note tied to the exact invoice ID, milestone, and amount.
- Record the transfer out. For each disbursement, record date, payee, and purpose. If part of the retainer stays held, the client ledger should show the remaining balance.
- Reconcile after transfer. Verify the transfer posted to operating and the held client balance decreased correctly.
A common failure is releasing from memory, email, or chat without updating the ledger. For stronger control, maintain both a receipt/disbursement journal and client-level ledgers, then run monthly triple reconciliation across the bank statement balance, register balance, and total of all client ledgers.
The practical payoff is clear traceability: what is held, what is earned, and why each payout moved when it did. That supports cleaner bookkeeping handoffs and stronger audit readiness as volume grows.
If you are adding cross-border collection or payout flows, do not assume this workflow carries over unchanged. Cross-border payments are often expensive, slow, and opaque, and regulatory requirements are increasing. FATF's 18 June 2025 update to Recommendation 16 reinforces the direction of travel: infrastructure should support compliance gates, traceable ledger events, and controlled payout operations where supported.
Frequently Asked Questions
What is trust accounting in plain language for freelancers and small teams?
It means treating some client money as not fully yours yet. If a retainer or advance payment is meant to fund future work or client expenses, you hold it separately, track it by client, and only move the earned portion out when the contract says you can.
What is the difference between a trust account and an operating account?
A trust account holds funds for someone else’s benefit, not your own. An operating account is for earned business revenue and your own expenses. A common failure mode is commingling: using client-held money to pay rent, payroll, or tax before it is earned.
Can freelancers use trust-style accounting for retainers without being a law firm?
You may be able to use the discipline of separation, client-level ledgers, and evidence-based releases. What you should not assume is that legal-industry account labels or rules automatically apply to your business. Whether you can or must use a formal client trust account depends on the country, regulator, and program that actually governs your work.
When can I transfer money from a client trust account to revenue?
Only when the money is earned under your agreement, or when authorized client expenses are actually incurred. Do not sweep funds by calendar date, dashboard balance, or memory of a chat approval. A practical checkpoint can include confirming the signed agreement, invoice ID, and supporting delivery or approval records before you transfer.
What are the minimum controls that prevent mishandling client funds?
Keep client funds separate from your own funds, maintain a separate ledger for each client, and reconcile records regularly. You may also want a visible approval trail for releases so transfer decisions are documented. If your tool only shows one blended balance and no client-level history, treat that as a red flag.
What should I do first if funds are disputed, held, or returned?
A practical first step is to freeze the affected client balance, document the reason, and pause related payouts. The disputed portion should stay separate until the dispute is resolved, rather than being netted against other clients or moved into your operating account to tidy the books. For provider reviews, keep the evidence pack together: contract, invoice ID, deposit record, processor or bank notice, and your ledger entries.
How do I confirm which trust-account rules apply in my country or program?
Start with the regulator or program that actually oversees your business activity, because the detailed rules usually apply to the firms that body regulates. For example, the Solicitors Regulation Authority says its Accounts Rules apply to firms it regulates. ABA Model Rule 1.15 is a useful legal-sector reference point on separation, earned-fee withdrawals, disputed funds, and record retention. If you are using this guidance outside that exact scope, verify your local rules directly and check how long records must be kept. One model-rule baseline is five years, but your requirement may differ.
Try a related tool
Researched and edited by the Gruv editorial team. Gruv builds cross-border billing, payouts, and finance-operations software for global businesses.
Sources
- acquisition.gov/far/32.905trusted
- calbar.ca.gov/legal-professionals/maintaining-compliance/c...trusted
- calbar.ca.gov/Portals/0/documents/ctapp/CTAPP-Resources-Pr...trusted
- ecfr.gov/current/title-31/subtitle-B/chapter-V/part-5...trusted
- ecfr.gov/current/title-31/subtitle-B/chapter-V/part-5...trusted
- fdic.gov/deposit/diguidebankers/documents/fiduciary-a...trusted
- iowacourts.gov/opr/attorneys/attorney-practice/practice-inf...trusted
- iowacourts.gov/opr/attorneys/attorney-practice/practice-inf...trusted
Educational content only. Not legal, tax, or financial advice.
Related Posts

Hiring a Subcontractor for the First Time Without Costly Surprises
**Start with a risk-control sequence, not an ad hoc handoff.** As the Contractor, your goal is simple: deliver cleanly, control scope, and release payment only when the work and file are complete.

Freelance Bookkeeping for Faster, Safer Client Payments
Control over cash starts with records you trust. When entries are current, categorized, and easy to trace, you spot risk earlier and make calmer decisions about follow-up, spending, and month close.

When a Trust for Asset Protection Makes Sense for Your Business
Use a trust only after your core liability setup is solid. A trust for asset protection is an escalation layer, not a substitute for entity separation, insurance, or clean operations.

