Repolode
spiral-project

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. 1

    Use the official Docker image from Docker Hub

  2. 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

#expense-splitting#budget-manager#flask#python#self-hosted#web-app

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