I need to get something off my chest: I’m turning away clients, and it breaks my heart.
Not because I don’t want the work—I do. Not because the rates aren’t good enough—they are. I’m turning away clients because there simply aren’t enough of us to go around.
The Crisis Is Real
If you’re in accounting or bookkeeping, you already know what I’m talking about. If you’re not, here are the numbers that keep me up at night:
- CPA candidates are down 27% over the past decade
- 62% of accounting firms are struggling to hire and retain qualified professionals
- 75% of current CPAs are Baby Boomers approaching retirement
- Only 1.4% of college students now choose accounting as their major (down from 4% just a decade ago)
The result? I’ve got a waiting list. My colleagues have waiting lists. And according to the data, 640 U.S. companies reported internal control weaknesses in 2023-2024 specifically due to accounting staff shortages.
The Pressure on Those of Us Left Standing
Here’s what it means on the ground: we’re all doing more with less. I’m handling 20+ small business clients right now, and each one deserves more attention than I can give. The manual work—receipt processing, bank reconciliation, report generation—consumes time that should go toward actually helping clients understand their finances.
Meanwhile, client expectations haven’t decreased just because our profession is shrinking. They want real-time dashboards, instant responses, and strategic advice. And honestly? They deserve all that.
Enter Plain Text Accounting
This is where my Beancount journey started—not as a philosophical choice, but as a survival strategy.
Here’s what I’ve discovered over the past 18 months of converting clients to plain text accounting:
1. Automation That Actually Works
I’ve cut my monthly close time from 8-10 hours per client down to 2-3 hours. Not by working faster, but by scripting the repetitive stuff:
- Bank CSV imports → automated Python script (15 minutes to set up per bank)
- Receipt categorization → custom importer with 95% accuracy
- Monthly report generation → same Beancount query every month, runs in seconds
- Reconciliation → balance assertions catch errors immediately
2. Version Control = Fewer Mistakes
Every client’s books live in a Git repository. That means:
- I can see exactly when any entry was made or changed
- Clients can review changes in plain English
- If something breaks, I can roll back to last week
- Training new team members is easier—they can literally read the diff
3. Scriptability = Scalability
This is the big one. With QuickBooks or Xero, I’m limited by the speed of clicking through interfaces. With Beancount, I write a script once and run it forever.
Example: I have a client who pays 30 subcontractors monthly. Used to take me 90 minutes to process all the payments, categorize, and reconcile. Now? 5 minutes to run the script, 10 minutes to spot-check the output.
4. Client Education
When clients ask “where did this number come from?” I can show them the actual transaction in human-readable format. No mysterious SQL database, no proprietary file format—just plain text they can understand.
They get it. And when clients understand their books, they make better decisions.
The Trade-offs (Let’s Be Honest)
I’m not here to oversell plain text accounting. There are real costs:
- Learning curve: Took me about 6 weeks to feel comfortable, 3 months to feel proficient
- Initial setup time: First client migration took me 20 hours. Now I can do it in 4-6 hours
- Not for everyone: Some clients need real-time collaborative editing or mobile apps—Beancount isn’t that
- You need basic coding skills: At least comfortable with the command line and basic Python
But Here’s the Question for This Community
The accountant shortage isn’t going away. The profession needs 75,000 new CPAs just to replace retirees, and we’re producing nowhere near that number.
So what do we do?
For me, plain text accounting has been a lifeline. It’s let me maintain quality for 20 clients instead of the 12-15 I could handle manually. It’s turned me from a data entry specialist into an actual financial advisor.
But I want to hear from you:
- How are you handling capacity constraints? What’s working?
- Have you found automation workflows that meaningfully save time without sacrificing accuracy?
- Do you think tools like Beancount can make a real dent in the shortage, or are we just rearranging deck chairs?
- For those skeptical of plain text: What am I missing? Where does this approach fall short?
The shortage is forcing us all to innovate. I’d love to learn what’s working for others in this community.
Because at the end of the day, there are businesses out there that need our help, and there aren’t enough of us to provide it. We’ve got to find ways to do more with less—or a lot of small businesses are going to suffer.
What are your thoughts?