hledger Is “Command-Line Powerhouse” While Fava Offers “Modern Polished Dashboard”—Do We Need Both or Should Plain Text Accounting Pick One Philosophy?
I’ve been using Beancount + Fava for about 4 years now, and I’m starting to notice something interesting in our community. There’s a philosophical divide emerging that I think deserves discussion.
The Two Paths
On one side, hledger champions the command-line approach: “rich set of built-in commands for generating reports directly in terminal,” text-based workflows, Unix philosophy of composable tools. It’s keyboard-only, scriptable, SSH-friendly—the developer’s dream.
On the other side, Beancount + Fava embraces the GUI: “full-featured web interface with interactive charts, graphs, net worth trends, expense treemaps.” It’s visual, intuitive, modern UX that feels comfortable to accountants and bookkeepers who came from QuickBooks.
My Personal Journey
When I started with Beancount, I came from GnuCash (which has a GUI). Initially, I thought I’d miss the graphical interface, but what I discovered is that I use both paradigms depending on the task:
- Command-line for routine work: Running my import scripts, checking balances, quick queries while I’m already in terminal
- Fava for analysis: Exploring spending patterns, showing reports to my spouse, visual treemaps that reveal insights I’d miss in text
The question is: should we be building toward convergence or divergence?
The Convergence Argument
Maybe we should build amazing Fava-equivalent for hledger (or amazing CLI for Beancount) so both tools offer both paradigms. Why force users to choose between CLI power and GUI accessibility?
The Divergence Argument
Or maybe it’s healthier if hledger becomes “CLI champion” and Beancount becomes “GUI champion”—serve different audiences well rather than trying to be everything to everyone.
Real-World Implications
Here’s where it gets practical:
-
If you need a client portal (show financials to non-technical board members or business owners), Fava wins. I can’t imagine asking a nonprofit board treasurer to SSH into a server and run
hledger balance --monthly --tree Assets:Checking. -
If you need SSH access from anywhere (manage finances on remote server via terminal only), hledger wins. When I’m traveling and only have my phone + SSH client, I can’t run Fava easily.
-
For automation and scripting, both can work, but hledger’s rich built-in commands means less Python glue code.
My Question to the Community
Do you primarily use CLI or GUI for your financial analysis? Does it depend on the task?
For those who’ve tried both tools: did you choose based on CLI vs GUI preference, or were other factors more important?
And the bigger question: is it realistic to expect one tool to serve both the developer who wants hledger balancesheet --forecast --tree --depth 3 and the bookkeeper who wants to click pretty graphs? Or are we fundamentally different user bases?
I’m genuinely curious because I see value in both approaches, but I wonder if trying to serve both audiences means we serve neither particularly well.
Edited to add: I’m not trying to start a tool war here. I use Beancount because it’s what I learned first, but I respect the hledger community’s different philosophy. Just trying to understand if there’s a “right” answer or if diversity is actually the healthiest path.