Overview
Categories help you organize transactions and understand your spending patterns. Each category has a type (income or expense) and optional visual styling.Category Properties
| Property | Type | Description |
|---|---|---|
id | String | Local UUID (primary key) |
serverId | String? | Server-assigned ID after sync |
name | String | Category name (e.g., “Food”, “Salary”) |
type | String | Either income or expense |
color | int? | Color value for UI (ARGB format) |
icon | String? | Icon identifier (Flutter icon name) |
syncStatus | SyncStatus | Current sync state |
Creating Categories
Using the Cache Manager
Direct Repository Access
Querying Categories
Get All Categories
Filter by Type
Find by ID
Common Category Examples
Expense Categories
- 🍔 Food & Dining
- 🚗 Transportation
- 🏠 Housing
- 💡 Utilities
- 🎬 Entertainment
- 🛒 Shopping
- 🏥 Healthcare
Income Categories
- 💼 Salary
- 🎁 Gifts
- 📈 Investments
- 🏠 Rental Income
- 💰 Other Income
Color Format
Colors are stored as 32-bit ARGB integers:Updating Categories
Deleting Categories
When you delete a category, existing transactions will have their
categoryId set to null (via ON DELETE SET NULL constraint).Best Practices
- Keep it simple - Start with 5-10 categories
- Be consistent - Use the same categories month-to-month
- Use colors - Visual cues help identify categories quickly
- Review regularly - Merge or split categories as needed
Related
- Wallets - Where transactions occur
- Transactions - Categorized records

