Skip to main content

3 posts tagged with "financial health"

View All Tags

Ten Bookkeeping Tips to Supercharge Your Beancount Workflow

· 6 min read
Mike Thrift
Mike Thrift
Marketing Manager

Great therapy for your business is a calm, balanced ledger. The following tips condense the latest small‑business guidance into a Beancount‑friendly routine.

Maintaining a pristine set of books isn't just about surviving tax season; it's about understanding the financial health of your business in real time. For users of a plain-text accounting system like Beancount, good habits are the engine that transforms a simple ledger into a powerful tool for insight and growth. The following ten tips are designed to refine your process, save you time, and keep your financial data clean, auditable, and ready for action.

2024-09-12-bookkeeping-basics-for-therapists-with-beancount

1. Separate Business and Personal Money

This is the golden rule of business finance for a reason. Maintaining a dedicated checking account and credit card for your practice is the cleanest way to draw a line between your business and personal life. It drastically simplifies tax preparation, provides a clear audit trail, and helps protect your personal assets from business liabilities. In Beancount, this means your transactions are cleanly sorted from the start—no more trying to remember if that coffee purchase was a client meeting or a personal expense.

2. Pick Cash or Accrual Early—Then Stick to It

Your accounting method determines when you record income and expenses. The IRS allows most small businesses to choose between the cash or accrual method.

  • Cash basis: You record income when money hits your account and expenses when money leaves it. It’s simple and ideal for businesses with straightforward, immediate transactions.
  • Accrual basis: You record income when you earn it (e.g., when you provide a service) and expenses when you incur them, regardless of when cash changes hands. This provides a more accurate picture of profitability, especially if you manage invoices or insurance claims with delayed payments.

The key is to choose one method early and apply it consistently. You can even declare your choice in your ledger using Beancount's options block to formalize the decision.

3. Reconcile on a Cadence

Reconciliation is the process of matching the transactions in your Beancount ledger against your official bank and credit card statements. Performing this check on a regular cadence—whether weekly or monthly—is a crucial habit. It allows you to catch bank fees, spot potential fraud, and identify any data import errors before they compound into a major headache. A quick command can show you the balance to check against your statement.

bean-balance books.bean "Assets:Bank" -e 2025-07-31

4. Automate Imports Wherever Possible

Your time is better spent serving clients than manually typing transaction data. Beancount’s ecosystem shines here. Use tools like bean-extract to create configurations that read CSV files from your bank, payment processor (like Stripe or Square), or EHR system. Once set up, these scripts can automatically convert raw data into formatted Beancount entries, dramatically reducing typos and freeing up hours of administrative work.

5. Categorize Immediately—Not at Tax Time

Procrastinating on categorization is a recipe for stress and inaccuracy. When a transaction enters your ledger, assign it to the correct account immediately (e.g., Income:Therapy:SelfPay, Expenses:Software:EHR, Expenses:CEU). Doing this in real-time ensures you correctly remember the context of each expense. A well-defined chart of accounts makes this process fast and consistent, turning your ledger into a rich, real-time report on your business operations.

6. Save Digital Copies of Every Receipt & EOB

Paper receipts fade and get lost. A digital-first approach is more resilient and efficient. Scan paper receipts or save PDF invoices and Explanations of Benefits (EOBs) to a secure, organized folder on your computer. With Beancount, you can link directly to these files from within your ledger using metadata.

2025-07-15 * "CEU webinar"
Expenses:CEU 79.00 USD
Assets:Bank:Practice
document: "docs/ceu/2025-07-15-trauma-webinar.pdf"

This creates an unimpeachable, self-contained record that is invaluable during a tax audit.

Knowing your current bank balance is good; understanding the flow of money in and out of your business is better. Use Beancount's powerful query language to analyze your financial trends. Chart your monthly income versus expenses, identify your most profitable services, or forecast potential cash crunches during slower months. This proactive approach, recommended by top bookkeeping guides, allows you to make strategic decisions rather than reacting to financial surprises.

