Skip to content

The functions of adding transactions manually #17

@TuRanJinTianNei

Description

@TuRanJinTianNei

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:
    1. Navigate to manual entry, pre-filled with current date.
    2. Enter details; category auto-suggests based on past data/AI.
    3. Validate inputs (format, non-empty fields).
    4. 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

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions