Bookkeeping Basics for Therapists with Beancount
Therapy is about listening; bookkeeping is about listening to your money. When session notes pile up and reimbursements lag, a transparent set of books becomes the calm in the chaos.
Running a private practice means wearing two hats: clinician and business owner. While your expertise lies in providing care, the financial health of your practice depends on clear, consistent bookkeeping. For therapists, this task comes with its own unique set of challenges.
Why Therapy Bookkeeping Feels Different
The financial rhythm of a therapy practice rarely follows a simple, predictable pattern. This complexity stems from a few key areas that make standard bookkeeping software often feel like a poor fit.
- Irregular cash‑flow. Your revenue stream is rarely linear. A client's copay might land in your account today, but the corresponding insurance reimbursement could take weeks or even months to arrive. Add in sliding-scale payment plans, and you're managing cash that arrives on vastly different timelines. This makes it crucial to understand the difference between when you earn money (accrual accounting) versus when you receive it (cash accounting).
- A soup of fees. The expenses of running a modern practice add up quickly. From Electronic Health Record (EHR) subscriptions and payment processing fees to liability insurance and professional development, numerous small costs can quietly eat into your profit margins if not tracked meticulously.
- Sales‑tax proof but self‑employment heavy. While most mental health services are exempt from sales tax, you’re not off the hook with the IRS. As a self-employed professional, you're responsible for paying quarterly estimated taxes, which include both income tax and self-employment taxes (SECA) to cover Social Security and Medicare.
- HIPAA sensitivity. Your financial data is intertwined with Protected Health Information (PHI). Using third-party cloud software for bookkeeping can expand your practice's "attack surface," creating another potential vector for data leaks. A plain-text accounting system like Beancount keeps all your data on your own computer, under your control, reducing this risk.
A Seven‑Step Beancount Blueprint
Beancount is a powerful, open-source accounting system that uses plain-text files. It’s free, private, and flexible enough to handle the unique financial landscape of a therapy practice. Here’s how to get started.
• Separate Personal and Practice Funds
This is the non-negotiable first step of business finance. Open a dedicated business checking account and a business credit card. From now on, every client payment goes into this account, and every business expense—from licensure fees to office supplies—is paid from these funds. In Beancount, you can designate these easily, creating a clear boundary: every transaction is either personal or practice-related, eliminating the guesswork. For example, your new account becomes Assets:Bank:Practice
.
• Build a Therapist‑Friendly Chart of Accounts
A "chart of accounts" is simply a list of all the categories you use to organize your financial transactions. Think of it as the filing system for your money. You’ll start with the five main account types: Assets, Liabilities, Equity, Income, and Expenses. Then, you can create sub-accounts tailored specifically to your therapy practice.
2025-07-23 open Income:Therapy:SelfPay USD
2025-07-23 open Income:Therapy:Insurance USD
2025-07-23 open Assets:AccountsReceivable USD
2025-07-23 open Expenses:CEU USD
2025-07-23 open Expenses:Software:EHR USD
2025-07-23 open Expenses:Licensing USD
This structure allows you to see exactly where your money is coming from (self-pay vs. insurance) and where it's going (continuing education, software, etc.). This mirrors best-practice charts published for mental-health professionals.
• Choose Cash or Accrual (and Stick to It)
You need to decide when to recognize your income and expenses.
- Cash method: You record income when you receive the cash and expenses when you pay them.
- Accrual method: You record income when you earn it (e.g., when a session is completed) and expenses when you incur them, regardless of when money changes hands.
For example, if a client prepays $1000
for a five-session package, the cash method records the full $1000
income on the day of payment. The accrual method would record $200
of revenue after each completed session, giving you a more accurate picture of your monthly earnings.
Rule of thumb: Solo practice, few insurance claims → cash is simpler and often sufficient. Group practice, heavy reimbursements → accrual gives a clearer picture of profitability.
• Track Receivables & Reimbursements
One of Beancount's greatest strengths is its ability to track money you're owed. When you submit an insurance claim, you haven't been paid yet, but you've earned the income. You can record this in your Assets:AccountsReceivable
account. When the payment arrives (often for a lower amount than billed), you can "settle" the receivable and account for the insurance write-off.
2025-07-10 * "Session CPT 90837 – pending BlueCross"
Assets:AccountsReceivable 150.00 USD
Income:Therapy:Insurance
2025-07-25 * "BlueCross payment CPT 90837"
Assets:Bank:Practice 135.00 USD
Expenses:InsuranceWriteOff 15.00 USD
Assets:AccountsReceivable -150.00 USD
This two-step process ensures you never lose track of outstanding claims and have a precise record of insurance adjustments.
• Categorize Deductible Expenses Promptly
Staying on top of your expenses is key to minimizing your tax bill. The IRS allows you to deduct expenses that are "ordinary and necessary" for your profession. For therapists, this includes continuing education (CEU) courses, state-mandated supervision, license renewal fees, liability insurance, and EHR subscriptions. By categorizing these expenses as you incur them, you'll have an accurate, year-to-date total ready for your quarterly tax estimates and year-end filing.
• Reconcile Weekly
Reconciliation is the process of matching the transactions in your Beancount ledger to your bank and credit card statements. It confirms that your records are accurate and complete. A quick weekly check-in can prevent small errors from becoming large headaches. With Beancount, a few simple commands in your terminal are all you need.
# Check the final balance of your practice bank account
bean-balance books.bean "Assets:Bank:Practice"
# See a summary of your income sources
bean-query books.bean "SELECT account, SUM(position) WHERE account ~ 'Income' GROUP BY account"
# Generate an income statement for the year to date
bean-report books.bean income_statement --end 2025-07-23
This simple loop—categorize, reconcile, and report—is the foundation of sound financial management for any private practice.
• Automate & Back Up
Embrace automation to save time and reduce errors.
- Use an extractor tool like
bean-extract
to automatically convert CSV files from your bank or EHR into Beancount transaction entries. - Store PDFs of important documents like Explanation of Benefits (EOBs) or CEU certificates in a dedicated folder and link them directly to the relevant transaction in your ledger using
document:
metadata. - Your
.bean
ledger is a simple text file, making it perfect for version control. Push your ledger to a private Git repository (like on GitHub or GitLab) nightly for a secure, off-site backup.
Common Pitfalls (and Quick Fixes)
Even with a good system, a few common mistakes can trip up therapists. Here's how to spot and fix them.
Pitfall | Fix |
---|---|
Net-deposit accounting (lumps all income/fees) | Split each insurance check into income and write‑off lines. |
Forgetting no‑show fees | Post a separate income line tagged noshow for clarity. |
Mixing CEU and travel costs | Break out Expenses:CEU vs. Expenses:Travel —both are deductible but tracked differently. |
Ignoring Accounts Receivable aging | Query Assets:AccountsReceivable by date to chase stale claims. |
Quick‑Start Checklist
- Open a practice-only bank account & credit card.
- Clone the Beancount starter repository and create your therapy-specific chart of accounts.
- Decide on a cash or accrual basis and note it in your Beancount options.
- Write a simple importer configuration for your bank, EHR, or insurance CSV downloads.
- Schedule a recurring "Bean-hour" (perhaps on Friday afternoons) for your import → reconcile → report workflow.
- Set up automated, off-site backups for your
.bean
files and test the restore process once a quarter.
Further Reading
- IRS Topic 513 — Work‑Related Education Expenses (for CEU deductions)
- The Complete Guide to Bookkeeping for Therapists (industry overview)
Ready to quiet the financial noise? Install Beancount, record your first session fee, and let the clarity of plain-text accounting give your practice the headspace and financial stability it deserves. Happy bean-keeping!