Overview
A Transaction represents any financial activity — money coming in (income) or going out (expense). Transactions are linked to both a wallet and optionally a category.Transaction Properties
| Property | Type | Description |
|---|---|---|
id | String | Local UUID (primary key) |
serverId | String? | Server-assigned ID after sync |
walletId | String | Associated wallet ID |
categoryId | String? | Optional category ID |
amount | double | Transaction amount (always positive) |
type | String | income, expense, or transfer |
description | String? | Optional description |
date | DateTime | When the transaction occurred |
syncStatus | SyncStatus | Current sync state |
Transaction Types
Income
Money coming into a wallet:Expense
Money leaving a wallet:Transfer
Moving money between wallets:Creating Transactions
Using the Cache Manager
Direct Repository Access
Querying Transactions
Get All Transactions
Filter by Wallet
Filter by Date Range
Get Pending Sync
Calculating Totals
Updating Transactions
Deleting Transactions
Best Practices
- Be specific with descriptions - “Lunch at Chipotle” > “Food”
- Record immediately - Log transactions while memory is fresh
- Use categories consistently - Don’t mix similar categories
- Review weekly - Catch errors early
Related
- Wallets - Where transactions occur
- Categories - How transactions are organized
- Sync - How transactions sync across devices

