Can Beancount Handle Attorney Trust Accounting? IOLTA Compliance Reality Check

As a CPA who works with various small businesses and professionals, I’ve been asked by a solo attorney friend if Beancount could work for managing client trust accounts. My immediate gut reaction was “probably not,” but I wanted to bring this to the community for a more informed discussion.

The Trust Accounting Challenge

For those unfamiliar with legal practice requirements, attorney trust accounts (specifically IOLTA - Interest on Lawyers’ Trust Accounts) have incredibly strict compliance rules that can result in disbarment if violated:

Core Requirements:

  • Absolute segregation of client funds from firm operating funds (no commingling whatsoever)
  • Client sub-ledgers tracking each individual client’s balance within the pooled trust account
  • Monthly three-way reconciliation matching bank statement, master trust ledger, and sum of all client sub-ledgers
  • Detailed audit trail for every deposit and disbursement
  • Annual reporting to state bar associations (2026 deadline: March 30 for California CTAPP)

Starting January 1, 2026, new requirements under Business and Professions Code section 6091.3 require attorneys to register the “designated licensee” with their financial institution and state bar when opening trust accounts.

Why I’m Skeptical

Commercial legal practice management software (Clio, MyCase, CosmoLex, TrustBooks, LEAP) all have trust accounting built in specifically because:

  1. They automatically maintain client sub-ledgers
  2. They enforce three-way reconciliation workflows
  3. They generate bar-compliant reports
  4. They have audit trails designed for legal scrutiny
  5. They prevent accidental commingling through forced separation

With Beancount, I can see how you could theoretically:

  • Use account hierarchy (e.g., Assets:Trust:ClientA, Assets:Trust:ClientB)
  • Use metadata to tag transactions by client
  • Write custom queries for reconciliation
  • Maintain strict discipline about never touching trust funds

But here’s my concern: the consequences of failure are severe. Trust account violations can lead to:

  • State bar disciplinary action
  • Suspension or disbarment
  • Malpractice claims
  • Professional liability insurance issues
  • Reputation damage

Questions for the Community

Has anyone actually used Beancount (or any plain text accounting system) for attorney trust account management?

What about for other professional trust accounts (real estate escrow, financial advisors, etc.)?

Am I being overly cautious, or does the plain text approach simply not fit the compliance-heavy legal world?

For context, my friend is a solo practitioner handling family law and estate planning - not high-volume transactions, but definitely needs bulletproof compliance.

I’d love to hear perspectives from both the technical side (can it be done?) and the practical/professional side (should it be done?).

Alice, I think your gut reaction is absolutely correct here, and I’d strongly encourage your attorney friend to stick with purpose-built legal software.

I’ve been using Beancount for 4+ years now for fairly complex personal finances including rental property tracking, investment portfolios, and multi-account structures. I absolutely love plain text accounting for what I do. But trust accounting for attorneys? That’s a completely different beast.

The Risk/Reward Calculation Doesn’t Add Up

Here’s my perspective as someone who pushes Beancount to its limits:

What you’d gain: Cost savings (no subscription fees), version control via Git, complete data ownership, flexibility

What you’d risk: Your law license, malpractice claims, client trust, professional reputation

That’s not a trade-off any reasonable attorney should make, especially when compliant software exists specifically for this purpose.

State Bar Expectations

State bars expect attorneys to use accounting systems that provide:

  • Built-in safeguards against commingling
  • Automated compliance reporting
  • Audit trails that meet legal standards
  • Reconciliation tools designed for three-way matching

When state bar auditors review your trust account (and they do random audits), showing up with a homegrown plain text accounting system is going to raise massive red flags. Even if technically compliant, you’re putting yourself under extra scrutiny.

Where Beancount DOES Make Sense for Lawyers

I’d suggest your attorney friend consider:

  • Beancount for firm operating accounts (business expenses, revenue, payroll) - totally fine!
  • Beancount for personal finances - great choice!
  • Purpose-built legal software for trust accounts - Clio, MyCase, or similar

This gives them the best of both worlds: cost-effective self-hosted accounting where compliance isn’t life-or-death, and specialized compliance software where it matters most.

The “But I’m Disciplined” Trap

I’ve seen smart, detail-oriented people (myself included) think “I’m disciplined enough to handle this manually.” But with trust accounts, one mistake - even an innocent one - can trigger disciplinary action. The bar associations don’t care how good your intentions were.

Trust accounting compliance software exists for the same reason parachute manufacturers exist: yes, you could make your own parachute, but why would you?

Bottom line: Use Beancount for the 90% of legal practice finances where it excels. Use specialized software for the 10% where professional consequences of failure are too high.

Coming from a bookkeeping perspective where I work with 20+ small business clients, I can share some practical challenges I see with using Beancount for trust accounting.

Client Sub-Ledger Tracking Is Non-Trivial

With commercial legal software, when you deposit $5,000 into the trust account for Client Smith, the software:

  1. Records the deposit in the master trust account
  2. Automatically updates Client Smith’s individual sub-ledger
  3. Maintains the sum relationship (all sub-ledgers must equal the master balance)
  4. Prevents you from disbursing more than Client Smith’s balance

With Beancount, you’d need to manually:

  • Create separate accounts or use metadata consistently
  • Write custom queries to verify sub-ledger totals match the master
  • Build your own safeguards against over-disbursing from a client’s balance

That’s a lot of custom tooling for something that’s mission-critical.

Monthly Three-Way Reconciliation Complexity

In my bookkeeping practice, I do monthly reconciliations for all my clients, but trust account reconciliation is uniquely demanding:

Standard bank reconciliation (what I do):

  • Match bank statement to ledger
  • Identify outstanding checks/deposits
  • Done when they match

