aboutsummaryrefslogtreecommitdiff
path: root/TODO.md
blob: 65b2515d9492606e184cf3b99a166b3ee4bfd42b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# 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)

### Account Management
- [ ] First-class Account table (id, name, account_type, is_active)
- [ ] Account management UI in Preferences
- [ ] Migration: auto-create accounts from existing transaction strings
- [ ] Update combo boxes to use accounts table
- [ ] Keep simple: no interest rates, no starting balances (use transactions)

### Attachments / Document Storage
- [ ] Store scanned receipts/documents as BLOBs in SQLite
- [ ] Attachment viewer/manager per transaction
- [ ] File upload dialog
- [ ] Display attached file count in grid

### 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)
- ✅ Charts tab with balance trend visualization
- ✅ Multi-account line charts
- ✅ Hover tooltips showing exact balance at date
- ✅ Mouse wheel zoom on charts
- ✅ Auto-fit chart axes to data range
- ✅ Independent chart date range controls


### 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.