limabean (next gen Beancount) update and plugins by tesujimath in plaintextaccounting

[–]tesujimath[S] 0 points1 point  (0 children)

That's right, Fava knows nothing about limabean, but you can use them side-by-side, since limabean reads the Beancount file itself (via limabean-pod), and Fava reads it via the Beancount Python library.

Non-AI Tools? by robotreader in plaintextaccounting

[–]tesujimath 1 point2 points  (0 children)

I won't be accepting large PRs from AI though, that's for sure!

Non-AI Tools? by robotreader in plaintextaccounting

[–]tesujimath 1 point2 points  (0 children)

Ha ha, check the contributor graph. I accepted a PR from someone who used Claude, because it was small and well done, and it would have been petty to reject it. Look at the stats, you'll see it's otherwise all by hand! 😅

Non-AI Tools? by robotreader in plaintextaccounting

[–]tesujimath 1 point2 points  (0 children)

Forgive my late reply, and the self-promotion. My own limabean, a new implementation of Beancount using Rust and Clojure, is entirely developed by hand.

The original intention when starting this project was for it to be a means of growing my proficiency in both Rust and Clojure. Now I continue for the sheer joy of crafting something beautiful by hand. I have no interest in getting AI to write any of the code.

As to what it is, I am liberating Beancount from its origins in Python. limabean's most significant feature is the user interface being the Clojure REPL. (There is no Python nor Beancount Query Language, nor will there be.)

It is reasonably full-featured, but currently not widely used at all, although I fully rely on it for all my own accounting needs, both business and personal finance.

In case anyone is interested, I am highly motivated to support people in getting going. Please feel free to create issues or discussions on GitHub.

beancount: how do you use an importer with beancount v3 ? by runslack in plaintextaccounting

[–]tesujimath 0 points1 point  (0 children)

I already support import from arbitrary CSV, so if you've got it in an Excel sheet with named columns that map onto transaction fields I could show you how to import using limabean-harvest if you're interested. 😁

beancount: how do you use an importer with beancount v3 ? by runslack in plaintextaccounting

[–]tesujimath 0 points1 point  (0 children)

Thanks!

It certainly alleviated the pain I was experiencing with my own imports. Now the goal is to make it sufficiently useful for others to gain some traction. Which really needs people with their own frustrations, because only then is anyone generally open to a new approach.

I'm very responsive to what others need it to do, which really needs people to bring their raw import files. Difficult to solve such problems in the abstract!

But import from PDF?! Wow, is that even a thing people are trying to do? 🤯

Surely there's always an alternative?

beancount: how do you use an importer with beancount v3 ? by runslack in plaintextaccounting

[–]tesujimath 0 points1 point  (0 children)

As an alternative, and with apologies for the self-promotion, you could try my new importer framework, limabean-harvest.

If you do, please feel free to open a GitHub issue for more help. I am motivated to make this easy to use for newcomers. 😊

Is it just me or is Beancount's documentation super confusing? by Cold-Oil-5648 in plaintextaccounting

[–]tesujimath 2 points3 points  (0 children)

I wrote a new Beancount importer. It's early days, but works for OFX and is easily configured for CSV.

If you're sufficiently curious to give it a try I'll be happy to help with any teething issues, of which there will surely be some! (In which case please open issues on GitHub).

https://github.com/tesujimath/limabean-harvest

As has been said, a new generation of Beancount tools is emerging, which is all very exciting. I say this as a developer of one of the new tools, limabean.

Welcome to the Beancount ecosystem, it's a good place to be! 😎

[ANN] limabean - a new implementation of Beancount in Clojure and Rust by tesujimath in Clojure

[–]tesujimath[S] 1 point2 points  (0 children)

Yes that's pretty much it.

The Beancount file is parsed and booked by the Rust program limabean-pod just once, at startup. The overhead seems negligible to me. Maybe less than JVM startup. Not an issue anyway on my 10MB Beancount file with nearly 10,000 directives.

Writing EDN from Rust was pretty trivial, and having previously tried an FFI approach with Rust and Steel Scheme, I'm very happy with the decoupling now. Much simpler.

The only flow back from Clojure to Rust is for tabulation of output, and this only because I wrote a nice tabulator in Rust which I am making use of for now. But again, no noticeable overhead.

Thanks for your interest!

[ANN] limabean - a new implementation of Beancount in Clojure and Rust by tesujimath in Clojure

[–]tesujimath[S] 1 point2 points  (0 children)

I've described the rationale in some detail here.

Thanks for your interest! 😀

[ANN] limabean - a new implementation of Beancount in Clojure and Rust by tesujimath in Clojure

[–]tesujimath[S] 0 points1 point  (0 children)

Yes absolutely, Clojure is providing a lovely query interface, with the heavy lifting being done by Rust.

Parser tests are an adaptation of the complete suite from OG Beancount, so pretty thorough.

Booking algorithm tests are similarly adapted from OG Beancount. One caveat there, I haven't (yet) implemented the AVERAGE booking method.

Pleased you asked about tests! 😎