actualbudget / actual

A local-first personal finance app
https://actualbudget.org
MIT License
15.77k stars 1.22k forks source link

[Feature] Option to automatically hold income for next month #1978

Closed Teifun2 closed 1 year ago

Teifun2 commented 1 year ago

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 1 year ago

:sparkles: Thanks for sharing your idea! :sparkles:

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 1 year ago

Would this be approved if i could do it in a PR?

Any poiners to understand what would be needed to do it.

rickdoesdev commented 11 months ago

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)

image

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 11 months ago

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 11 months ago

@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 2 months ago

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).