Skip to main content

4 posts tagged with "financial health"

View all tags

Is Your Small Business Financially Healthy? A Practical, Plain-Text Accounting Checklist for Beancount Users

· 9 min read
Mike Thrift
Mike Thrift
Marketing Manager

As a founder, you live and breathe your product, your customers, and your team. But are you just as connected to the financial pulse of your business? Financial health can feel like a complex topic reserved for accountants, but it really comes down to four pillars: liquidity, profitability, insolvency, and operational efficiency.

This article provides a concise, founder-friendly checklist you can run monthly or quarterly to get a clear picture of where you stand. Best of all, it’s designed specifically for users of the plain-text accounting tool Beancount, showing you exactly where to look and what to track.

2025-09-07-is-your-small-business-financially-healthy

Beancount Tip: Fava, the web interface for Beancount, is your command center for this checklist. Its built-in Income Statement, Balance Sheet, and Holdings reports, combined with its query capabilities, provide everything you need to check these metrics fast.


The 12-Question Financial Health Check

1) Do you have enough cash to sleep at night?

  • What to look at: Your cash reserve. The common rule of thumb is to hold 3 to 6 months of operating expenses in cash or highly liquid assets. Adjust this target based on your business’s volatility, seasonality, and growth plans.
  • Why it matters: A healthy cash buffer allows your business to absorb unexpected shocks—a lost client, a market downturn, a supply chain delay—without resorting to expensive, reactive financing. It's the foundation of financial peace of mind.
  • Where to check in Beancount: In Fava, navigate to the Balance Sheet and sum the balances in your Assets:Bank:* accounts, plus any short-term liquid investments you hold.

2) Is today’s liquidity solid?

  • What to look at: The Current Ratio (Current Assets / Current Liabilities). For an even stricter view, use the Quick Ratio (or "Acid Test"), which excludes inventory from current assets. A ratio above 1.0 is generally considered stable, but this varies by industry.
  • Why it matters: These ratios gauge your ability to cover all your short-term obligations (like payroll and supplier bills) using only your short-term assets. They answer the critical question: "If we had to pay all our upcoming bills right now, could we do it without distress?"
  • Where to check in Beancount: Your Balance Sheet in Fava provides all the necessary figures. To make this easy, ensure you are tracking Assets:Receivables, Assets:Inventory, and Liabilities:Payables in separate sub-accounts.

3) Are you consistently profitable?

  • What to look at: The Net Income on your Income Statement. More importantly, look at the trend. Is it positive and growing month-over-month or quarter-over-quarter?
  • Why it matters: Profit is the engine of your business. It funds growth, attracts investment, and provides the ultimate cushion against downturns. Consistent profitability is the clearest sign of a sustainable business model.
  • Where to check in Beancount: Go to the Income Statement in Fava. (Pro-tip: consider enabling Fava’s option to invert income signs, which many find more intuitive for reading financial reports.)

4) Are gross margins holding (or improving)?

  • What to look at: Your Gross Margin Percentage, calculated as (Revenue − COGS) / Revenue. COGS, or Cost of Goods Sold, is typically Beginning Inventory + Purchases − Ending Inventory.
  • Why it matters: Gross margin reflects the profitability of your core product or service before overhead. A shrinking margin is a major red flag, often signaling issues with pricing power, discounting pressure, or rising supply costs.
  • Where to check in Beancount: Categorize all direct costs under Expenses:COGS:*. You can then review your margin directly on Fava’s Income Statement.

5) Are you collecting on time? (DSO)

  • What to look at: Days Sales Outstanding (DSO), which is approximately (Accounts Receivable / Total Credit Sales) × Number of Days. This tells you the average number of days it takes to collect payment after a sale.
  • Why it matters: A high DSO means your cash is trapped in your customers' bank accounts, tightening your own cash flow. Efficient collections are crucial for maintaining liquidity.
  • Where to check in Beancount: Track invoices using metadata (e.g., invoice: "INV-123" and customer: "AcmeCorp"). You can then monitor the total A/R balance on Fava’s Balance Sheet.

6) Are you turning inventory efficiently?

  • What to look at: Inventory Turnover, calculated as COGS / Average Inventory. This measures how many times you sell and replace your inventory over a period. You can also track Days Sales of Inventory (DSI) to see how many days stock sits on the shelf.
  • Why it matters: Slow-moving inventory ties up cash that could be used elsewhere. Conversely, turning inventory too quickly can lead to stockouts and lost sales. Finding the right balance is key.
  • Where to check in Beancount: Use Beancount’s built-in inventory lot tracking to manage cost basis and quantities accurately. You can then review your current positions in Fava under Holdings.

