Overview
Expenses represent purchases or costs that need to be split among group members. Every expense records who paid, how much, and how it’s divided.Creating an Expense
To add a new expense to a group:- Open a group from your Groups list
- Tap Add New Expense
- Enter the total amount in dollars
- Add a description (e.g., “Dinner at Maple Bistro”, “Groceries”)
- Select who paid for the expense
- Choose a split method (see Split Methods)
- Select which group to add it to
- Tap Add expense to save
If you scanned a receipt, the amount and description will be pre-filled automatically.
Expense Fields
Each expense includes:Amount
Enter the total cost in dollars and cents. The large currency input makes it easy to enter amounts quickly:Description
A short label to identify the expense (e.g., merchant name, event, or category). If left blank, it defaults to “Expense”.Paid By
Select who fronted the money for this purchase. Options include:- You (default)
- Any other group member
Split Method
Choose how to divide the cost among members. Three options are available:Split equally
Everyone pays the same amount
By percentage
Custom % for each person
By items
Assign items to people
Equal Split Preview
When splitting equally, Divvy shows a live preview of the per-person amount: Example: 20.00 each** The preview updates instantly as you change the total amount or add/remove members.Group Selection
If you belong to multiple groups, select which group this expense belongs to. Each group card shows:- Group icon
- Group name
- Selection indicator (checkmark when selected)
Editing Expenses
Currently, expenses cannot be edited after creation. To correct an expense, delete it and create a new one.
Deleting Expenses
Expense deletion is managed through the group activity feed. Contact your group admin if you need to remove an expense.Expense Data Model
Expenses are stored with the following structure:- Amounts are stored in cents to avoid floating-point precision issues
splitMethoddetermines how the expense is divided (see~/workspace/source/app/src/main/java/com/example/divvy/ui/splitexpense/ViewModels/SplitExpenseViewModel.kt:27)- Each expense is tied to exactly one group via
groupId
~/workspace/source/app/src/main/java/com/example/divvy/models/Expense.kt:7
Split Calculation
When you create an expense, Divvy automatically:- Calculates each person’s share based on the split method
- Creates
Splitrecords for each member - Updates group balances in real-time
- Posts an activity item to the group feed