Hacker News new | ask | show | jobs
by manifoldgeo 1515 days ago
I'm an avid user of GnuCash. Last I checked, their mobile app was basically abandoned (around 2018), and it had no way to use a SQL DB, even though the desktop can use SQLite3, MySQL, and Postgres [1]. So there was no easy way to use desktop AND mobile in a shared way.

So, I made a small companion app called gnucash-helper [2]. It's a Python/Flask web app for doing the very basics of GnuCash, i.e. entering transactions, looking at their history, and checking balances.

If you want to try it out, there's a demo of it on https://demo.checkyour.finance. The container it runs in is destroyed every 30 minutes, but that's enough time to play with it. It's very simple, but it does everything I need, to the point that I no longer have to open the desktop program.

Your feedback is most welcome. I should say right now, though: it's more like beta software at this point. I haven't built the Docker container in a while, so the one on Docker Hub may or may not work. If anyone has any interest in contributing ideas or code to this, I would love to hear about it.

Edit:

A couple things I forgot to mention:

- The backend for this is a .gnucash file that is saved in the sqlite file format. You can add your own into an S3 bucket, and this will write to it using Python's boto3 library.

- There's no way as of yet to download the GnuCash file directly from the web app, but I would like to add that in the future.

- The heart of this app is the Piecash Python library [3]. It lets you use Python to alter GnuCash files.

References:

[1]: https://www.gnucash.org/docs/v4/C/gnucash-guide/basics-files...

[2]: https://github.com/bxbrenden/GnuCash-Helper

[3]: https://github.com/sdementen/piecash

2 comments

Great to see this. I stopped using GnuCash completely once the Android app stopped getting updates, but if this web app works well it might get me back into it.
Nice! I have been using GnuCash for about a year now; moved on from an Excel workbook that got annoying to maintain.

Been thinking of an API/Web interface (or Telegram bot) to quickly save transactions - so it's wonderful to see you built something in that can help in that direction! Guess I can look at the telegram bot part now :)