Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


A personal finance tool designed to help balance and reconcile your accounts.

What is olubalance?


Having accumulated a considerable amount of debt a few years ago, and in need for a better way of tracking my family finances than using a spreadsheet, I decided to look into building my own solution. I had dabbled in Ruby on Rails briefly before and enjoyed it so took this opportunity to really dive in and build a full featured application. olubalance is constantly growing and I hope if you find it you'll enjoy it as much as I have enjoyed building it!



olubalance is meant to be used as an online checkbook register (remember when people used to "balance their checkbooks"?). The idea is that you enter transactions as you spend or earn and know exactly how much is in your account at any given time.

Avoid surprises

If you rely on online banking, you can sometimes be surprised when pending transactions post, or that check you wrote 3 weeks ago and forgot about until it's too late. By using olubalance to track your finances, you can mitigate these surprises and stay on track! There is even a feature to mark transactions as pending so that you can keep an eye on those transactions in your regular online banking account. In olubalance, pending transactions are reflected in your account balance (unlike online banking)... yay!

Record keeping

One other fantastic feature is the ability to attach receipts to your transactions. From a mobile device, it's as easy as snapping a photo of your receipt when you create a transaction and it will be saved where it needs to be for future reference. Attachments can be either image files or PDF files (for online bill payments). This is a great way to keep record of where your money goes in case you ever need proof of it in the future.

Privacy matters

olubalance cannot and will not ever connect to your bank account. This is unlike other financial tools that "sync" your transactions from your online banking account. With olubalance, you will be the only party to add or remove transactions within the app.


olubalance is free and open source, and licensed under the MIT License. Feel free to build and deploy on your own server as you see fit (I recommend Dokku with the PostgreSQL Plugin)! See the license link for further details regarding terms of use.






Transaction Form


Transaction Details (with Receipt)


Building / Contributing

Basic instructions for building olubalance on your local system


  • Ruby 2.6.4
  • Rails
  • PostgreSQL 12
  • ImageMagick
  • Your own Amazon S3 Storage Credentials (or change the config to use local storage)

Once dependencies have been met:

  1. Create Postgres User, set a password
  2. Run bundle install
  3. Save the file application.yml.sample to application.yml
  4. Set the configuration values in application.yml as you wish
  5. Run rails db:create
  6. Run rails db:migrate
  7. Run rails db:seed if you wish to seed the database with sample data.
  8. Boot up your rails server (rails s), and browse to localhost:3000 in a web browser!

Looking for Help?

Feel free to file an issue on the project and I'll do my best to accomodate! :)