From a6e05ddd0add4500877ceb2df69ea3e0d5ca9b15 Mon Sep 17 00:00:00 2001 From: Calvin Morrison Date: Wed, 31 Dec 2025 13:46:44 -0500 Subject: Fix estimated transaction edit persistence - keep recurring link and set reconciled flag --- TODO.md | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 TODO.md (limited to 'TODO.md') 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. + -- cgit v1.2.3