[PR #6068] [CLOSED] Implement Sankey graph report #32232

Closed
opened 2026-04-18 08:18:40 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/6068
Author: @andrewhumble
Created: 11/4/2025
Status: Closed

Base: masterHead: sankey-graph-report


📝 Commits (10+)

📊 Changes

14 files changed (+1975 additions, -3 deletions)

View changed files

📝 packages/desktop-client/e2e/page-models/reports-page.ts (+6 -0)
packages/desktop-client/e2e/page-models/sankey-page.ts (+59 -0)
packages/desktop-client/e2e/sankey.test.ts (+99 -0)
📝 packages/desktop-client/src/components/reports/Overview.tsx (+19 -0)
📝 packages/desktop-client/src/components/reports/ReportRouter.tsx (+3 -0)
packages/desktop-client/src/components/reports/graphs/SankeyGraph.tsx (+527 -0)
packages/desktop-client/src/components/reports/reports/Sankey.tsx (+478 -0)
packages/desktop-client/src/components/reports/reports/SankeyCard.tsx (+120 -0)
packages/desktop-client/src/components/reports/spreadsheets/sankey-spreadsheet.ts (+635 -0)
📝 packages/desktop-client/src/components/settings/Experimental.tsx (+6 -1)
📝 packages/desktop-client/src/hooks/useFeatureFlag.ts (+1 -0)
📝 packages/loot-core/src/types/models/dashboard.ts (+13 -1)
📝 packages/loot-core/src/types/prefs.ts (+3 -1)
upcoming-release-notes/6068.md (+6 -0)

📄 Description

Fixes #1716

Add Sankey diagram report with three view modes (budgeted, spent, difference) to visualize money flow through categories.

Budgeted — Shows how income flows into your budget and is allocated across categories.

Screenshot 2025-11-04 at 10 34 34 AM

 
Spent — Displays actual spending by category from transactions.

Screenshot 2025-11-04 at 10 35 44 AM

 
Difference — Highlights budget vs. actual variance, showing overspent categories in red and unspent amounts. For a successfully zero-based budget, this should have no outgoing budget streams by the end of the month (i.e., budgeted - spent = 0 for each category).

Screenshot 2025-11-04 at 10 36 01 AM

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/actualbudget/actual/pull/6068 **Author:** [@andrewhumble](https://github.com/andrewhumble) **Created:** 11/4/2025 **Status:** ❌ Closed **Base:** `master` ← **Head:** `sankey-graph-report` --- ### 📝 Commits (10+) - [`4f13155`](https://github.com/actualbudget/actual/commit/4f13155a6c213960a4ff07f933f7db5ca7b003cd) Implement Sankey graph report - [`561a9f0`](https://github.com/actualbudget/actual/commit/561a9f00c657e7171435a4d3cb7b9ad46c72d0a1) Add release notes - [`6e1902c`](https://github.com/actualbudget/actual/commit/6e1902cb5fed3bc44abe03ecb98ef47f991d2994) Update VRT screenshots - [`024fc6f`](https://github.com/actualbudget/actual/commit/024fc6fdfee76b607885e7c52a1b5363dbcefc28) Remove local debug settings - [`0dcb57c`](https://github.com/actualbudget/actual/commit/0dcb57c5d1962c17c408d1df28d08e7ed7bf318f) Merge branch 'sankey-graph-report' of https://github.com/andrewhumble/actual into sankey-graph-report - [`ee1a25a`](https://github.com/actualbudget/actual/commit/ee1a25a5a98fb5b0d824f201870ce75992f6b891) [autofix.ci] apply automated fixes - [`8168528`](https://github.com/actualbudget/actual/commit/816852873cf95f4b663e0c5aed0dd07d198512ff) Update VRT screenshots - [`55bfe69`](https://github.com/actualbudget/actual/commit/55bfe6952d97db4a9344182ba09e8f9bedf92860) Improve graphs from comments - [`034498b`](https://github.com/actualbudget/actual/commit/034498b8c1ef8451072eadb4f189ef4bada2b387) Merge - [`815ddc8`](https://github.com/actualbudget/actual/commit/815ddc81bc5abefb503ed303190b4c8c78b50523) Merge branch 'sankey-graph-report' of https://github.com/andrewhumble/actual into sankey-graph-report ### 📊 Changes **14 files changed** (+1975 additions, -3 deletions) <details> <summary>View changed files</summary> 📝 `packages/desktop-client/e2e/page-models/reports-page.ts` (+6 -0) ➕ `packages/desktop-client/e2e/page-models/sankey-page.ts` (+59 -0) ➕ `packages/desktop-client/e2e/sankey.test.ts` (+99 -0) 📝 `packages/desktop-client/src/components/reports/Overview.tsx` (+19 -0) 📝 `packages/desktop-client/src/components/reports/ReportRouter.tsx` (+3 -0) ➕ `packages/desktop-client/src/components/reports/graphs/SankeyGraph.tsx` (+527 -0) ➕ `packages/desktop-client/src/components/reports/reports/Sankey.tsx` (+478 -0) ➕ `packages/desktop-client/src/components/reports/reports/SankeyCard.tsx` (+120 -0) ➕ `packages/desktop-client/src/components/reports/spreadsheets/sankey-spreadsheet.ts` (+635 -0) 📝 `packages/desktop-client/src/components/settings/Experimental.tsx` (+6 -1) 📝 `packages/desktop-client/src/hooks/useFeatureFlag.ts` (+1 -0) 📝 `packages/loot-core/src/types/models/dashboard.ts` (+13 -1) 📝 `packages/loot-core/src/types/prefs.ts` (+3 -1) ➕ `upcoming-release-notes/6068.md` (+6 -0) </details> ### 📄 Description Fixes #1716 Add Sankey diagram report with three view modes (budgeted, spent, difference) to visualize money flow through categories. **Budgeted** — Shows how income flows into your budget and is allocated across categories. <img width="1273" height="559" alt="Screenshot 2025-11-04 at 10 34 34 AM" src="https://github.com/user-attachments/assets/45ac251b-faab-4f27-a1e0-3eed16f283dc" /> &nbsp; **Spent** — Displays actual spending by category from transactions. <img width="1273" height="553" alt="Screenshot 2025-11-04 at 10 35 44 AM" src="https://github.com/user-attachments/assets/f4959894-b399-432f-acdf-f0a8a2f0172b" /> &nbsp; **Difference** — Highlights budget vs. actual variance, showing overspent categories in red and unspent amounts. For a successfully zero-based budget, this should have no outgoing budget streams by the end of the month (i.e., $budgeted - spent = 0$ for each category). <img width="1272" height="572" alt="Screenshot 2025-11-04 at 10 36 01 AM" src="https://github.com/user-attachments/assets/41f99a22-a705-41f4-aab8-94cb45b84f2a" /> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-18 08:18:40 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#32232