US-10: Set Yearly Budget
Core
As a User, I want to define my budget for a specific category for a year, so that I can control my spending limits per category and track whether my expenses stay within the planned budget.
Acceptance Criteria:
- Budget amount must be a positive number (greater than zero)
- Only one budget can be set per year per category (duplicate year-category combination is not allowed)
- If no budget is set for a category in a given year, spending is treated as "Unlimited" (no restriction applied)
- User must select an active category and a valid year when setting the budget
- Deactivated categories are hidden from the category selection list during budget creation
- Users can update an existing budget only for the current year and are not allowed to update budgets from any previous year.
- Appropriate error messages are displayed for validation failures (e.g., non-positive amount, duplicate budget, etc)
- User receives a confirmation message upon successful budget creation or update
- Budget amount should support decimal values (e.g., 15000.50)
- The system displays the currency format consistently when showing budget amounts
Yearly Budget screen: year + category-wise budget + save.