Skip to content

Feature Description: AI-Powered Image-based Transaction Entry #22

@2247571347

Description

@2247571347

Overview​​

The AI-Powered Image-based Transaction Entry feature enables users to automate transaction data capture by uploading receipt/transaction images. Leveraging AI recognition, the system extracts structured information (e.g., transaction type, category, amount) from images, auto-fills form fields, and allows manual adjustments before saving to a unified transaction database.

​​User Story​​

As a user managing receipts and invoices,
I want to upload transaction images for AI recognition and auto-fill,
So that I can reduce manual data entry errors and streamline expense tracking.
​​Acceptance Criteria​​:

Dedicated UI for image upload via ​​“Add Transaction” → “AI Recognition”​​.

AI generates JSON data (Type, Category, Amount, Date, Remarks) from images.

Auto-populate form fields from JSON with manual editing capability.

Save validated data to transaction.csv with success/error feedback.

​​Key Details​​

​​Workflow​​:

​Upload Image​​: Supported formats (JPEG/PNG) via drag-and-drop or file selector.
AI Recognition​​:
Parse image → generate JSON (e.g., {"Type":"Expense","Category":"Food","Amount":"50.00", ...}).
Auto-fill form fields (Type dropdown, Category combobox, Amount, Date, Remarks).
Manual Adjustment​​:
Edit mismatched categories (e.g., correct AI-suggested "Transport" → "Taxi").
Override date/amount if AI parsing errors occur.
​​Save & Feedback​​:
Append to transaction.csv with standardized formatting.
Show success dialog with saved data path (e.g., D:\data\transaction.csv).

​​Integration​​:

Seamless compatibility with manual entry workflows (shared CSV storage).
AI suggestions sync with historical categories for consistency.

​​Technical Notes​​​​Implementation​​:

  • ​​Frontend​​: JavaFX FXML for image preview and form binding (ImageView, ComboBox, DatePicker).

  • ​​Storage​​: Appends data to CSV using java.nio.file with UTF-8 encoding and quoted fields.

​​Validation​​:

  • ​​Amount​​: Regex check for ^\d+.\d{2}$ (non-negative, two decimal places).

  • ​​Date​​: Enforce YYYY-MM-DD format via LocalDate parsing.

  • ​​Type/Category​​: Match against predefined enums (e.g., Expense/Income, Food/Transport).

  • ​​Agile Priority​​: High-value MVP feature to demonstrate AI-driven efficiency gains.

This feature bridges automated data extraction with user oversight, ensuring both accuracy and flexibility in financial record-keeping.

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