aboutsummaryrefslogtreecommitdiff
path: root/TODO.md
diff options
context:
space:
mode:
Diffstat (limited to 'TODO.md')
-rw-r--r--TODO.md104
1 files changed, 104 insertions, 0 deletions
diff --git a/TODO.md b/TODO.md
new file mode 100644
index 0000000..3ef0700
--- /dev/null
+++ b/TODO.md
@@ -0,0 +1,104 @@
+# CashFlo - TODO & Roadmap
+
+## Planned Features
+
+### Transfers
+- [ ] Implement account-to-account transfers
+- [ ] Create `transfers` table with transfer metadata
+- [ ] Add `transfer_id` column to transactions table (FK)
+- [ ] UI: Transfer dialog (from/to account, amount, date)
+- [ ] Create paired transactions automatically
+- [ ] Cascade delete when transfer is removed
+- [ ] Visual indicator in transaction grid (⇄ symbol)
+- [ ] Exclude transfers from spending reports
+
+**Design Decision:** Use separate `transfers` table (Option C):
+```sql
+transfers table:
+- id INTEGER PRIMARY KEY
+- date TEXT
+- amount REAL
+- from_account TEXT
+- to_account TEXT
+- description TEXT
+
+transactions table:
+- transfer_id INTEGER (nullable, FK to transfers)
+```
+
+### Transaction Management
+- [ ] Drag-and-drop reordering of transactions within same date
+ - Use `sort_order` field that already exists in database
+ - Visual feedback: highlight valid drop zone (same date only)
+ - Update sort_order values when dropped
+ - Prevents dragging across different dates
+ - Shows where transaction will be inserted
+
+### User Experience & Documentation
+- [ ] Comprehensive tooltips on all buttons/fields
+- [ ] Empty state messages ("No transactions yet...")
+- [ ] Status bar contextual help
+- [ ] Welcome dialog on first run
+- [ ] Keyboard shortcut cheat sheet (Help menu)
+- [ ] Sample data / example budget loader
+- [ ] User guide / documentation page
+
+### Debt & Loan Tracking
+- [ ] Highlight when recurring payments end (debt payoff visualization)
+- [ ] Show "cash flow improvement" when debts are paid off
+- [ ] "Days until debt-free" counter/view
+- [ ] Account types: Asset vs Liability
+- [ ] Net worth dashboard (Assets - Liabilities)
+
+### AI Integration
+- [ ] MCP server for AI assistant integration
+- [ ] HTTP REST API in Qt app (QHttpServer)
+- [ ] Endpoints: GET/POST transactions, recurring rules
+- [ ] Python MCP server that calls REST API
+- [ ] Enable AI to import bank statements, categorize transactions
+- [ ] "What-if" scenario analysis via AI queries
+
+### Scenario Planning / What-If Analysis
+- [ ] "New Scenario Copy" menu item (enhanced Save As)
+- [ ] Optional: Toggle checkboxes on recurring rules (enable/disable in projections)
+- [ ] Optional: Named scenarios with side-by-side comparison
+
+## Ideas for Discussion
+- Double-entry bookkeeping? (Probably overkill for personal finance)
+- Split transactions? (e.g., loan payment = principal + interest)
+- CSV import wizard
+- Budget categories with spending limits
+- Reports and charts
+- Mobile app / web interface
+
+## Completed Features
+- ✅ Transaction management (add, edit, delete)
+- ✅ Recurring rules with multiple frequencies
+- ✅ Projection generation
+- ✅ Reconciliation system with checkpoints
+- ✅ Date range filtering
+- ✅ Running balance calculations
+- ✅ Save As (for creating copies)
+- ✅ Export to CSV
+- ✅ Multi-filter system (account, recurring rule, search text)
+- ✅ Period collapse/expand functionality
+- ✅ Escape key to deselect
+- ✅ Sortable recurring rules table with numeric sorting
+- ✅ Delete preserves selection (moves to next row)
+
+
+### UI
+
+1. need better interface for editing, perhaps on the right hand side? ideally it needs to be fast. Quick Entry/Edit is REQUIRED for a good tool. right now its a-lada clickin
+
+currency input needs to be awesome, like a mask that has
+
+shown: $ -13,000.00
+typed: 13000
+
+a little smarter right?
+
+same for date dialogs and stuff, it all needs to be very quick and keyboardy.
+
+2. need to make the grid editable / and saving. To say, change a tx from estimated to actual or change the date etc.
+