Import Transactions
Workflow
- Get file path: Ask user for file path (or accept from context if already provided)
- Detect file format: Determine format (CSV vs OFX vs QIF) by extension and content sniffing
- Parse by format:
- For CSV: detect bank (Chase, Amex, BofA, generic) by header patterns and parse accordingly
- For OFX: parse with OFX parser
- For QIF: parse with QIF parser
- Preview: Show count of transactions, date range, and sample entries for user confirmation
- Deduplicate: Check for duplicates via
external_id(or file hash for backward compatibility) - Insert: Insert new transactions into the database, report count imported vs skipped
- Suggest categorization: If uncategorized transactions exist after import, suggest running the
smart-categorizeskill