I Hate Money is a free open-source shared expense tracker for a group that pays bills together. It is a web application that records who bought what, when, and for whom, and then helps the group settle up.1 You can install it on a server you look after, or use the project’s hosted site.1 People added to a project join that shared list without creating an account of their own.1
Last checked October 28, 2026.
At a glance
- What it is: A small web app that tracks shared bills and helps the group settle up.1
- Works on: Any web browser, including a phone.1 A server needs Python 3.11 to 3.13, with SQLite, PostgreSQL, or MariaDB. Docker is offered for broader support.1
- Price: Free software.8 Optional donations keep the hosted site running.1
- Licence: A BSD beerware derivative. If you meet the authors, they encourage you to buy them a craft beer.1
- Best for: Housemates and travel groups who want one simple shared list on a server they trust.
- Official site: ihatemoney.org
What I Hate Money does (and how it protects your privacy)
Each bill names who paid, the amount, and who it covered, and the app helps the group settle the bills.1 Version 7.0.0, dated 30 January 2026, added reimbursement bills from the settle page, so a payback sits in the same list.3
Projects sit in SQLite, PostgreSQL, or MariaDB 10.3.2 or newer.1 The default database is a SQLite file.6 On a server you run, that file stays with you. The server administrator can back up the database and read the bills.4 Donations maintain the hosted version.1
There is one private code for the project. The docs treat it as a password, and the software stores it as a hash, a scrambled check value, so the code is not kept in plain text.47 The project assumes members trust each other, because anyone with the code can change the bills.4
Key features of I Hate Money
- One project, one code. A project identifier and a private code, with no personal accounts.14
- Clear bills. Each entry records what was paid, who paid, when, and who it was for.1
- Settle and reimburse. The app helps the group settle, and the settle page can record a reimbursement.13
- Filters. Version 7.2.0, dated 2 August 2026, added expense filters.3
- History and export. A history page lists actions, and settings or the API can export the project.4
- Invites. A link signs someone in without showing the private code, and invites can show a QR code.43
- Phone browser. One interface, including on mobile.1
- Install paths. Docker, Yunohost, a cloud provider, or a manual install.5
Pros and cons of I Hate Money
Pros
- The list can live in a database on a server you run.1
- Guests join with no account of their own.1
- The hosted site lets you create a project, and it calls the software free.8
- An invitation link works without sharing the private code.4
- You can export the project, and a history page records changes.4
- Release 7.2.1, on 7 August 2026, is a security update.2
Cons
- Someone has to host it. That server’s administrator can back up and read the database.4
- A person with the private code can change bills, change the code, change the contact email, or delete the project.4
- Changing the code does not end a browser session that is already open. The docs call this a known issue.4
- An invitation link hides the code, and the docs warn that its token can still delete the project through the API.4
- Mixed currencies are blocked. With bills already added, settings refuse a currency change because conversion is broken, and a bill in another currency is rejected.7
- A README note dated 2024 describes maintenance mode: stability first, and a small feature set.1
Is I Hate Money safe and private?
I Hate Money has no user accounts. The project identifier works like a login, and the private code works like a password.4 That code also produces an auth token for the API and invitation links. The token cannot change the code or the contact email, but the docs warn that someone can lift it from an invitation link and delete the project through the API.4
Cookies use a SECRET_KEY. The guide says it encrypts cookies and builds tokens, and that a predictable key would let someone open any project and skip the private code.6 Secure cookies default to on, so a browser will not send them over plain HTTP.6 Public project creation also defaults to on, until you turn it off.6 A lost code can be reset by email, and anyone who has the code can change that address.4
The history page is there to catch mistakes, and a member can wipe it. The docs point to an export, or a database backup, as the reliable copy.4 Release 7.2.1 fixes a possible session-name collision and asks administrators to update.2 Version 7.1.0, dated 9 May 2026, rate-limits project login. The changelog says that package is non-functional and to use 7.1.1 from the same day.3
How to get started with I Hate Money
- For a trial, open the hosted create page, which calls I Hate Money free software.8 To keep the list on your own hardware, follow the installation guide.5
- The install guide calls Docker the simplest way to get it running. The image
ihatemoney/ihatemoneyserves the site on port 8000.5 The README offers Docker when you need broader support, and it requires Python 3.11, 3.12, or 3.13.1 A manual install ispip install ihatemoney.5 - On your own server, set
SECRET_KEYto a long random value. A predictable key can bypass the private code.6 Keep the database out of/tmp, which is cleared on reboot, and use HTTPS so the session cookie stays off plain HTTP.6 - Create the project with an identifier, a private code, and a contact email.7 The email receives a reset link if the code is lost.4 BellCrier’s password generator can make a long private code.
- Add each person by name,7 then add bills with what was paid, who paid, and who it covered.1
- On the settle page, record a reimbursement when someone pays another person back.3
- Share the private code, or an invitation link or QR code.43 If someone leaves, change the private code so old links stop, and have everyone else sign in again. An open session can keep working after that change.4
Who should use I Hate Money (and who might prefer something else)
I Hate Money fits a household or a trip group that wants one shared list on a website. Use it when you can run a small web app, or when you trust the hosted site with the bills. The maintainers’ goal is a minimal set of features that does most of the job.1
That note names other self-hosted splitters, including Spliit.1 For a personal budget, see Actual Budget. For a self-hosted dashboard of your own spending, see Firefly III.
Frequently asked questions
Is I Hate Money free?
Yes. The hosted create page calls it free software, and the install guide offers Docker and pip.85 Donations maintain the hosted site.1
Is I Hate Money safe?
It fits a group that trusts its members and the person who runs the server. The private code is hashed, you should set your own secret key, and login attempts are rate-limited.763 The server administrator can read a backup, and a member with the code can clear the history.4 On your own server, run 7.2.1.2
Does I Hate Money work on iPhone?
Yes. The same website is meant for a phone browser, and invited people do not create an account.1
Is I Hate Money still maintained?
Yes. Version 7.2.1 came out on 7 August 2026, after other 2026 releases that added filters, reimbursements, and a login rate limit.23 Since 2024 the maintainers have described a maintenance mode focused on simplicity and stability.1
