I’ve been thinking a lot about hiring and training lately, especially given that 40% of CFOs are now hiring outside traditional accounting backgrounds—bringing in people from data science, IT, and other fields. With CPA certifications among CFOs dropping from 55% to 43%, we’re clearly in a new era where accounting expertise comes from diverse paths.
My QuickBooks Training Experiment (That Failed)
Last month, my firm hired a developer with zero accounting background—a career changer wanting to learn bookkeeping. My initial approach was traditional: teach QuickBooks, the industry standard.
I’d explain: “Click here to enter the invoice. The system automatically creates the journal entry behind the scenes.”
They’d ask: “What journal entry? What’s happening under the hood?”
I’d respond: “Don’t worry about that. QuickBooks handles it for you.”
They grew increasingly frustrated: “I want to understand the fundamentals, not just click buttons.”
That’s when I realized: I was teaching software proficiency instead of accounting knowledge.
The Beancount Approach: Teaching Through Transparency
I decided to try something different. I taught double-entry bookkeeping using Beancount, showing actual journal entries in plain text:
2026-01-15 * "Invoice payment received"
Assets:Checking 1000.00 USD
Income:Sales -1000.00 USD
Suddenly, everything changed:
- They could SEE the accounting (not hidden in a GUI)
- Questions became deeper: “Why does income have a negative sign?” (learning about credits)
- Understanding emerged naturally: Reading actual text files showing how transactions flow
- Manual practice built intuition: Writing entries by hand before automation
- Debugging made sense: When something didn’t balance, they could see exactly why
After three months of this approach, I compared learning outcomes:
QuickBooks-trained junior: Can perform tasks but doesn’t understand why. “I know what buttons to click.”
Beancount-trained junior: Understands fundamentals deeply. “I know why transactions must balance and can debug errors.”
The Pedagogy Question: Transparency vs. Abstraction
This experience made me realize: Beancount’s transparency might actually be a superior teaching tool for beginners.
Here’s why plain text worked better:
- No black boxes: Every transaction is visible, traceable, auditable
- Forces understanding: Can’t hide behind GUI abstraction
- Immediate feedback: Text file won’t parse if accounting is wrong
- Aligns with how developers think: Like learning git internals vs GitHub Desktop
- Builds transferable knowledge: Understanding double-entry fundamentals applies to ANY accounting system
The research on accounting education suggests that understanding software requires understanding underlying principles. When we hide those principles behind “user-friendly” interfaces, we might actually slow learning.
The Practical Dilemma
Of course, there’s a catch: most clients still expect QuickBooks familiarity. So I’m now considering a hybrid approach:
- Phase 1 (Months 1-3): Learn accounting fundamentals through Beancount
- Phase 2 (Months 4-6): Apply that understanding to QuickBooks
- Result: Junior staff who understand WHY QuickBooks does what it does
Questions for the Community
I’d love to hear your experiences:
- Have you taught accounting to non-accountants? What approach worked?
- Is transparency better pedagogy than abstraction? Or does it depend on the learner?
- How do we balance fundamental education with industry-standard tools?
- For those who learned Beancount first: Did it help you understand traditional accounting software better?
With nearly 40% of CFOs investing in training programs to bridge skill gaps, and firms increasingly hiring non-traditional candidates, maybe it’s time to rethink how we teach accounting itself.
What do you think? Is Beancount’s plain-text format a better on-ramp for beginners than QuickBooks’ point-and-click interface?
Note: I’m genuinely curious about this pedagogical question. My sample size is small (one person!), so I’d love to hear if others have had similar or different experiences.