The Structural Talent Crisis: Can Beancount Help Firms Do More with Fewer CPAs?

I need to be honest with you all: I’ve spent the last six months trying to hire a senior accountant at Thompson & Associates, and it’s been one of the most frustrating experiences of my 15-year career. Three strong candidates, three offers declined—all for firms offering remote work and 20% higher salaries than I can afford.

I’m not alone. The numbers are staggering and frankly terrifying for our profession.

The Crisis By the Numbers

According to the latest industry reports, 75% of current CPAs are nearing retirement age. Since 2020, over 300,000 accounting professionals have left the field—a 17% workforce shrinkage. And the replacement pipeline? It’s essentially dry.

Today, only 1.4% of college students choose accounting as their major, down from 4% just a decade ago. CPA candidates have dropped 27% over the past ten years. Last academic year alone, accounting degrees fell 6.6%. Firms are now taking an average of 73 days to fill CPA roles—41% longer than comparable non-CPA positions.

The math is brutal: 136,400 annual job openings projected through 2034, and fewer people entering the field every year. This isn’t a temporary labor shortage. This is a structural crisis.

The Automation Question

So everyone’s talking about automation as the solution. AI this, RPA that, “do more with less.” But I keep asking myself: is automation actually the answer, or are we just slapping a tech band-aid on a profession-wide hemorrhage?

Here’s where Beancount enters my thinking.

Plain Text Accounting as a Scaling Strategy

I started experimenting with Beancount two years ago for my own books. What drew me in wasn’t just the open-source philosophy—it was the scalability without vendor lock-in.

When you’re running a lean team, three things matter:

1. Git version control eliminates manual review overhead. Every transaction has a full audit trail. Junior staff can propose changes via pull requests, and I can review the diff before merging. No more “did you check this reconciliation?” conversations—the commit history tells me everything.

2. Python scripting allows one-time automation that scales infinitely. I’ve built importers for every bank and credit card my clients use. Once. They run automatically now. Compare that to QuickBooks where you’re clicking through the same menus for every client, every month.

3. Transparent audit trails reduce compliance burden. When balance assertions fail, I know immediately. When tax season comes, every transaction has documentation. The IRS loves us because our records are pristine—and we spend zero time preparing for potential audits.

What We’re Losing

But let’s not pretend automation solves everything. Smaller teams mean:

  • Less mentorship for newcomers. How do we train the next generation if there aren’t enough people to train them?
  • Higher stress and burnout risk. My team is more productive, but we’re also stretched thin. One person out sick creates a crisis.
  • Relationship strain with clients. Some clients want face time, not efficiency. Automation can’t replace empathy and trust-building.

The 150-hour education requirement isn’t helping either. We’re asking young people to invest an extra year of school for a profession with punishing hours and starting salaries that don’t match the debt burden.

The Real Question

Can Beancount and plain text accounting help firms do more with fewer CPAs? Honestly, I think the answer is yes, but only if we fundamentally rethink what accounting work looks like.

We can’t just automate the old workflows faster. We need to:

  • Design systems where automation handles validation and reporting
  • Train humans to focus on judgment, interpretation, and client relationships
  • Accept that lean teams doing high-value work is the new normal
  • Build communities (like this one!) where knowledge sharing replaces in-house training

What’s Working for You?

I’d love to hear from this community:

  • What Beancount automation has helped you scale?
  • Where do you draw the line between automation and human judgment?
  • How are you training the next generation in this environment?
  • Is plain text accounting a viable path forward, or am I being too optimistic?

Because one thing’s certain: the old model is dying. The question is what we build to replace it.


Alice Thompson, CPA
Thompson & Associates

Alice, you just described my exact experience—except I am on the other side. My practice went from 8 clients to 20 over the past three years, and I have not hired a single person. Not because I do not want to, but because I literally cannot find anyone qualified who is willing to do bookkeeping for what I can afford to pay.

The only reason I survived this growth is Beancount automation. Let me get specific about what made the difference:

What Actually Scaled My Practice

Automated monthly reconciliation scripts: I wrote a Python script that compares my clients’ bank statements (CSV download) against their Beancount ledgers and flags discrepancies. What used to take me 2-3 hours per client now takes 15 minutes of review time. The script does the tedious matching; I handle the exceptions.

Bank import workflows: Every client gets a custom importer tailored to their bank’s CSV format. It took me a weekend to build the first five importers, but now onboarding a new client is copy-paste-modify. Compare that to manually entering transactions or teaching clients how to use proprietary software.

Template-based client onboarding: I have a standard chart of accounts, documentation templates, and setup scripts. New clients get a Git repository, a Fava instance, and training materials. They are up and running in one meeting instead of three.