8. Back Up & Version-Control Your Ledger

Since your Beancount ledger is a simple text file, you can use Git—a powerful, free version control system—to manage it. By keeping your ledger in a private Git repository (on a service like GitHub or GitLab), you get two critical benefits for free:

  1. A complete history: You can see every change ever made to your ledger.
  2. An off-site backup: Your data is safe from local hardware failure.

Make it a habit to "push" your changes after every reconciliation session.

9. Review Financial Statements Monthly

Don't wait for your accountant to tell you how your business is doing. At the end of each month, use Beancount's reporting tools to generate key financial statements like an income statement and a balance sheet. Compare them to the previous month or the same month last year. This regular review helps you spot spending leaks, evaluate your pricing, and build the financial literacy needed to answer questions from lenders or investors with confidence.

bean-report books.bean income_statement -e 2025-07-31

10. Budget for Taxes Year‑Round

For a self-employed professional, tax day should never be a surprise. Treat your future tax bill as a recurring expense. Create liability accounts in Beancount (e.g., Liabilities:Tax:Federal, Liabilities:Tax:State) and regularly transfer a percentage of every payment you receive into these virtual buckets. When it's time to make your quarterly estimated tax payments, the money will be set aside and waiting, making the process entirely painless.


Quick‑Start Checklist

  • Open separate practice bank accounts.
  • Choose cash or accrual and record it in your options.
  • Script your bank & EHR CSV imports with bean-extract.
  • Tag every transaction with a category upon arrival.
  • Reconcile weekly; back up to your private Git repo after.
  • Run monthly statements & cash-flow queries.
  • Transfer a tax buffer to a separate high-yield savings account.

Ready to calm your books?

Install Beancount, commit your first entry, and let these ten habits provide the structure needed to keep your therapy practice financially grounded and insight-rich. Happy bean-keeping!

Bookkeeping Basics for Therapists with Beancount

· 7 min read
Mike Thrift
Mike Thrift
Marketing Manager

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.

2024-08-24-bookkeeping-basics-for-therapists-with-beancount

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.

PitfallFix
Net-deposit accounting (lumps all income/fees)Split each insurance check into income and write‑off lines.
Forgetting no‑show feesPost a separate income line tagged noshow for clarity.
Mixing CEU and travel costsBreak out Expenses:CEU vs. Expenses:Travel—both are deductible but tracked differently.
Ignoring Accounts Receivable agingQuery 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

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!

Adjusting Entries in Beancount: Your Month-End Tune-Up

· 4 min read
Mike Thrift
Mike Thrift
Marketing Manager

Accounting isn’t finished when the last sale hits the bank. To get a true picture of your business's health, you need to perform a month-end tune-up. At every period close, you'll make adjusting entries—journal tweaks that correctly place revenues and expenses in the proper time window and keep your balance sheet honest.

In a plain‑text Beancount ledger, these crucial entries are transparent, version‑controlled, and easy to audit, turning a tedious task into a clear and repeatable process.

2022-01-25-adjusting-entries-in-beancount-your-month-end-tune-up


Why Adjusting Entries Matter

Making these adjustments is fundamental to sound accounting. They ensure your financial statements are accurate and reliable.

  • Accrual Accuracy: Adjusting entries are the engine of accrual accounting. They move income and costs into the period they were actually earned or incurred, regardless of when cash changed hands. This satisfies the core revenue-recognition and matching principles that form the foundation of modern accounting (AccountingCoach.com).

  • Reliable KPIs: Key performance indicators are only as good as the data behind them. Metrics like gross margin, net income, and cash-flow forecasts only tell the truth once deferrals, accruals, and estimates are properly posted (Corporate Finance Institute).

  • Clean Audit Trail: Explicit month‑end adjustments create a clear record of your financial reasoning. This helps auditors (and your future self) easily trace what changed and why, building confidence in your numbers (Accountingverse).


