-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Feature Description: Manual Transaction Entry
1. Overview
The Manual Transaction Entry feature enables users to manually input financial transactions into the personal finance tracker, complementing automated data import to capture all activities (e.g., cash payments, offline transactions) for comprehensive tracking.
2. User Story
- As a user managing personal finances,
- I want to manually add transactions (date, amount, category, etc.),
- So that I can record all financial activities when automated import is unavailable.
Acceptance Criteria:
- Dedicated interface accessed via "Add Transaction" → "Manual Entry".
- Validated inputs for date (DD/MM/YYYY), non-negative/negative amount (expense/income), and category (predefined/custom with AI suggestions).
- Transactions saved to local text files (CSV/JSON) and displayed in history with success/error feedback.
3. Key Details
- Input Fields:
- Mandatory: Date (picker/format check), Amount (numeric, +/-), Category (dropdown with AI-driven suggestions).
- Optional: Description, Payment Method (e.g., Cash, WeChat Pay).
- Workflow:
- Navigate to manual entry, pre-filled with current date.
- Enter details; category auto-suggests based on past data/AI.
- Validate inputs (format, non-empty fields).
- Save to local storage; show confirmation or error dialog.
- Integration:
- Works with AI categorization (users can edit suggested categories).
- Feeds into spending analysis, budget tracking, and AI-generated insights.
4. Technical Notes
- Implementation: Java Swing GUI (simple layout with
JTextField,JComboBox). - Storage: Serialize data to CSV/JSON files locally (no database).
- Validation: Client-side checks for date format (regex), numeric amount, and category selection.
- Agile Priority: Core MVP feature for first iteration, ensuring usability and flexibility.
This feature ensures users can maintain accurate, complete financial records manually, enhancing the tracker’s adaptability to diverse transaction scenarios.
Metadata
Metadata
Assignees
Labels
No labels