This is not magic—it is just leveraging the fact that Beancount is plain text and scriptable.

The Human Touch Still Matters

But here is what I want to emphasize: automation handles the data, but humans handle the relationships. My clients do not pay me to categorize transactions. They pay me to:

  • Answer “What does this number mean for my business?”
  • Catch problems before they become expensive
  • Translate financial jargon into plain English
  • Be a trusted advisor, not just a data entry person

Automation freed me to do more of that higher-value work. My clients are happier because I have more time for them, not less.

The Training Problem

Alice, you asked about training the next generation, and honestly, this keeps me up at night. If everything is automated, where do junior bookkeepers learn the fundamentals?

I have been thinking about this a lot. My answer: we need to teach principles, not procedures.

Instead of training someone to reconcile accounts manually for months until they “get it,” what if we taught them:

  • How double-entry accounting works conceptually
  • How to read a balance sheet and income statement
  • How to write a simple Python script to validate transactions
  • How to use Git for financial version control

Then let automation handle the grunt work, and train juniors to interpret results and handle exceptions. The profession needs problem-solvers, not human data processors.

My Big Worry

Are we accidentally creating a two-tier profession? Firms that can afford to build automation infrastructure will thrive with lean teams. Firms that cannot will drown in manual work and lose talent to the innovators.

Beancount levels the playing field a bit because it is free and open-source. But it still requires technical skill that not everyone has.

What do you think—are we building a future where only tech-savvy accountants survive?

Alice and Bob, I have been quietly watching this crisis unfold for the past four years, and your conversation hits close to home. I want to offer some perspective from someone who has watched industries transform.

Software Did This Already

I worked in tech before pivoting to real estate investing, and what you are describing in accounting mirrors what happened in software 15-20 years ago. The industry faced a similar crunch: not enough developers, growing demand, and projects getting bigger and more complex.

How did software scale? Better tools. Version control (Git), automated testing, deployment pipelines, infrastructure as code. Teams got smaller but dramatically more productive.

Accounting can do the same thing—and Beancount is exactly the kind of tool that makes it possible.

Beancount’s Real Superpower

Here is what makes Beancount different from QuickBooks or Xero: the plain text format means anyone can write automation. You do not need vendor permission, expensive consultants, or proprietary APIs.

  • Want to validate client data? Write a Python script.
  • Need a custom report for a specific industry? Write a BQL query.
  • Want to track unusual financial structures? Just model them in plain text.

No vendor lock-in. No subscription fees. No waiting for feature requests. Just scripts and version control.

Bob mentioned the two-tier profession risk, and I think he is right to worry—but I also think Beancount is part of the solution precisely because it is open and scriptable.

The Automation Warning

That said, I have seen firms automate the wrong things. A friend’s accounting firm built elaborate RPA bots to automate QuickBooks data entry… but never questioned whether QuickBooks was the right tool in the first place.

Do not automate bad workflows. Fix the workflow first, then automate.

The beauty of Beancount is that it forces you to think clearly about your accounting structure before you can write a single script. The discipline of plain text makes you confront the underlying logic.

This is Forcing Necessary Innovation

Alice, you called this a crisis, and you are right. But I also think it is forcing innovation that is long overdue.

For decades, accounting has been stuck in a model that does not scale: manually entering transactions, manually reconciling accounts, manually generating reports. The shortage of people is finally making firms ask: why are we doing it this way?

The answer cannot just be “hire more people”—because those people do not exist.

The answer has to be “redesign the work.”

And that is scary, but also exciting. We are building something new here.

What I Would Tell My Younger Self

If I were starting in accounting today, I would:

  1. Learn Beancount and double-entry principles deeply
  2. Get comfortable with Python and basic scripting
  3. Focus on judgment skills that cannot be automated
  4. Build a network in communities like this where knowledge-sharing replaces in-house training

The future belongs to accountants who can bridge finance and technology. Not because they are replacing accountants with code, but because they are using code to amplify their accounting expertise.

The talent shortage is real. But for those willing to adapt, I think the opportunities are enormous.

As a former IRS auditor, I need to add a word of caution to this conversation: quality matters more than quantity, especially in tax work.

I am all for automation—believe me, I have embraced it—but speed without accuracy is dangerous. One misclassified transaction can trigger an audit. One missed deduction can cost a client thousands. One wrong filing status can create years of problems.

That said, I agree with everything Alice and Bob have said about the crisis. And I want to share how Beancount has genuinely helped me serve more clients without sacrificing quality.

Beancount’s Compliance Advantage

The thing that sold me on Beancount for tax preparation work is the built-in audit trail. Every transaction has a date, a description, and supporting documentation links. When balance assertions fail, I know immediately—not at year-end when it is too late.

