-
Notifications
You must be signed in to change notification settings - Fork 0
Description
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 NotesImplementation:
-
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.