You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,8 @@
1
+
### 3.15.0: 2026-07-11
2
+
3
+
* Add a per-transaction "exclude from budget" toggle in the transaction editor: an excluded row drops out of every budget figure (daily budget, category activity and available, Ready to Assign, cash flow, income, spending trends) but keeps affecting the real account balance and staying in the ledger, and shows an "Ei budjetissa" badge
4
+
* Net excluded transactions out of the budgetable balance so Ready to Assign and the daily budget stay consistent while the real account balance still reflects the money that moved
5
+
1
6
### 3.14.2: 2026-07-11
2
7
3
8
* Fix every transfer opening with an empty Vastatili ("Ei toista tiliä"): the edit dialog always reset the counterpart to blank, so a paired transfer looked counterpart-less and saving it stripped the counterpart off; the dialog now pre-selects the real counterpart account parsed from the transfer's "Transfer : <account>" leg
<Label>{locale==="fi" ? "Jätä pois budjetista" : "Exclude from budget"}</Label>
651
+
</div>
652
+
<pclassName="settings-help">{locale==="fi" ? "Ei lasketa mihinkään budjettilukuun (päiväbudjetti, kategoriat, kassavirta, tulot). Tilin saldo muuttuu silti." : "Left out of every budget figure (daily budget, categories, cash flow, income). The account balance still changes."}</p>
@@ -127,7 +130,7 @@ export async function POST(request: Request) {
127
130
128
131
// Use local transactions table for recent transactions — always fresh
129
132
constrecentTx=chatDb.prepare(
130
-
"SELECT t.date, t.payee, t.amount, t.category, u.display_name as spender FROM transactions t LEFT JOIN users u ON t.user_id = u.id WHERE t.payee NOT LIKE 'Transfer%' AND t.payee NOT LIKE 'Starting Balance%' AND t.payee NOT LIKE 'Reconciliation%' GROUP BY t.ynab_id ORDER BY t.date DESC LIMIT 10"
133
+
"SELECT t.date, t.payee, t.amount, t.category, u.display_name as spender FROM transactions t LEFT JOIN users u ON t.user_id = u.id WHERE t.payee NOT LIKE 'Transfer%' AND t.payee NOT LIKE 'Starting Balance%' AND t.payee NOT LIKE 'Reconciliation%' AND COALESCE(t.budget_excluded, 0) = 0 GROUP BY t.ynab_id ORDER BY t.date DESC LIMIT 10"
"SELECT amount, payee, category FROM transactions WHERE date = ? AND amount < 0 AND payee NOT LIKE 'Transfer%' AND payee NOT LIKE 'Starting Balance%' GROUP BY ynab_id"
306
+
"SELECT amount, payee, category FROM transactions WHERE date = ? AND amount < 0 AND payee NOT LIKE 'Transfer%' AND payee NOT LIKE 'Starting Balance%' AND "+NOT_BUDGET_EXCLUDED+" GROUP BY ynab_id"
"SELECT COALESCE(SUM(ABS(amount)), 0) as total FROM (SELECT amount FROM transactions WHERE date >= ? AND amount < 0 AND payee NOT LIKE 'Transfer%' AND payee NOT LIKE 'Starting Balance%' AND payee NOT LIKE 'Reconciliation%' AND category != 'Uncategorized' GROUP BY ynab_id)"
322
+
"SELECT COALESCE(SUM(ABS(amount)), 0) as total FROM (SELECT amount FROM transactions WHERE date >= ? AND amount < 0 AND payee NOT LIKE 'Transfer%' AND payee NOT LIKE 'Starting Balance%' AND payee NOT LIKE 'Reconciliation%' AND category != 'Uncategorized' AND "+NOT_BUDGET_EXCLUDED+" GROUP BY ynab_id)"
0 commit comments