7) How fast do you turn cash? (CCC)

  • What to look at: The Cash Conversion Cycle (CCC), calculated as DSI + DSO − DPO (Days Payable Outstanding). It measures the time between paying for inventory/supplies and receiving cash from customers.
  • Why it matters: A shorter CCC means your business needs less external capital to operate and grow. A negative CCC (common in businesses like Dell or Amazon) means your customers pay you before you have to pay your suppliers—a powerful position for liquidity.
  • Where to check in Beancount: With DSI and DSO already tracked, the final piece is DPO, which you can derive from your Liabilities:Payables account. Reviewing this trend quarterly is sufficient for most businesses.

8) Can you comfortably service your debt? (DSCR)

  • What to look at: The Debt Service Coverage Ratio (DSCR), calculated as Net Operating Income / Total Debt Service. Many lenders, including for SBA loans, look for a ratio of 1.25 or higher.
  • Why it matters: This ratio signals your ability to make your loan payments from the cash your business generates. A healthy DSCR is critical for maintaining good relationships with lenders and avoiding breaches of loan covenants.
  • Where to check in Beancount: Tag your loan payments (both principal and interest). You can use a query or manually summarize your total debt service for the period and compare it to your operating income from the Income Statement.

9) Is leverage appropriate for your business model?

  • What to look at: Your Debt-to-Equity ratio and overall Working Capital. Don't just look at a single number; analyze the trend over several quarters.
  • Why it matters: Debt can be a powerful tool for financing growth, but it also introduces risk. The right level of leverage depends on your industry and risk tolerance. Are you taking on debt faster than you're growing equity?
  • Where to check in Beancount: Fava’s Balance Sheet clearly lays out your total liabilities versus your total equity.

10) How concentrated is your revenue?

  • What to look at: The percentage of total revenue coming from your top 1, 3, or 5 customers. Many practitioners flag a risk when a single customer accounts for 10-20% or more of your revenue.
  • Why it matters: Over-reliance on a few large clients magnifies churn risk and can weaken your pricing power. Diversification creates a more resilient business.
  • Where to check in Beancount: This is where metadata shines. Add a customer: tag to every income posting. You can then use Fava's filtering or Beancount's query language to pivot revenue by customer.

11) Do your unit economics work?

  • What to look at: The Contribution Margin for each product or service line (Revenue - All Variable Costs).
  • Why it matters: This tells you if scaling a particular offering will add cash to your bottom line or just burn through it faster. If the contribution margin is negative, you lose money on every additional sale.
  • Where to check in Beancount: Track variable costs and revenue with specific metadata tags like product: "Widget-A" or channel: "Retail". This allows you to slice and dice your data with queries to calculate profitability at a granular level.

12) Are your books clean and audit-ready?

  • What to look at: Do you have clear documentation, a consistent chart of accounts, and are you retaining records for as long as the IRS recommends?
  • Why it matters: Clean books reduce errors, dramatically speed up tax preparation, and are essential for securing financing or passing due diligence if you ever sell your company.
  • Where to check in Beancount: Use invoice: and document: metadata, and leverage Fava’s ability to link directly to source documents (like PDFs of receipts or invoices) to keep proof organized and accessible.

A One-Hour Monthly Financial Ritual

Turn this checklist into a routine. Block out one hour on the first business day of each month to perform this health check.

  • (15 min) — Cash & Runway: Confirm your cash balance. Review upcoming major payables and expected inflows from receivables. Re-validate that you still have your 3–6 month buffer.
  • (15 min) — P&L Review: Scan your net income and, most importantly, your gross margin trend. Did margins dip? If so, investigate whether it was due to discounting, returns, or higher COGS.
  • (15 min) — Working Capital Check: Quickly glance at your DSO, inventory turnover, and DPO. Calculate your CCC. Identify any actions needed, like following up on late invoices or adjusting inventory reorder points.
  • (15 min) — Solvency & Risk: Check your DSCR if you have debt. Review any changes in your Debt-to-Equity ratio and revenue concentration. Are any trends moving in the wrong direction?

Final Reminders

  • Benchmarks vary by industry. A "good" current ratio for a SaaS business is very different from that of a retail store. Compare your metrics against your own history first, and then against industry peers.
  • Trends beat snapshots. A single data point can be misleading. Charting your key ratios over 6–12 months will reveal the true direction of your business.
  • Plain-text wins. The beauty of Beancount is transparency. If a number on a report looks off, you can drill down to the exact plain-text transaction in seconds. This puts you in complete control of your own financial narrative.

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

· 5 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!