Announcing Finzytrack: a (yet another) GUI for Beancount

247 views
Skip to first unread message

Sagar Behere

unread,
Jun 6, 2026, 8:56:13 AMJun 6
to Beancount
Hi all,

I built an opensource cross-platform GUI app on top of Beancount, to track my own finances. It's called Finzytrack (https://finzytrack.com
 
A few things it does that I haven't seen talked about much, and that are the reason I built it:
"Connect to your bank" without handing credentials to anyone: Set your bank to email you transaction alerts, do a one-time setup, and Finzytrack pulls transactions straight from your inbox. Enables the one-click-fetch feeling without sharing credentials with a 3rd party like Plaid/Yodlee etc.
Autocategorization with no rules to write: Categorize a transaction once; future transactions with the same payee/description get categorized automatically.
Easy statement imports: Set up how to read a given statement format once (OFX/QFX, CSV, Excel, PDF). Optionally, let AI generate the import rule for you. After that, imports from that source just work (without needing AI).
Custom dashboards from any query: Arbitrary SQL or Beancount (BQL) queries turned into charts, tables, or KPIs that auto-update as your data changes.
Build dashboards by asking: Tell the AI assistant "show me dining spend by month next to groceries" and it assembles the widgets for you.
Natural-language transaction entry: Describe a transaction in plain English and it's parsed and entered. Pairs well with voice dictation.
Real double-entry, with arbitrary splits: Split one paycheck across "salary" and "travel reimbursement," etc. 

The AI-powered parts above (email format detection, categorization, plain-English queries, dashboard-building, transaction parsing) are entirely optional and off by default, and you bring your own model, local or cloud, so you can pick a provider you trust, or skip AI completely.

I'm not a professional developer. This is an early release and has only been tested on my own finances. So expect rough edges. Issues and discussion on GitHub genuinely help.

Website: https://finzytrack.com
Best regards,
Sagar

Chary Ev2geny

unread,
Jun 6, 2026, 1:34:14 PMJun 6
to Beancount
As already mentioned in reddit, this is quite impressive I must say! And very thorough! 
I really like documentation with videos!
I will experiment more with it.


Message has been deleted

Marcio A. Vianna Fº

unread,
Jun 8, 2026, 8:14:31 PMJun 8
to bean...@googlegroups.com
Hi, Sagar,

I'd like to second Chary in extending my congrats to you. I think I'm a little shocked, and excited to test it. The interface looks great and it ran smoothly on Windows 10 with the demo data.

I'm much less of a developer than you, so let me ask: Why aren't "includes" supported in the ledger file? I noticed you use the standard beancount file loader under a memory guard, which automatically loads the includes. Is it because your system also writes to the ledger? If I were to use Finzytrack in "read-only mode", would the "includes" work?

 Marcio

--
You received this message because you are subscribed to the Google Groups "Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beancount+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/beancount/254ef734-8145-4b47-a266-2346b0a65422n%40googlegroups.com.

Sagar Behere

unread,
Jun 9, 2026, 10:27:59 PM (14 days ago) Jun 9
to Beancount
Hi Marcio,

Thank you for the kind words. Please let me know if you encounter any usage issues. If you want to use your own ledger with Finzytrack, do make a backup first or point Finzytrack to a copy.

Regarding the "includes", yes, it's because Finzytrack also writes to the ledger.

For Finzytrack to support multi-file ledgers, it's quite easy for the read/edit/update path: Finzytrack can keep track of which file the directive being edited came from.. and will write the updates back to that file. However, for completely new directives (e.g. new transactions, new balance assertions etc.), Finzytrack does not know which ledger file to write to.

To fix this, I am considering a few options
  1. No fix. Keep everything as it is: I could argue that most GUI users won't need to care about which file their directives land in.. the GUI is the way they interact with everything.
  2. Minimal-effort fix: Finzytrack will support reading multi-file ledgers. Any edits/updates to existing directives will be done in the files those directives were read from. All new directives will be written to the root ledger file. If a power user then wants to move transactions around, they can create their own script to do so. The next time Finzytrack starts up, it will anyway respect the location of all existing directives.
  3. Large-effort fix: Create a config file syntax for declaratively specifying a mapping between directives and the files they should be written to. Create a corresponding GUI for users to create and modify the mapping rules.
  4. Medium-effort fix: Support Fava-style in-ledger custom directives (e.g. "2000-01-01 custom "fava-option" "insert-entry" "Assets:Bank:FellsWargo").

Any thoughts on the above? If you use multi-file ledgers, could you share your setup so I can figure out which of the above options would work for that?

Regards,
Sagar

Justus Pendleton

unread,
Jun 9, 2026, 10:27:59 PM (14 days ago) Jun 9
to Beancount
It looks very impressive, well done! Pulling transactions from email confirmations is a clever idea.

Sagar Behere

unread,
Jun 11, 2026, 8:58:35 AM (12 days ago) Jun 11
to Beancount
Hi all,

I just released a new version (v0.1.2) that supports multi-file ledgers.

With multi-file ledgers, the way it works is that reads work transparently, edits are routed to the file the directive lived in, and new directives go to a single default file. Details documented here. I'll consider adding in more support for routing (i.e. which file should new directive be written to?) in future releases, if folks ask for it.

Hopefully, this helps Beancount users whose existing ledgers span multiple files.

Finzytrack is still experimental, so please make a backup of your ledger before showing it to Finzytrack. Issues and discussion welcome here or at GitHub 🙏

Finzytrack website is https://finzytrack.com and GitHub is https://github.com/sagarbehere/finzytrack

Best regards,
Sagar

Gorkycreator

unread,
Jun 12, 2026, 7:35:24 PM (11 days ago) Jun 12
to Beancount
Hi Sagar,

Very cool to see your take on a modern GUI for Beancount!

Regarding the automatic routing of new transactions to multiple ledgers, I've found the Fava-style directives very useful. My primary use case is separating brokerage transactions and standard bank account transactions so that I can unload historical bank/credit card transactions while keeping long-term brokerage history for lot purchase prices.

An additional idea for a large-effort fix for file routing would be to provide a dropdown in the GUI to select which file the transaction is saved in. That'd fit in nicely with the column customizations on the transaction page, but wouldn't necessarily solve automatic routing for imports... which is probably more relevant for the users who would want this feature. That being said, maybe it works well as an abstraction layer for one of the other options?

Thanks for sharing your work with the community, I'll definitely keep an eye out for updates.

~Richard

Sagar Behere

unread,
Jun 16, 2026, 12:40:49 PM (7 days ago) Jun 16
to Beancount
Hi Richard,

I just released v0.1.3 with Fava-style (Fava-identical) custom directives for insert-entry and default-file for automatic routing of new transactions. Docs at https://docs.finzytrack.com/reference/multi-file-ledgers/#routing-new-entries

Please have a look and let me know if something isn't working as it should: https://github.com/sagarbehere/finzytrack/releases/tag/v0.1.3

Best regards,
Sagar
Reply all
Reply to author
Forward
0 new messages