mirror of
https://github.com/actualbudget/actual.git
synced 2026-05-11 17:48:17 -05:00
[Bug]: Toggling overspending rollover only propagates forward #2647
Closed
opened 2026-02-28 20:22:57 -06:00 by GiteaMirror
·
5 comments
No Branch/Tag Specified
master
claude/fix-modal-type-import-MOuIp
claude/crdt-version-auto-publish-Ph1BH
youngcw/release-crossover-report
youngcw/fix-crossover-bugs
matiss/crdt-protobuf
cursor/transaction-table-rewrite-f077
cursor/formula-feedback-improvements-4223
ai/stabilize-bundle-size-compare
feature/enable-banking
release/v26.5.2
release/v26.5.1
claude/plan-ci-secure-context-OtEe1
release/26.5.0
claude/fix-issue-7667-DPXi3
cursor/resolve-pr-7449-ee11
claude/fix-typescript-build-error-JPtZ5
jfdoming/api-tokens-part-3
jfdoming/api-tokens-part-2
jfdoming/api-tokens-part-1
copilot/add-repository-configs-to-packages
worktree-compressed-drifting-ritchie
worktree-mellow-strolling-dawn
matiss/browser-api
claude/api-consumer-verification-kfz1K
pr-7454
claude/fix-issue-7410-LLLQ4
revert-7350-trim-deps
revert-7220-sankey-report
revert-7242-fix/split-parent-update-corruption
revert-7281-generate-icons
claude/electron-to-tauri-migration-LjBN8
worktree-remotion
claude/browser-compatible-api-QbhHh
claude/improve-cli-transactions-waTUY
claude/publish-react-native-ios-j8qoT
js-proxy
claude/fix-flaky-ci-job-5gDdz
react-query-rules
react-query-useSchedules
claude/nightly-theme-validation-scan-DzOGD
claude/debug-simplefin-error-ZuKzB
matiss/desktop-client-subpath-imports
claude/fix-simplefin-ssrf-T31gX
add-claude-github-actions-1772738270730
cursor/sync-performance-notification-9899
react-query-prefs
matiss/chunked-sync-and-progress-ux
v26.2.1
copilot/sub-pr-6880
fix-react-query-clear-on-close-budget
copilot/sub-pr-6140
feat/auto-note
feat/scoped-bank-sync
cursor/desktop-transactions-react-table-1d0c
fix-exhaustive-deps-App
copilot/fix-find-replace-bug
matiss/browser-tests
mobile-fix-drag-and-drop-across-groups
budget-table-v2
PayeeAutocomplete2
pglite
bugfix/plugins/fix-plugins-sw
feat/plugins/plugins-core-package
matiss/unicode-minus-fix
cursor/fix-actual-github-issue-6206-gemini-3-pro-preview-9c37
TransactionFormPage
cursor/implement-mortgage-and-loan-account-type-78ca
tests-update-fill-with-pressSequentially
mobile/link-modal
deps/25.11
cursor/fix-update-vrt-apply-ci-job-dispatch-b324
sync-server-plugins
cursor/propose-patch-for-github-issue-5680-2a18
fix/compiler-preserve-inner-dollar-escapes
cursor/analyze-actual-budget-issue-and-propose-fix-5b70
coderabbitai/docstrings/0c070e5
cursor/add-wip-prefix-and-comment-to-prs-d78d
jfdoming/08-21-auto-focus-on-navigate-in-all-browsers
show-totals-on-mobile-budget-banners
allow-child-transactions-make-transfer
mobile-calculator-keyboard
payee-geolocation
enhance/restore_scroll_position
dm-fix-second-click-on-mobile-new-transaction-2
scrollToLocationBudget
alert-autofix-38
tsconfig-composite
mobile-fix-uncategorized-transactions-on-tracking-budgets
server-budget-handlers
fix-sql-injection-in-cleanup-template
non-chrome-draggable-workaround
mobile-budget-page-swipe-navigation
ts-db-all
stable
dark-theme-with-brand-colors
fix-mobile-delete-group
ts-db-select
UnderKoen/reconcile-context-menu
master-before-server-merge
v25.2.1
ts-runQuery
rename-redux-hooks
UnderKoen/3557-persist-state-in-history
remove-redux-CLOSE_BUDGET
fix-exhaustive-deps-errors-FinancesApp
redux-toolkit-createSlice-backup
accounts-function-component
ts-useSplitsExpanded
loot-core-server-package
useTransactios-in-TransactionEdit
react-aria-input
move-redux-to-desktop-client
QueryState-type
fix-themes-applied-late
mobile-vrts
revert-3295-spendingCardFix
react-aria-button-4
split-payee-on-mobile
twk3/pin-apis-crdt
notes-tag-autocomplete
ts-LoadBackup
dnd-kit
package-upgrades
v26.5.2
v26.5.1
v26.5.0
v26.4.0
v26.3.0
v26.2.1
v26.2.0
v26.1.0
v25.12.0
v25.11.0
v25.10.0
v25.9.0
v25.8.0
v25.7.1
v25.7.0
v25.6.1
v25.6.0
v25.5.0
v25.4.0
v25.3.1
v25.3.0
v25.2.1
v25.2.0
v25.1.0
v24.12.0
v24.11.0
v24.10.1
v24.10.0
v24.9.0
v24.8.0
v24.7.0
v24.6.0
v24.5.0
v24.4.0
v24.3.0
v24.2.0
v24.1.0
v23.12.0
v23.11.0
v23.10.0
v23.9.0
v23.8.1
v23.8.0
v23.7.2
v23.7.1
v23.7.0
v23.6.0
v23.5.0
v23.4.2
v23.4.1
v23.4.0
v23.3.2
v23.3.0
v23.2.9
v23.2.5
v23.1.12
v22.12.9
Labels
Clear labels
AI generated
API
bank sync
budgeting
bug
can’t replicate
dependencies
docker
documentation
electron
experimental feature
feature
feedback
goal templates
good first issue
help wanted
importers
maintenance
needs info
needs testing
needs triage
needs votes
openid
payees
pull-request
regression
reports
responsive
rules
schedules
server
✨ merged
split transactions
tech debt
theme
transaction import
transaction reconciliation
transactions
translations
upstream
user interface
✅ approved
wontfix
Mirrored from GitHub Pull Request
No Label
bug
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/actual#2647
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Daedalus359 on GitHub (Nov 21, 2025).
Verified issue does not already exist?
What happened?
It looks like toggling the "Rollover overspending" / "Remove overspending rollover" setting by clicking the balance entry for a particular (category, month) does not change the setting for that category in months before the one selected. See the attached screenshot. In the yellow box, this occurs once with the setting turned on in column 2. In the red box, this occurs twice: the setting is turned on in column 2 and off in column 4, creating a small pocket where the rollover occurs.
Granted, this gives users arbitrary control over exactly which months get rollover. I can't think of a use case for this, but maybe there is one. However, it also allows for situations where accidental button presses or experimentation with this feature by users who don't understand its full behavior (my current problem) cause a budget's present balance to be affected by settings changes in areas which may be off screen and potentially pretty difficult to locate (yellow can be found by a manual binary search, but not red). That's why I consider this a bug.
I would prefer if the app simply had an all or nothing approach to whether a category has rollover turned on, as this would meet my needs best. If that's not desirable for some reason, it might be worth adjusting the text on the buttons that toggle this setting on and off.
As far as I know, the only way to eliminate all unlocated rollover setting changes via the UI would be to go all the way back in the budget history and toggle this setting in the first month of every category. If anyone has a better approach, it might be helpful to note that in this thread as well.
How can we reproduce the issue?
To recreate the situations in my screenshot above, take four months of budget data over at least two categories. Turn rollover off in month 1 for both categories, turn it back on in month 2 for both categories, and turn it off again in month 4 for one category (corresponding to the red box).
Note that the first step is just to confirm a blank slate for experimenting with this bug, so it could actually take as little as one unintended button press to create this issue in a typical budget.
Where are you hosting Actual?
Desktop App (Electron)
What browsers are you seeing the problem on?
No response
Operating System
Windows 10
@youngcw commented on GitHub (Nov 21, 2025):
This is by design. If the rollover is enabled for a specific month, or range of months, in order to handle the overspending it needs to stay that way or the budget history is lost.
@Daedalus359 commented on GitHub (Nov 21, 2025):
I'm new to using this feature, so I apologize if I'm missing something basic. I don't understand your explanation. Are you saying that disabling the rollover after enabling it causes some information to be lost? That doesn't sound right, but it's the only interpretation of your response I can think of.
If my understanding of your comment is correct, then I don't think it addresses why forward propagation of the setting change is desirable vs applying the new setting uniformly to all months.
@youngcw commented on GitHub (Nov 21, 2025):
Changing a rollover state changes the budget, that changes the balances, to budget numbers, etc. If you remove the rollover in a past month, then budget then is different and the history of what happened back then is lost (it has changed and cannot be deterministically recovered unless you remember which categories and which months had the carryover enabled.)
@youngcw commented on GitHub (Nov 21, 2025):
The reason that the carryover is enabled for many months at a time is if you have a CC category that is holding debt, and are likely going to be rolling forward the balance for many months, or are using the auto hold feature for income
@Daedalus359 commented on GitHub (Nov 21, 2025):
Thanks, I see what you're saying. If this toggle is intended to be used primarily on the present month and there are use cases for having it turned on and then back off over a large but limited span of months, then that behavior makes sense.