Categories
self-hosted personal-finance expense-management budget-manager bill-splitting group-expenses flaskStars
Forks
Watchers
Developer links
I Hate Money
When vacations, shared apartments, and group events turn into a tangle of receipts and awkward IOUs, I Hate Money restores harmony with a dead-simple shared budget manager that requires zero user accounts for invited participants. Organizers create a project protected by a private code and share a single link with friends, roommates, or travel companions, allowing everyone to log expenses immediately from any desktop or mobile browser. Each bill entry records who paid, when the purchase happened, what it covered, and which members benefited, supporting both equal splits and custom weighted shares for participants who stayed longer or consumed more. Built-in multi-currency conversion lets international travelers record bills in foreign currencies and convert them automatically into the project default currency. Newly added expense filtering and direct reimbursement bill creation on the Settle screen calculate the minimum number of transfers required to square every balance, while Monthly spending statistics, JSON or CSV exports, and a REST API keep group finances transparent. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. BSD-3-Clause licensed.
Benefits
- Frictionless Account-Free Group Participation
- Invite friends, roommates, or travel companions using a single shared project link and private access code so participants can record and review expenses without registering personal accounts.
- Optimal Debt Settlement Calculation
- Compute the exact minimum set of peer-to-peer transfers needed to settle all outstanding group balances and record direct one-click reimbursement bills from the settlement view.
- Weighted Shares and Multi-Currency Conversion
- Assign custom participant weights for unequal expense splits and log purchases across multiple international currencies with automatic conversion into the project base currency.
- Portable Data and REST API Access
- Export and import complete project histories in JSON or CSV formats and connect external mobile clients such as MoneyBuster or Cospend apps through the built-in RESTful API.
Features
- Shared Project Workspaces
- Create isolated, password-protected budget projects using Flask and SQLAlchemy with optional admin-restricted creation, email invitation links, and history tracking.
- Weighted Participant Splitting
- Configure per-member weights on shared projects so bills automatically divide proportionally across individuals, couples, or families based on custom ratios.
- Automated Settlement Engine
- Generate optimized settlement plans showing who owes whom and log direct reimbursement transactions that immediately zero out participant balances.
- Expense Filtering and Search
- Filter recorded project bills by payer, participant, date, or description and inspect per-member balance breakdowns and monthly spending charts.
- Multi-Currency Bill Recording
- Define a base currency per project while allowing members to enter bills in foreign currencies using automated exchange rate conversion.
- REST API and CSV Export
- Access projects programmatically via Basic and Bearer token REST endpoints or export and import bills in structured JSON and CSV formats.