hledger Documentation Says “Build Your Own Budget Reports”—Is This Empowering or Gatekeeping?
I’ve been wrestling with this question as I transition more of my small business clients to plain text accounting. The hledger documentation is thorough and technically excellent, but I’m noticing a pattern that concerns me from an accessibility standpoint.
The Core Philosophy Question
hledger’s approach emphasizes flexibility over convenience—you build custom reports tailored to your exact needs rather than accepting vendor assumptions. As a CPA, I appreciate this deeply. Every client has unique reporting requirements, and the ability to script custom solutions is invaluable.
But here’s what happened last month: A potential client (small nonprofit, $300K budget) asked about my services. When I explained that I use plain text accounting with custom reporting scripts, they responded: “That sounds very technical. What if something happens to you? Can anyone else maintain this?”
Is “Build Your Own” Accessible to Professional Practices?
From my perspective as someone managing multiple client books:
Where it works brilliantly:
- Custom grant reports with specific funder requirements
- Multi-dimensional analysis (program × grant × time period)
- Automated reconciliation workflows
- Version-controlled audit trails
Where it creates barriers:
- Training staff on scripting (my junior bookkeeper knows QuickBooks, not bash)
- Client comfort level (they want to see dashboards, not terminal output)
- Business continuity (if I’m unavailable, can someone else access the reports?)
- Professional credibility (explaining “I write Python scripts” sounds less established than “I use QuickBooks”)
The Comparison That Keeps Coming Up
One of my tech-savvy clients compared this to software development. They said: “In our company, we have power users who write SQL queries, and business users who click buttons in Tableau. Both access the same data, just different interfaces.”
That resonated with me. Maybe the question isn’t “should hledger be easier?” but rather “should we build layered interfaces?”
Four Possible Directions
(A) Preserve Technical Focus — Plain text accounting is inherently a tool for technically-minded practitioners. That’s our niche, and we should embrace it.
(B) Create Standardized Templates — Develop well-documented starter kits for common scenarios (freelancer, small business, nonprofit) that practitioners can customize incrementally.
(C) Build Progressive Interfaces — Develop tools like Fava plugins that generate queries from form inputs, while still allowing direct scripting for power users.
(D) Accept Limited Adoption — Acknowledge that plain text accounting serves a specific market (technical users, specialized bookkeepers) and won’t replace mainstream tools.
What I’m Currently Doing
I’ve adopted a hybrid approach:
- Backend: Beancount with custom Python scripts for all the heavy lifting
- Client-Facing: Fava dashboard for basic browsing, automated PDF reports for monthly statements
- My Workflow: Terminal and scripts for daily work
This works, but it requires maintaining two interfaces. I’m essentially building the “wizard layer” myself for each client.
The Professional Development Question
Here’s what worries me: I want to hire help. But training someone on plain text accounting requires:
- Basic bookkeeping knowledge (standard)
- Command-line comfort (barrier)
- Understanding of scripting/automation (significant barrier)
Versus QuickBooks where I need:
- Basic bookkeeping knowledge
- Point-and-click UI skills
The talent pool for the first option is much smaller and more expensive.
What Would Help?
If I could wave a magic wand:
- Documented workflows for common professional scenarios with working examples
- Report libraries that bookkeepers can download and adapt (like Tableau workbooks)
- Better bridge tools between command-line power and client-friendly interfaces
- Professional certifications or training that give clients confidence in the approach
The Real Question
I think @helpful_veteran (who I’ve seen help so many people on this forum) asks an important question: Are we designing for the right user?
- If we’re designing for technical enthusiasts and specialized professionals → current approach works
- If we’re designing to replace mainstream accounting software → we have accessibility gaps
- If we’re designing for something in between → we need clearer positioning and better tooling
What’s your experience? For those using plain text accounting professionally, how do you handle the accessibility question with clients and staff? For those teaching beginners, where do people struggle most?
I’m genuinely curious whether this is a tooling problem, a documentation problem, or a positioning problem.