Compare that to clients who show up in March with a shoebox of receipts and a vague memory of their expenses. Beancount forces discipline throughout the year, which means tax season is data validation, not data archaeology.

Real Numbers from This Tax Season

This year, I prepared 40% more tax returns with the same two-person team. Here is how:

Pre-categorized transactions: Clients using Beancount throughout the year show up with transactions already categorized. I review for accuracy and tax optimization, but I am not starting from zero.

Custom tax report queries: I built BQL queries for every common tax schedule—Schedule C, Schedule E, Form 8949, you name it. One command generates a draft report. I review and refine, but the heavy lifting is done.

Client education through transparency: When clients can see their own financial data in plain text, they ask better questions. “Why is this a business expense but that is personal?” These conversations happen in July, not April 15th.

The quality has not dropped—if anything, it has improved because I have more time to focus on strategy instead of data entry.

The 150-Hour Rule Problem

Bob asked about training the next generation, and I think we also need to talk about the 150-hour education requirement. It is a massive barrier to entry: students must complete an extra year of coursework beyond a bachelor’s degree to sit for the CPA exam.

Could automation reduce this barrier? If we are training accountants to interpret data rather than manually process it, do we really need five years of college plus internships before someone can be useful?

I am not suggesting we lower standards—accuracy and ethics are non-negotiable. But maybe we need to rethink what those standards should measure in 2026.

The Balance Question

So here is my question for this community: what is the right balance between automation and human judgment in tax work?

Clearly, we cannot manually process every transaction anymore—the volume is too high and the people are not there. But we also cannot blindly trust AI categorization or automation output without review.

Where do you draw the line? What should humans always do, and what can we confidently delegate to scripts and automation?

Because I think getting this balance right is critical not just for efficiency, but for maintaining the integrity of the profession.

Thank you all for these thoughtful responses. This is exactly the kind of conversation we need to be having.

Mike, your software industry parallel is spot-on. I have been thinking about this a lot: what made it possible for tech to scale with smaller teams? The answer is not just tools—it is a fundamental shift in how work is structured. Senior developers focus on architecture and code review, junior developers focus on implementation with clear specs and automated testing catching mistakes. Everyone works at the edge of their competence.

Can we build that model in accounting? I think we can, and I think Beancount enables it.

Responding to Tina’s Quality Concern

Tina, you are absolutely right to emphasize quality. Automation should enhance judgment, not replace it. Here is how we are approaching this at Thompson & Associates:

Junior staff focus on what cannot be automated: client communication. Teaching clients how to categorize transactions, understanding their business context, building relationships. These are human skills that matter more than data entry speed.

Beancount handles what computers do best: data validation and reporting. Balance assertions catch errors immediately. Scripts flag unusual patterns. Reports generate on demand. The system does the tedious work.

Senior staff review what matters: anomalies and strategy. I do not review every transaction anymore—I review the exceptions that automation flags. I spend my time on tax strategy, business advice, and complex situations that require professional judgment.

This is not a compromise on quality. It is directing quality attention where it creates the most value.

The Future We Are Building

Bob asked if we are creating a two-tier profession where only tech-savvy accountants survive. I think the answer is yes—but I also think that is not necessarily bad.

Every profession evolves. Doctors use MRIs instead of just stethoscopes. Architects use CAD instead of just drafting tables. Accountants will use automation instead of just spreadsheets.

The question is: will we lead this transition, or will it happen to us?

What This Means in Practice

Here is what I am committing to at Thompson & Associates:

  1. Hire for potential, train for skills. I am done waiting for the perfect candidate who knows everything. I will hire smart people who can learn and teach them Beancount, Python basics, and accounting principles.

  2. Build in public. I am open-sourcing my client importers and report templates. If we are going to solve this as a profession, we need to share knowledge, not hoard it.

  3. Measure differently. Success is not how many transactions we process. It is how many clients we help make better financial decisions. Automation should free us to do more of that.

  4. Accept that lean teams doing high-value work is the new normal. I am not going to keep trying to staff like it is 2010. The world changed, and I need to change with it.

The Bigger Picture

The talent shortage is not temporary. The 75% retirement wave, the 1.4% of students choosing accounting, the 300,000 professionals who left the field—these are structural changes, not blips.

Our approach cannot be temporary either.

We need to fundamentally rethink:

  • What accounting work looks like (more judgment, less data entry)
  • How we train people (principles over procedures, as Bob said)
  • What tools we use (open, scriptable, transparent)
  • How we define success (value created, not hours billed)

I think Beancount and plain text accounting are part of this answer. Not because they are perfect, but because they force us to think clearly, automate deliberately, and maintain full transparency.

The old model is dying. What we build to replace it will define the profession for the next generation.

Let’s make sure we build something worth inheriting.