mirror of
https://github.com/actualbudget/actual.git
synced 2026-03-22 12:30:06 -05:00
[Feature] Option to automatically hold income for next month #764
Closed
opened 2026-02-28 19:18:07 -06:00 by GiteaMirror
·
12 comments
No Branch/Tag Specified
master
claude/browser-compatible-api-QbhHh
matiss/theme-catalog-responsive-layout
claude/improve-cli-transactions-waTUY
matiss/remove-browser-connection-extension
claude/publish-react-native-ios-j8qoT
dependabot/npm_and_yarn/flatted-3.4.2
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
claude/release-notes-validation-X7rvR
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
release/v26.2.0-pre
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
prerelease
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.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
feature
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#764
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 @Teifun2 on GitHub (Nov 26, 2023).
Verified feature request does not already exist?
💻
Pitch: what problem are you trying to solve?
My Income comes relatively late in the month. I want to Budget this always for the next month only.
What im currently doing is every month, i "hold for next Month" the exact value that was in my Income tab.
Ideally this could be setup automatically, so that this additional action is not required.
Describe your ideal solution to this problem
Similar to the "Rollover Overspending" of the Expenses total, i would like to have the option to indicate which category in the incomes should be automatically set aside for next months budget.
Teaching and learning
After i discovered the "Rollover Overspending" feature i naturally searched for the this feature. As it would be interacted with the same way (click on total value of month to activate) i hope users would find it quickly.
https://actualbudget.com/docs/budgeting/how-it-works/ This documentation would need an additional paragraph, maybe below: Rollover negative category balances
to explain the "Hold for next Month" of the Income!
@github-actions[bot] commented on GitHub (Nov 26, 2023):
✨ Thanks for sharing your idea! ✨
This repository uses lodash style issue management for enhancements. That means enhancement issues are automatically closed. This doesn’t mean we don’t accept feature requests, though! We will consider implementing ones that receive many upvotes, and we welcome contributions for any feature requests marked as needing votes (just post a comment first so we can help you make a successful contribution).
The enhancement backlog can be found here: https://github.com/actualbudget/actual/issues?q=label%3A%22needs+votes%22+sort%3Areactions-%2B1-desc+
Don’t forget to upvote the top comment with 👍!
@Teifun2 commented on GitHub (Nov 26, 2023):
Would this be approved if i could do it in a PR?
Any poiners to understand what would be needed to do it.
@ricketyboo commented on GitHub (Dec 6, 2023):
Hey @Teifun2 firstly, re your question: I think a PR being approved would be dependent on if the maintainers feel it aligns with their vision. Might be good to flesh out your intended delivery plan or a rough proof of concept before you make the PR. Obviously harder to do if you don't know where to start, I am not very familiar with the code yet myself so can't advise, sorry! If you feel brave it might be worth just pulling the code down and poking through it with a debugger to see what happens with the numbers when you add them and see if you can get something dirty that does what you want and then post your findings for extra help and cleanup?
We sort of already have an "auto rollover". Anything that is not allocated is just immediately available in the next month. You're probably aware of this already, but see this $19 left unbudgeted in Dec, is now "Available" in the January budget. (Please ignore my other numbers)
In theory Month 1 has income near the end, and you haven't budgeted it, it'll be available for the next month, and then you'll budget from that first and it'll go down to zero. Then your pay will hit and you'll have the extra available again, which will then be available, and you can budget it down to zero.
It does mean you'll wind up at the end of the month with suddenly a surplus of un-budgeted income, but hopefully by that point you've already locked in your spending for the month? Not clean, I know. I'd probably get annoyed by always having a surplus every month as well.
I am curious about how auto hold would work. I think if we tried to automatically "hold" budget balance as if you'd pressed the "hold for next month" it'd cause issues if the budget categories values change for this month and change what that held figure would be. This is fixable with a manual value change because you know how to resolve it, and if more money comes in, it could just be auto held again, but if the hold goes negative it might be impossible to automatically resolve... there's some UX considerations here to think about!
I wonder if it'd be possible to change the way income works so you can change which period it's -allocated- into, despite what period it was added to the register. It it would be an interesting approach to the budget to force a "budget what I have, not what I might have" mindset, where any income in the month is not available until the next month. I don't even know where to begin with that code wise, and suspect it may require some substantial changes to the way transactions and budgets are linked, but I could certainly see some benefits to doing that.
Hope my waffle has been at all helpful or given you some sparks of things to think about in your solution.
Secondly, could I ask a favour? Would you be able to rename this issue to include a short summary sentence of what you're asking for? I have no official capacity to ask this of you, it's just a friendly request you can ignore, butI think it'd help with people scanning the request log looking for existing requests or for things to work on!
@jrucker2004 commented on GitHub (Dec 11, 2023):
I also think the way income is handled needs some work, but I don't know the best way to go about it. I'm self employed, and my income comes in gradually throughout the month, so it's really difficult to see what I'm working with ahead of time. My current solution is to create a new account called "Projections" and a category called "Projected income". I then add a transaction for what I predict what I'll have for income for the current or next month, and adjust it as the month progresses. I also have some income for contract work that takes 4-6 weeks to pay out. I need to be able to budget with that money, so I add it to my projections account, then delete it when the money actually shows up.
I'd love to be able to budget multiple months out, but since income can't be "Budgeted" like expenses are, I have to fake it with my projected transactions.
@Kidglove57 commented on GitHub (Dec 11, 2023):
@jrucker2004 in the circumstances you describe I can totally understand you wanting to project forward your income and expenditure.
There is a conflict here with Actual’s fundamental budgeting principle (Envelope Budgeting). This mirrors the way our forebears used to put money into physical envelopes dedicated to each expense category. Since envelope budgeting as a core principle only budgets the cash you already have we run into a problem.
As you will have seen there is an experimental Report Budget option as an alternative but I have never used it. Maybe that is where your proposal would best fit for future development?
Edit: I have looked at a lot of personal finance apps over the last few years and very seldom seen what you want. In fact, the only one I know of that majors on projections and provides the sort of thing you are looking for is Pocketsmith. https://www.pocketsmith.com/
@youngcw commented on GitHub (Aug 30, 2024):
I was thinking about this recently and had the same idea as here, to reuse the existing carryover structure that expense categories have and apply it to income categories. I was thinking that we could reuse the existing carryover icons and tooltip setup as expenses. Then the function could happen automatically in some way. A simple, but not perfect, way would be to check the hold amount every time the budget is opened and update the hold automatically if needed. Or this function could be handled the same way auto-posting of schedules is handled (whatever the specifics of that is).
@axelson commented on GitHub (Nov 29, 2024):
Yeah this is exactly how I picture this working. For each income transaction you could control if it's available for the current month or for next month. I don't know the details of Actual's data model but I could definitely picture it being quite tricky to implement!
This is one of the features that I miss from YNAB4.
I can live without it but it does necessitate updating the hold amount twice a month or so when I get paid since I like to keep my "to budget" amount at 0.
@erikhuizinga commented on GitHub (May 4, 2025):
I also would very much like an option to allocate all income's time of availability, e.g. next month. My reasoning (as a newcomer to actual but a veteran to YNAB-style budgeting:
I know that it's also possible, e.g. with templates, to sink all income into a category, and then consume from that in the next month's budget, but that's just obfuscating the problem that this issue has no solution, AFAIK.
@github-actions[bot] commented on GitHub (Jun 5, 2025):
🎉 This feature has been implemented in #4778 and will be released in the next version. Thanks for sharing your idea! 🎉
@lazynooblet commented on GitHub (Jul 2, 2025):
I will use this feature, thank you, I appreciate the effort. It is definitely an upgrade.
I do however feel like it has been over-engineered. A simpler approach would have been a new category called "Hold for next month" and allow the user to assign new income to that category. Now I need to all or nothing, which isn't as flexible.
Perhaps the entire hold mechanic prevents such a simple solution.
@RedHare-Exe commented on GitHub (Jul 3, 2025):
@lazynooblet You can do what you're describing. Just create a new income category manually, set it to hold, and then assign income you want to hold to that category. If there's income you don't want to hold, assign it to the default "income" category.
@lazynooblet commented on GitHub (Jul 3, 2025):
I just tried this and it works. Thank you! I misunderstood the feature obviously.