Thank you @simonmic for sharing this here!
Accountant24 started from my own frustration with the day to day side of plaintext accounting.
I like plaintext accounting a lot, and hledger is a big reason this project was possible in the first place. But I was never very good at the daily workflow around it. I'd fall behind on manual entry, and I didn't love having to remember syntax or dig through notes just to answer a simple question. For example, if I wanted to check how much I spent last month, I might end up looking for a command like hledger bal -f /Users/volo/ledger/main.journal expenses -b 2026-04-01 -e 2026-05-01 --depth 2 --invert.
That was basically the starting point. I wanted something that still uses hledger underneath and still keeps the data as plain text on my machine, but makes the interaction much easier. Now I can ask something like "show me how much I spent last month", describe a transaction in plain English, or import a statement or receipt and let the agent turn that into ledger updates.
What made this much more usable for me was that changes are automatically versioned with git, it remembers accounts, payees, and other useful context in a local markdown file, so over time it gets smarter and requires less of my attention, and it can also run with local LLMs so the data stays fully local.
I don't really see it as a replacement for hledger. For me it's more like an interface around hledger that makes plaintext accounting easier to live with day to day and open PTA to more people.
I'd be very interested in feedback from people here, especially what seems useful and what feels like a bad idea.
I would write that as
is -p apr -2
(I have alias is='hledger is').. but yes it makes sense. ![]()
Welcome @machulav - thanks for the background, very interesting!
@machulav This looks pretty great! Just a quick question though. So I see how Accountant24 sets up the pre-configured folder for itself upon install with a local git repository and a folder dedicated to hledger setup inside. My question is if I go into that ledger folder and go mucking about changing the structure of the files, like nesting folders inside of that ledger folder, would it make it unusable for the Accountant24 agent to parse? I'd like to adopt the same structure I already use within the agent. It looks like this:
hledger-finances/
โโโ .gitignore
โโโ .hledger.journal # Main entry point that includes all others
โโโ accounts/
โ โโโ assets.journal
โ โโโ liabilities.journal
โ โโโ equity.journal
โ โโโ income.journal
โ โโโ expenses.journal
โโโ commodities/
โ โโโ commodities.journal # Currency and commodity definitions
โโโ transactions/
โ โโโ 2026/
โ โ โโโ 2026-01.journal
โ โ โโโ 2026-02.journal
โ โ โโโ 2026-03.journal
โ โโโ 2025/
โ โโโ 2025-12.journal
โ โโโ 2025-11.journal
โ โโโ 2025-10.journal
โโโ import-rules/
โ โโโ bank-csv.rules
โ โโโ credit-card-csv.rules
โโโ reports/
โ โโโ .gitkeep # Generated reports (add to .gitignore)
โโโ README.md
I'm pretty sure that it shouldn't be an issue since it is basically just parsing text files and interacting with hledger, but I figured I'd ask just in case you had some tribal knowledge regarding the pi.dev backend that I didn't know about. Thanks again and keep up the great work!
@SeveredinTwain thank you for your question, and I'm sorry for the late response - I've just noticed it.
Short answer: that exact structure won't work, unfortunately. Reading is flexible, writing isn't.
On the reading side, the agent reads the ledger through a single entry point, ledger/main.journal, and hledger resolves the includes from there. Whatever that file pulls in works: nested folders, split account files, monthly transaction files. But the ledger/main.journal file is hardcoded in the agent and can't be changed at the moment.
The write paths are also hardcoded. New transactions always land in ledger/YYYY/MM.journal, and new commodities get declared in ledger/commodities.journal. It works like that because the agent uses custom code to add transactions to the ledger and relies on the hardcoded paths, not on the entry point file.
I've written down a feature request to make the folder structure more flexible in the future: Make a ledger folder structure more flexible ยท Issue #18 ยท machulav/accountant24 ยท GitHub
I hope this helps.
By the way, Accountant24 is now a desktop app instead of a TUI. This should improve the user experience and make it accessible to more people. It also makes it easier to add new features and keep improving the app. Please let me know what you think!