Trust account three-way reconciliation (what attorneys need):

  • Match bank statement to master trust ledger
  • Sum all individual client balances
  • Verify sum of client balances = master trust ledger = bank balance
  • Document any discrepancies with explanations

Commercial software does this automatically. With Beancount, you’d be writing custom reports and doing manual verification every single month. One typo or metadata mistake could throw everything off.

Where I’d Use Beancount for Lawyers

I’m actually in the process of moving several of my small business clients to Beancount because it gives them transparency and I can use Git for version control. It’s been great for:

  • Regular business revenue and expenses
  • Payroll tracking
  • Accounts receivable/payable
  • Tax preparation

But none of my clients have trust account requirements. If they did, I’d absolutely recommend dedicated legal software for that specific piece.

Alice, I think you’re right to be cautious. The compliance burden is just too high to go with a DIY approach here.

As someone who loves automating and optimizing everything with Beancount (I track investment portfolios, tax-loss harvesting opportunities, FIRE metrics, etc.), I’ve thought about this question from a technical angle.

Technically Possible? Yes. Advisable? Absolutely Not.

Here’s how you could theoretically implement trust accounting in Beancount:

Client Sub-Ledger Approach

; Option 1: Separate accounts per client
2026-03-15 * "Retainer payment from Client Smith"
  Assets:Trust:ClientSmith           5000.00 USD
  Liabilities:Trust:ClientSmith     -5000.00 USD

; Option 2: Metadata tagging
2026-03-15 * "Retainer payment from Client Jones"
  client: "Jones-Family-2026-001"
  Assets:TrustAccount                3500.00 USD
  Liabilities:Trust:Unearned        -3500.00 USD

Custom Reconciliation Queries

You could write BQL queries to:

  • Sum all client balances: SELECT sum(position) WHERE account ~ 'Trust:Client.*'
  • Generate monthly reconciliation reports
  • Flag discrepancies between sub-ledgers and master balance
  • Track client-specific transactions

Compliance Reporting

Python scripts could generate bar-required reports by parsing the ledger for trust account transactions within date ranges.

Why This Is Still a Bad Idea

Maintenance Burden:
Every month, you’re manually running queries, verifying math, and generating reports. One script bug or query error could cause compliance violations.

Audit Risk:
When state bar auditors arrive, explaining “I built my own system using Python and plain text files” doesn’t inspire confidence. They’re looking for industry-standard tools with established audit trails.

Human Error Surface Area:

  • Forget a metadata tag? Client balance is wrong.
  • Typo in account name? Reconciliation fails.
  • Accidentally use Assets:Operating instead of Assets:Trust? That’s commingling.

Commercial trust accounting software has guardrails specifically to prevent these mistakes.

Plain Text Philosophy Meets Regulatory Reality

I’m a huge advocate for plain text accounting - my entire financial life is in Beancount, and I genuinely believe it’s superior for most use cases. But there are domains where the regulatory framework expects specific tooling, and attorneys’ trust accounts are one of them.

The IOLTA compliance requirements evolved specifically because of historical trust account abuse. State bars want lawyers using software that makes it hard to make mistakes, not software that provides flexibility and power.

My Recommendation

Use Beancount for:

  • Law firm operating expenses (100% appropriate)
  • Personal finances (perfect fit)
  • Business analytics and financial planning (great for this)

Use specialized legal practice management software for:

  • Client trust accounts (Clio, MyCase, CosmoLex)
  • Time tracking and billing (integrated with trust accounting)
  • Compliance reporting (designed for bar requirements)

The subscription cost for legal practice management software is a rounding error compared to the risk of trust account violations or malpractice claims.

TL;DR: As much as I love Beancount, compliance software exists for good reason. Don’t let optimization obsession override professional risk management.

Thank you all for such thoughtful and comprehensive responses. This is exactly the kind of reality check I needed.

Community Consensus: Don’t Do It

The unanimous message I’m hearing is clear:

  • Technically possibleprofessionally advisable
  • The risk/reward calculation doesn’t justify plain text accounting for IOLTA compliance
  • State bar auditors expect industry-standard tools
  • One mistake can cost your law license

Mike (helpful_veteran), your parachute analogy is perfect. I’m definitely going to use that when I talk to my attorney friend.

Bob, your point about the three-way reconciliation complexity really drives it home. That monthly process needs to be bulletproof, and commercial software automates exactly that pain point.

Fred, I appreciate you laying out the technical approach even while acknowledging it’s a bad idea. It shows that the limitation isn’t Beancount’s capabilities - it’s the regulatory context and consequences of failure.

My Recommendation to My Friend

I’m going to tell my attorney friend:

For client trust accounts (IOLTA): Use Clio, MyCase, or similar legal practice management software. The $39-89/month subscription is insurance against disbarment. Non-negotiable.

For firm operating accounts: Consider Beancount if you want cost-effective, version-controlled accounting with complete data ownership. Totally appropriate for business expenses, revenue, and tax planning.

For personal finances: Beancount all the way if you’re into that level of tracking.

The March 30 Deadline Reminder

For any attorneys reading this: California’s Client Trust Account Protection Program (CTAPP) reporting deadline is March 30, 2026 (just 2 days away!). Make sure you’ve:

  • Registered your designated licensee with your financial institution
  • Completed your self-assessment
  • Certified compliance with safekeeping rules

Don’t miss this deadline!

Professional Liability Consideration

One thing I didn’t mention in my original post: professional liability insurance. If a trust account violation leads to a malpractice claim and your insurer discovers you were using non-standard software without built-in compliance features, they could potentially deny coverage or argue contributory negligence.

That’s yet another reason to use purpose-built legal software for trust accounting.

Thanks again for the great discussion. I love this community’s ability to be both technically enthusiastic about Beancount AND realistic about where it’s not the right tool for the job.