HostedBeans: Collaborative Hosting Service for Beancount

2023-11-01 by Wang Ziting

I started using Beancount for accounting in 2019. As a developer, I like plain-text tools much. The advantage of plain text is that I can use my own text editor to edit it, write scripts for batch processing, and use Git for version control. This maximizes the power of the tools I already use.

After I entered a romantic relationship with Bud, our finances and accounts inevitably became intertwined. Without tracking her transactions, my accounting seemed rather meaningless. However, Beancount is too difficult to use for non-developers, which requires Python and Git setup locally. Plain text was not an advantage for her but rather a burden. Even if she just want to view charts, and I had to launch Fava on my computer and then send her the link.

To enable Bud to access the charts anytime and anywhere, I researched several existing Beancount hosting services and found that they miss some key features:

  • Git Access: The primary feature of Beancount is its plain text nature, and even using hosting services should not disrupt the use of Git and local editing workflow.
  • Collaboration: It should allow other people to access the same ledger and synchronize changes made in the Web UI to Git.

Finally, I developed HostedBeans, a project offering collaborative hosting services for Beancount, with support for both Git and Fava access. It allows you to add collaborators to your ledger and manage their permissions. Changes made in the Web UI will be automatically synchronized with Git under the collaborators' name.

With HostedBeans, you can keep your existing workflow by using your familiar text editor locally and Git for version control. Plus, you and your collaborators can access Fava to collaborate on your ledger anytime, anywhere.

All the features of HostedBeans are currently available, and I am doing some fine-tuning to optimize the user experience further. As mentioned earlier, the goal of HostedBeans is to be a hosting service for Beancount and Fava. I will focus on the "hosting" aspect instead of adding private features to bind users, ensuring that users can opt out at any time. For example, HostedBeans will not implement any actual "features" itself but will integrate with existing plugins from the Beancount and Fava communities. If necessary, I will directly contribute features to the upstream open-source projects.

Visit www.hostedbeans.io to register an account and try it out. Our free plan allows you to create one private ledger and collaborate with another user. If you have any questions or suggestions, please don't hesitate to contact me via email, Telegram, or Twitter (and you can get the Pro plan for free).