Six Common Categories (with Beancount Snippets)

Here are the six most common types of adjusting entries, with examples of how to record them in your Beancount ledger. Notice the use of metadata like adj:"accrual" to make these entries easy to find and analyze later.

1. Accrued Revenue

This is for revenue you've earned but haven't yet billed or received payment for.

2025-07-31 * "Consulting—July hours"
Assets:AccountsReceivable 12000.00 USD
Income:Consulting
; adj:"accrual" period:"Jul-25"

2. Accrued Expense

An expense you've incurred but haven't yet paid, like a utility bill that will arrive next month.

2025-07-31 * "Attorney—July retainer"
Expenses:Legal 2500.00 USD
Liabilities:AccruedPayables
; adj:"accrual"

3. Deferred (Unearned) Revenue

This applies when a client pays you in advance. You recognize a portion of that revenue as it's earned over time.

2025-07-31 * "Annual SaaS prepayment (recognize 1/12)"
Liabilities:UnearnedRevenue 833.33 USD
Income:SaaS
; adj:"deferral"

4. Prepaid (Deferred) Expense

When you pay for an expense upfront (like an annual insurance policy), you expense a portion of it each month.

2025-07-31 * "Insurance—1 mo. expense from prepaid"
Expenses:Insurance 400.00 USD
Assets:PrepaidInsurance
; adj:"deferral"

5. Depreciation & Amortization

This entry allocates the cost of a long-term asset (like a computer or vehicle) over its useful life.

2025-07-31 * "Mac Studio depreciation"
Expenses:Depreciation 1250.00 USD
Assets:Computers:AccumDepr
; asset_id:"MAC-03" adj:"estimate"

6. Allowance for Doubtful Accounts

An estimate of accounts receivable that you don't expect to collect, which is recorded as a bad debt expense.

2025-07-31 * "Bad-debt provision (2% of A/R)"
Expenses:BadDebt 700.00 USD
Assets:AllowanceForBadDebt
; basis:"A/R" rate:0.02 adj:"estimate"

A Repeatable Workflow

To keep your month-end close efficient and error-free, adopt a consistent workflow.

  • Use a separate file. Keep all adjustments for a period in one place, like adjustments-2025-07.bean. In your main ledger file, use an include directive to import it last. This ensures adjustments are applied just before you generate final reports.

  • Standardize your metadata. Always use consistent metadata keys and values, like adj:"accrual|deferral|estimate" and period:"Jul-25". This makes querying and reviewing specific types of adjustments a breeze.

  • Run a pre-flight check. Before committing your changes to Git, run bean-check on your adjustments file to catch any typos or unbalanced postings.

  • Perform a one-line sanity check. This query confirms that all your adjustments for the period balance out, giving you confidence that you haven't introduced errors.

    bean-query main.bean "SELECT account, SUM(number) WHERE meta('adj') AND meta('period') = 'Jul-25' GROUP BY account"

Quick Troubleshooting Tips 🤔

  • Is your Liabilities:UnearnedRevenue balance climbing? Review your contract milestones. You might be recognizing revenue too slowly compared to the work you're delivering.

  • Is your Assets:PrepaidInsurance balance negative? You're likely expensing it faster than the asset's schedule allows. Double-check your amortization schedule.

  • Is your Days Sales Outstanding (DSO) getting worse after accruals? Your accrued revenue might be masking underlying collection issues. Pair this KPI with an A/R aging report to spot late-paying clients before it becomes a cash-flow problem.


Closing Thoughts

Adjusting entries can feel tedious, but their value becomes crystal clear when you compare your "before" and "after" income statements—the difference is often material. With Beancount, these adjustments become small, searchable patches that you can automate and review just like code.

Build the month-end habit, and your numbers will stay as accurate as your engineering.

Happy balancing!