Skip to content
Flask web application that tracks expenses
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


A web application that tracks expenses.




  • flask
  • flask-login
  • flask-wtf
  • flask-sqlalchemy
  • ldap3
  • regex
  • requests
  • sqlalchemy


You'll need to create a file, which specifies details such as which LDAP server to use. A sample configuration file can be found at

You will also need to sign up for an account at, which handles currency conversions. Once you've done so, add your API key to

Starting the Server

Start the server with By default it will be accessible at localhost:9999. To make the server world-accessible or for other options, see -h.

If you're having trouble configuring your sever, I wrote a blog post explaining how you can get Flask, uWSGI, and Nginx working together.

Bugs and Feature Requests

Feature Requests

  • Invalid currencies should display warning to user as well as to console
  • Error messages should have better debugging information (error type, stack trace)
  • Error messages should be non-interrupting and auto-dismissing (then we can have success messages, too)
  • Implement controller.save_csv

Known Bugs

  • Adding/editing seems to be broken on Edge (name, value, and note are not passed)
  • Because of the way information is sent via GET requests, it's impossible remove recurrence from an item (because it requires setting the value to "")

Special Thanks

Currency conversion provided by

License Information

Written by Gem Newman. Website | GitHub | Twitter

This work is licensed under Creative Commons BY-SA 4.0.

JQuery and JQuery UI elements included under the MIT "Expat" License.

Remember: GitHub is not my CV.

You can’t perform that action at this time.