Overview
The Ledger is your complete transaction history. It shows every expense and settlement across all your groups, helping you track money flow and understand your financial relationships.Accessing the Ledger
Navigate to the Ledger from the bottom navigation bar. The ledger icon provides quick access to your complete transaction log.Net Balance
At the top of the ledger, you’ll see your overall net balance across all groups:- You are owed
- You owe
Displayed in green when your net balance is positive.This means you’ve paid more than your share across all expenses, and others owe you money overall.Example: Net: you are owed $45.80
Transaction Types
The ledger displays two types of entries:Expenses
Expenses represent purchases that were split among group members. Visual indicators:- Receipt icon on a blue circular background
- Badge showing your relationship to the expense:
- “You paid” (green badge): You fronted this expense
- “You owe” (red badge): Someone else paid and you owe your share
Settlements
Settlements are direct payments between members to settle balances. Visual indicators:- Swap/transfer icon on an amber circular background
- Badge showing the direction:
- “You sent” (red badge): You sent money to settle a balance
- “Received” (green badge): You received a payment
~/workspace/source/app/src/main/java/com/example/divvy/ui/ledger/Views/LedgerScreen.kt:315
Filtering Transactions
By Type
Filter transactions by type using the chip filters:- All: Show both expenses and settlements
- Expenses: Show only split expenses
- Settlements: Show only payments between members
~/workspace/source/app/src/main/java/com/example/divvy/ui/ledger/Views/LedgerScreen.kt:193
By Group
Narrow down transactions to a specific group:- Tap the group filter dropdown
- Select a group from the list (shows group icon and name)
- Ledger updates to show only that group’s transactions
- Select “All groups” to view everything again
~/workspace/source/app/src/main/java/com/example/divvy/ui/ledger/Views/LedgerScreen.kt:232
Transaction Details
Each ledger entry shows:Top Row
- Title: Expense description or settlement label
- Amount: Total transaction amount
Second Row
- Date: When the transaction occurred (e.g., “Dec 15”)
- Participant info:
- For expenses: “Paid by [name]”
- For settlements: “[payer] → [recipient]”
- Badge: Your relationship (“You paid”, “You owe”, “You sent”, “Received”)
Third Row (if applicable)
- Group icon and name: Which group this belongs to
Balance Calculation
Balances are calculated automatically based on:- Expenses you created: Others owe you their shares
- Expenses you’re part of: You owe your share to whoever paid
- Settlements sent: Reduces what you owe
- Settlements received: Reduces what others owe you
Example Calculation
Settlement Workflow
To settle a balance with someone:- Go to the group detail screen
- Find the member you need to settle with
- Tap their member card to expand settlement options
- Choose a settlement type:
- Paid Fully: Mark the entire balance as paid
- Paid Partially: Enter a specific amount
- Tap Confirm
~/workspace/source/app/src/main/java/com/example/divvy/ui/groupdetail/Views/GroupDetailScreen.kt:669
Member Balances
Within each group, member balances show:- Positive balance: They owe you money
- Negative balance: You owe them money
- Zero balance: Settled up
~/workspace/source/app/src/main/java/com/example/divvy/models/MemberBalance.kt:6
Ledger Entry Model
~/workspace/source/app/src/main/java/com/example/divvy/models/LedgerEntry.kt:8
Transaction History
Transactions are sorted chronologically (newest first). The ledger preserves a complete audit trail of all financial activity within your groups.Empty State
If no transactions match your filters, you’ll see:- Checkmark icon
- “No transactions found”
- “Try adjusting your filters” hint