Built to order

Expense Splitter Android App

This project builds an Android expense-splitting app for groups — trips, flats, office lunch clubs — where members log who paid for what and the app keeps live per-member balances. Each expense can split equally, by custom shares, or by exact amounts, and a settlement planner computes the minimum set of transfers needed to settle everyone up. Settlements are recorded as they happen and an activity log keeps every add, edit and payment auditable. Suitable for B.E./B.Tech final-year projects in Computer Science, Information Technology and related branches.

Expense Splitter Android App — project thumbnail preview
More project photos (2)

The problem

Shared expenses create a familiar mess: one person pays for dinner, another books the cab, a third covers the villa, and at the end of the trip the settlement math is argued over chat screenshots. Spreadsheets technically work, but nobody maintains one on holiday. This project implements the full expense-splitting loop as an Android app: create a group, add members, log expenses with the payer and a split mode, and watch per-member balances update live. The settlement planner answers the only question that matters — who pays whom, how much — with the minimum number of transfers, computed by a greedy creditor-debtor matching algorithm that is simple enough to explain in a viva. Recording each settlement keeps the books honest, and the activity log preserves every change.

How it works

  1. The user creates a group (for example a Goa trip), adds the members, and starts logging expenses.
  2. Each expense records the description, amount, who paid, and the split mode — equal, by shares, or exact amounts.
  3. Per-member balances update live: what each person paid minus their share of what they owe.
  4. Opening the Settle view runs the settlement planner, which matches the largest creditors with the largest debtors into a minimal transfer list.
  5. Members pay each other per the plan and each payment is recorded in the app, shrinking the remaining balances.
  6. The activity log keeps the full history of expenses, edits and settlements for reference or dispute resolution.

Tech stack:

  • Android (Kotlin or Java) with Android SDK
  • SQLite via Room for local storage
  • Material Design components
  • Greedy creditor-debtor settlement algorithm
  • Local notifications for settlement reminders (optional)
Parameter Value
Split modes Equal, by shares (weights), exact amounts
Settlement algorithm Greedy creditor-debtor matching; minimal transfers for standard cases
Balances Recomputed live on every ledger mutation
Storage Local SQLite; a group ledger is typically a few hundred KB (expected)
Currency Single-currency per group (design assumption)
Connectivity Fully offline; no account needed
Platform Android 8.0 and above (expected)

Project features

  • [Group and member management] Create groups (trips, flats, clubs), add members, and keep a separate expense ledger per group with running totals.
  • [Three split modes] Split equally with one tap, by custom shares (weights) for uneven contributions, or by exact rupee amounts per member.
  • [Live balances] Every member's net position — how much they are owed or owe — recomputes on every expense add, edit or delete.
  • [Minimal settlement planner] A greedy creditor-debtor matching algorithm produces the smallest practical set of who-pays-whom transfers to settle the group.
  • [Settlement recording] Log each payment as it happens; balances move toward zero and the plan updates for what remains.
  • [Activity log] Every expense add, edit, delete and settlement is timestamped in a per-group feed for full auditability.
  • [Expense history and summaries] Per-member totals, recent expenses and category views make it easy to see where the group's money went.

What is included

  • Complete Android app source code (groups, expenses, settlement planner)
  • Settlement-algorithm documentation with worked examples
  • Sample group datasets (trip, flat, lunch club) for demonstration
  • Setup guide (build, install, usage walkthrough)
  • Project report PDF (background, algorithm design, methodology)
  • PPT presentation for final review
  • Viva Q&A preparation document (Android, SQLite, settlement algorithms)

Limitations & prerequisites

  • The settlement plan is minimal for the standard greedy-matching cases; adversarial share patterns can theoretically need more transfers — documented in the report.
  • Groups are single-currency; multi-currency trips need manual conversion before entry.
  • There is no payment integration — settlements are recorded manually after members pay via their own UPI or cash.
  • Data lives on one device; there is no multi-user cloud sync, so all members cannot edit simultaneously.
  • The app trusts entered amounts; it cannot verify that a logged expense actually happened.

Frequently Asked Questions

How does the settlement planner minimize transfers?

It uses greedy creditor-debtor matching: repeatedly pair the member owed the most with the member owing the most, record that transfer, and reduce both balances. For the standard cases this yields the minimum number of payments, and the report walks through worked examples.

Can one expense split unevenly?

Yes. Besides equal splits, you can assign share weights (for example 2:1:1) or enter exact rupee amounts per member — useful when one person skipped dinner or ordered extra.

Does it handle multiple currencies?

No. Each group uses one currency; for international trips, convert amounts before entering them. Multi-currency support is listed as future scope.

Can all group members edit together?

Not in this build — data stays on one device with no cloud sync. The app is designed for one organizer keeping the books, with the settlement plan shared as a message.

Is this project suitable for a final-year project?

Yes — for Computer Science, Information Technology and related branches. It demonstrates Android development, relational data modeling and an explainable optimization algorithm with real everyday utility. Suitable for B.E./B.Tech final-year projects in Computer Science, Information Technology and related branches.

Components & software requirements
  • Android (Kotlin or Java) with Android SDK
  • SQLite via Room for local storage
  • Material Design components
  • Greedy creditor-debtor settlement algorithm
  • Local notifications for settlement reminders (optional)
Delivery information

Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.

Support terms

Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.

Download abstract (PDF)

Get a quotation