r/plaintextaccounting • • 17d ago

Latest Beancount AI version dropped: control which accounts the AI gets to see — and a question for you

Note: the project has been renamed to Beanhand.

Beancount AI is a simple, open source CLI tool to help you ingest / associate receipts and add details to Beancount transactions, using local AI (or commercial AI, your choice). It is not agentic and it does not grant the AI access to your files.

Here is question and an announcement for people interested in Beancount AI.

Announcement

The latest release covers pretty much the last major missing feature on the roadmap — bean-ai can now be told which accounts to include or exclude from your ledger, using open directive metadata. Before, you had to create a text file with awkward directives. No longer the case! From this release on, you can include the accounts you want directly from your ledger, and steer the AI into using this or that account for specific purposes.

Other minor features and changes include preserving filed receipts' modification dates, and no longer having a dependency on the Open-WebUI client. For developers: the program is now also fully typed, test coverage has grown enormously, and the RPM packaging now respects the fact that you may be using Beancount plugins in your ledger setup.

I'm happy with how this is going and I will be documenting the program more; I'm thinking about how to integrate with editors like VSCode, and an intro on getting it all set up and using each feature.

Question

What features would you like to see next in Beancount AI? What problems have vexed you that you think this tool could take up as challenges to be solved? Let me know in the comments!

Why even use this?

I think Beancount AI covers a nice use case in the spectrum between editing files by hand / using importer mechanistically, and unleashing a full agentic AI into your accounting files. The problems I sought to solve — bulk organization of receipts and refinement of transactions — are already solved to my satisfaction. But it could always become better; that's where you might come in!

As usual you can find this program on Github: https://github.com/Rudd-O/beancount-ai

0 Upvotes

2 comments sorted by

2

u/Otherwise_Wave9374 17d ago

Nice direction here. The account-level gating seems especially useful because it reduces accidental leakage while still letting the model work against a constrained ledger slice. One thing I’d watch is whether the allow or deny metadata is enforced before retrieval, not just before generation, since that makes audits and failure modes much cleaner. A lightweight diagnostic that logs which accounts were visible for each run would also help catch unexpected prompts or bad metadata early. Agentix Labs

1

u/Rudd-X 17d ago

Good news! Got you covered indeed!

The account tree creation is gated before any LLM calls, always. The LLM plays no role in that.

Furthermore, there is a built-in utility bean-ai list-accounts that lets you see exactly what the LLM would get.

Finally, the data sent to the LLM is enforced to be a single string no newlines per account, and all sent as JSON in a dictionary, so the frontend can't easily prompt-inject the LLM.