Free, open source Splitwise alternative for sharing group expenses and tracking balances with friends and family.
spiral-project/ihatemoney
A self-hosted Flask web app for tracking shared expenses, recording who paid for what, and settling balances among a group.
Open-source alternative to:Splitwise
- Stars
- 1,395
- Forks
- 301
- Open issues
- 98
- Last commit
- 3 months ago
What is it?
I hate money is a web application for managing shared budgets. It records who bought what, when, and on whose behalf, then calculates how the bills should be settled between participants. It is aimed at groups such as roommates, trip companions, or event organizers who want to split costs without a lot of manual bookkeeping.
The project is written in Python on Flask and can use SQLite, PostgreSQL, MariaDB, or an in-memory backend. Installation is possible from source or via a Docker image, and a hosted version is also available. Participants can be invited without creating accounts, and the same web interface works on mobile.
The maintainers describe the project as moving into a maintenance mode, prioritizing simplicity and stability over new major features. Contributions are expected to keep the UI and the implementation simple.
Key features
- 01Tracks who paid for each expense and for whom.
- 02Calculates settlements so participants know who owes whom.
- 03Invites participants without requiring them to create accounts.
- 04Supports SQLite, PostgreSQL, MariaDB, and in-memory backends.
- 05Available as a Docker image or to install from source on Python 3.11 to 3.13.
Use cases
- Splitting household bills among roommates.
- Tracking shared costs during a group trip.
- Settling expenses after an event or party.
- Self-hosting a private expense-splitting tool for a small group.
Quick start
- 1
Use the official Docker image from Docker Hub
- 2
Follow the installation guide in the online documentation
Things to know
- The project is in maintenance mode, so new features are unlikely and only stability fixes are prioritized.
- The README requires Python 3.11 to 3.13 and a supported database such as SQLite, PostgreSQL, or MariaDB 10.3.2 or above.
- The metadata license is listed as NOASSERTION, so the license is unclear; the README describes a BSD beerware derivative.
In collections
Topics
FAQ
- What is ihatemoney?
- A self-hosted Flask web app for tracking shared expenses, recording who paid for what, and settling balances among a group. I hate money is a web application for managing shared budgets. It records who bought what, when, and on whose behalf, then calculates how the bills should be settled between participants. It is aimed at groups such as roommates, trip companions, or event organizers who want to split costs without a lot of manual bookkeeping.
- Is ihatemoney free to use? What license does it have?
- ihatemoney is open source under the Other license. Check the license terms before using it in commercial products.
- Is ihatemoney still maintained?
- Updated within 6 months. The last commit to ihatemoney was on Aug 7, 2026.
- What can I use ihatemoney for?
- Splitting household bills among roommates. Tracking shared costs during a group trip. Settling expenses after an event or party. Self-hosting a private expense-splitting tool for a small group.
- How do I install ihatemoney?
- Use the official Docker image from Docker Hub Follow the installation guide in the online documentation
- Where can I get ihatemoney?
- The source code and installation instructions are on GitHub: https://github.com/spiral-project/ihatemoney
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Self-hosted, open source expense-sharing app for splitting bills with friends and groups, positioned as a Splitwise replacement.
Python framework for building interactive data apps and dashboards in pure Python, without writing JavaScript.
A self-hosted, Vue-based personal budgeting app for tracking expenses and income across multiple years, deployable with Docker.
A self-hosted personal finance web app for budgeting, tracking accounts and transactions, and forecasting net worth, built with React and TypeScript.
A web-based time tracker built around an interactive timeline and tags, runnable locally or self-hosted on a server.