[GH-ISSUE #6873] [Feature] Goal Templates per Year #17133

Closed
opened 2026-04-14 20:03:44 -05:00 by GiteaMirror · 15 comments
Owner

Originally created by @totallynotjon on GitHub (Feb 5, 2026).
Original GitHub issue: https://github.com/actualbudget/actual/issues/6873

Verified feature request does not already exist?

  • I have searched and found no existing issue

💻

  • Would you like to implement this feature?

Pitch: what problem are you trying to solve?

Adding some syntax sugar to make very common calculations nicer for a simple template. This allows the intention of the template to be retained.

Budgeting "per" a timeframe, with the calculation baked in to get the proper number per month. Like.. I want to budget 1200 per year in this category. Not having to do a simple template with the math and a separate note of the intent to save an amount yearly.

This is similar to the "by" repeating template.. but with no enforced timeframe.

Describe your ideal solution to this problem

This could either be an extension of the simple template, or a new template category "per". The idea is for it to be super simple, just make it easier for the template to be managed. For simplicity, I would think limits would not be necessary to include on this, so it can be it's own new thing separate from the simple category.

#template 3000 per year
/12

#template 50 per week
*4

#template 200 per month

  • equivalent to simple template

#template 200 per quarter
/3

#template 6000 per semester
/6

And other time frame words could be added easily if requested.

Teaching and learning

Would add examples and it's own "per" section to the Goal Templates doc.

Originally created by @totallynotjon on GitHub (Feb 5, 2026). Original GitHub issue: https://github.com/actualbudget/actual/issues/6873 ### Verified feature request does not already exist? - [x] I have searched and found no existing issue ### 💻 - [x] Would you like to implement this feature? ### Pitch: what problem are you trying to solve? Adding some syntax sugar to make very common calculations nicer for a simple template. This allows the intention of the template to be retained. Budgeting "per" a timeframe, with the calculation baked in to get the proper number per month. Like.. I want to budget 1200 per year in this category. Not having to do a simple template with the math and a separate note of the intent to save an amount yearly. This is similar to the "by" repeating template.. but with no enforced timeframe. ### Describe your ideal solution to this problem This could either be an extension of the simple template, or a new template category "per". The idea is for it to be super simple, just make it easier for the template to be managed. For simplicity, I would think limits would not be necessary to include on this, so it can be it's own new thing separate from the simple category. ```#template 3000 per year``` /12 ```#template 50 per week``` *4 ```#template 200 per month``` - equivalent to simple template ```#template 200 per quarter``` /3 ```#template 6000 per semester``` /6 And other time frame words could be added easily if requested. ### Teaching and learning Would add examples and it's own "per" section to the Goal Templates doc.
GiteaMirror added the feature label 2026-04-14 20:03:44 -05:00
Author
Owner

@totallynotjon commented on GitHub (Feb 5, 2026):

This seems like an easy add which I should be able to get done. Just want to put this out if anyone has any feedback or additional thoughts. Just a QOL addition

<!-- gh-comment-id:3855550139 --> @totallynotjon commented on GitHub (Feb 5, 2026): This seems like an easy add which I should be able to get done. Just want to put this out if anyone has any feedback or additional thoughts. Just a QOL addition
Author
Owner

@youngcw commented on GitHub (Feb 5, 2026):

Why not use the periodic template? Oh this is to do extra math. The by template and schedule templates are for that

<!-- gh-comment-id:3855551622 --> @youngcw commented on GitHub (Feb 5, 2026): Why not use the periodic template? Oh this is to do extra math. The by template and schedule templates are for that
Author
Owner

@github-actions[bot] commented on GitHub (Feb 5, 2026):

Thanks for sharing your idea!

This repository uses a voting-based system for feature requests. While enhancement issues are automatically closed, we still welcome feature requests! The voting system helps us gauge community interest in potential features. We also encourage community contributions for any feature requests marked as needing votes (just post a comment first so we can help guide you toward 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 👍!

<!-- gh-comment-id:3855557810 --> @github-actions[bot] commented on GitHub (Feb 5, 2026): :sparkles: Thanks for sharing your idea! :sparkles: This repository uses a voting-based system for feature requests. While enhancement issues are automatically closed, we still welcome feature requests! The voting system helps us gauge community interest in potential features. We also encourage community contributions for any feature requests marked as needing votes (just post a comment first so we can help guide you toward 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 👍! <!-- feature-auto-close-comment -->
Author
Owner

@youngcw commented on GitHub (Feb 5, 2026):

These are all covered by existing template types. Periodic for the sub-monthly ones, and by/schedule for the extra-monthly ones

<!-- gh-comment-id:3855559979 --> @youngcw commented on GitHub (Feb 5, 2026): These are all covered by existing template types. Periodic for the sub-monthly ones, and by/schedule for the extra-monthly ones
Author
Owner

@youngcw commented on GitHub (Feb 5, 2026):

Also, the simple template is planned to be removed and replaced with a combination of refill/periodic templates, so we shouldn't be adding more to it. Especially if those additions are already covered by other templates.

<!-- gh-comment-id:3855590159 --> @youngcw commented on GitHub (Feb 5, 2026): Also, the simple template is planned to be removed and replaced with a combination of refill/periodic templates, so we shouldn't be adding more to it. Especially if those additions are already covered by other templates.
Author
Owner

@totallynotjon commented on GitHub (Feb 5, 2026):

Everything here is covered by existing templates, each with more verbose syntax for the added functionality.

My idea is to make it simple, doesn't need to be added to the simple template. No need for a due date/start date or to get an amount by a specific time, just a general idea of a certain amount in a time period, with simple syntax.

This should make the barrier to entry a bit easier. It also should be very easy to add since it is so simple.

This could be a modification to the existing periodic type perhaps, if all of that logic in there. Or maybe it's all there and the docs just need some simple examples.

<!-- gh-comment-id:3855601102 --> @totallynotjon commented on GitHub (Feb 5, 2026): Everything here is covered by existing templates, each with more verbose syntax for the added functionality. My idea is to make it simple, doesn't need to be added to the simple template. No need for a due date/start date or to get an amount by a specific time, just a general idea of a certain amount in a time period, with simple syntax. This should make the barrier to entry a bit easier. It also should be very easy to add since it is so simple. This could be a modification to the existing periodic type perhaps, if all of that logic in there. Or maybe it's all there and the docs just need some simple examples.
Author
Owner

@youngcw commented on GitHub (Feb 5, 2026):

The extra verbosity is needed to properly determine budget amounts. For example, what counts as a week? Thats why there is a start date (that and to keep the parsing simpler). Since this could be an extension of the periodic template we should get the GUI first. These could be added to the GUI instead of duplicated function in the templates.

The parsing could be updated to not require the start date on versions of the periodic template that don't need it.

<!-- gh-comment-id:3855620765 --> @youngcw commented on GitHub (Feb 5, 2026): The extra verbosity is needed to properly determine budget amounts. For example, what counts as a week? Thats why there is a start date (that and to keep the parsing simpler). Since this could be an extension of the periodic template we should get the GUI first. These could be added to the GUI instead of duplicated function in the templates. The parsing could be updated to not require the start date on versions of the periodic template that don't need it.
Author
Owner

@totallynotjon commented on GitHub (Feb 5, 2026):

Also, the simple template is planned to be removed and replaced with a combination of refill/periodic templates, so we shouldn't be adding more to it. Especially if those additions are already covered by other templates.

Is there any issues/pr's for these overall movements of the goal templates? Just curious

<!-- gh-comment-id:3855647630 --> @totallynotjon commented on GitHub (Feb 5, 2026): > Also, the simple template is planned to be removed and replaced with a combination of refill/periodic templates, so we shouldn't be adding more to it. Especially if those additions are already covered by other templates. Is there any issues/pr's for these overall movements of the goal templates? Just curious
Author
Owner

@youngcw commented on GitHub (Feb 5, 2026):

No need for a due date/start date or to get an amount by a specific time

If there is no need for a specific time then why have an interval at all? Why not use a #goal template instead?

<!-- gh-comment-id:3855648901 --> @youngcw commented on GitHub (Feb 5, 2026): > No need for a due date/start date or to get an amount by a specific time If there is no need for a specific time then why have an interval at all? Why not use a `#goal` template instead?
Author
Owner

@youngcw commented on GitHub (Feb 5, 2026):

Also, the simple template is planned to be removed and replaced with a combination of refill/periodic templates, so we shouldn't be adding more to it. Especially if those additions are already covered by other templates.

Is there any issues/pr's for these overall movements of the goal templates? Just curious

There are multiple PRs open currently that are working on the template GUI.

<!-- gh-comment-id:3855653968 --> @youngcw commented on GitHub (Feb 5, 2026): > > Also, the simple template is planned to be removed and replaced with a combination of refill/periodic templates, so we shouldn't be adding more to it. Especially if those additions are already covered by other templates. > > Is there any issues/pr's for these overall movements of the goal templates? Just curious There are multiple PRs open currently that are working on the template GUI.
Author
Owner

@totallynotjon commented on GitHub (Feb 5, 2026):

No need for a due date/start date or to get an amount by a specific time

If there is no need for a specific time then why have an interval at all? Why not use a goal template instead?

I just want simple syntax for a simple use case. I anticipate my medical costs could be about x dollars a year. I want to budget a monthly amount based on that and let it build up. I don't have anticipated dates I need the money. Just that I want the rate at x/year. Would be nice to just write #template x per year. It is simple to do the math and use a simple template, but by the same token... if it's so simple why can't it be added in to the product that is doing far more sophisticated things.

I only really care about extra-monthly, and being able to define savings rate. I added the other intervals because if the calculations will be simple then why not, if they are complex like for weeks then it is not worth it.

Looking at it from the principle of not having a date, it isn't covered by the periodic type or by/schedule type. They add sophistication to meet common goal deadlines based on start/end dates. This is a simpler approach than that, focusing on rate of savings.

<!-- gh-comment-id:3855758556 --> @totallynotjon commented on GitHub (Feb 5, 2026): > > No need for a due date/start date or to get an amount by a specific time > > If there is no need for a specific time then why have an interval at all? Why not use a goal template instead? I just want simple syntax for a simple use case. I anticipate my medical costs could be about x dollars a year. I want to budget a monthly amount based on that and let it build up. I don't have anticipated dates I need the money. Just that I want the rate at x/year. Would be nice to just write ```#template x per year```. It is simple to do the math and use a simple template, but by the same token... if it's so simple why can't it be added in to the product that is doing far more sophisticated things. I only really care about extra-monthly, and being able to define savings rate. I added the other intervals because if the calculations will be simple then why not, if they are complex like for weeks then it is not worth it. Looking at it from the principle of not having a date, it isn't covered by the periodic type or by/schedule type. They add sophistication to meet common goal deadlines based on start/end dates. This is a simpler approach than that, focusing on rate of savings.
Author
Owner

@youngcw commented on GitHub (Feb 5, 2026):

Would an input box that suported doing math cover this?

<!-- gh-comment-id:3855775743 --> @youngcw commented on GitHub (Feb 5, 2026): Would an input box that suported doing math cover this?
Author
Owner

@youngcw commented on GitHub (Feb 5, 2026):

@jfdoming Any thoughts?

<!-- gh-comment-id:3855778010 --> @youngcw commented on GitHub (Feb 5, 2026): @jfdoming Any thoughts?
Author
Owner

@totallynotjon commented on GitHub (Feb 5, 2026):

Would an input box that suported doing math cover this?

I would say that would pretty much cover this, makes it more convenient at least.

The driving factor is having the template statement be self descriptive, so it is clear what the intention was without extra notes. An input box with math you can infer the intent from slightly better than just a single number.

Of course I like my way more lmao

If there is gonna be a GUI where this is possible and just get's translated to some new version of the simple template under the hood, that also covers it. As in that case the GUI retains the information to describe the templates intent.

<!-- gh-comment-id:3856273500 --> @totallynotjon commented on GitHub (Feb 5, 2026): > Would an input box that suported doing math cover this? I would say that would pretty much cover this, makes it more convenient at least. The driving factor is having the template statement be self descriptive, so it is clear what the intention was without extra notes. An input box with math you can infer the intent from slightly better than just a single number. Of course I like my way more lmao If there is gonna be a GUI where this is possible and just get's translated to some new version of the simple template under the hood, that also covers it. As in that case the GUI retains the information to describe the templates intent.
Author
Owner

@youngcw commented on GitHub (Feb 5, 2026):

Please add some comments on the Template GUI feature request that add bits about doing math in the number fields and maybe the ability to add notes to the templates for remembering what its for. I hadn't thought about losing the descriptions part of tempaltes being in the notes.

<!-- gh-comment-id:3856304381 --> @youngcw commented on GitHub (Feb 5, 2026): Please add some comments on the Template GUI feature request that add bits about doing math in the number fields and maybe the ability to add notes to the templates for remembering what its for. I hadn't thought about losing the descriptions part of tempaltes being in the notes.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#17133