Files
sure/test
Claude 968c661b06 Treat investment_contribution as a transfer in Reports/Budget (#1313)
Investment contributions are transfers between accounts (checking ->
investment), not expenses. Counting them as expenses inflated budget
totals and made "spending" look larger than it really was.

- Add investment_contribution to BUDGET_EXCLUDED_KINDS so it's filtered
  out of Reports, Budget, and the income statement by default.
- Remove the SQL CASE branch that force-classified
  investment_contribution rows as expense regardless of entry sign.
- Add an `include_kinds:` opt-in parameter on IncomeStatement
  (totals/expense_totals/income_totals/net_category_totals) so callers
  can re-include otherwise-excluded kinds. Used by the dashboard
  cashflow Sankey and outflows donut so contributions still appear as
  outflows where users expect to see where their cash went.
- Bump totals_query cache key to v3 and include the kinds key so cached
  results aren't reused across different include_kinds calls.

loan_payment stays in-budget (it's real cash outflow); withdrawals and
tax handling were already correct and are unchanged.

https://claude.ai/code/session_01EAD3jkLeHSsSTnJ32Po9em
2026-04-16 16:29:59 +00:00
..
2024-02-02 09:05:04 -06:00
2025-11-17 21:51:37 +01:00