
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.
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.
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.
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:
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. You might also find this useful: A Guide to Setting Up a Trust for Asset Protection.
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:
Two controls prevent most avoidable failures:
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.
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.
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:
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.
Need the full breakdown? Read Choosing Value Pricing for Accounting and Bookkeeping Services.
For a quick next step, try the free invoice generator.
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.
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.
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 |
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.
This pairs well with our guide on Accrual vs Cash Basis Accounting for Small Agencies.
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 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.
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.
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:
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.
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.
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. If you want a deeper dive, read Hiring Your First Subcontractor: Legal and Financial Steps.
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:
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.
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. |
Before go-live, run duplicate-safety tests on purpose:
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 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:
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.
We covered this in detail in A Guide to Building a 'Trust-First' Product Roadmap. If you want to confirm what's supported for your specific country/program, Talk to Gruv.
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.
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.
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.
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.
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.
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.
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.
Yuki writes about banking setups, FX strategy, and payment rails for global freelancers—reducing fees while keeping compliance and cashflow predictable.
With a Ph.D. in Economics and over 15 years at a Big Four accounting firm, Alistair specializes in demystifying cross-border tax law for independent professionals. He focuses on risk mitigation and long-term financial planning.
Educational content only. Not legal, tax, or financial advice.

**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.

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.

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.