Skip to main content

Budget Goal Templates

danger

This is an experimental feature. That means we’re still working on finishing it. There may be bugs, missing functionality or incomplete documentation, and we may decide to remove the feature in a future release. If you have any feedback, please open an issue or post a message in the Discord.

danger

All functionality described here may not be available in the latest stable release. Use the edge images for the latest implementation.

Create a template by adding a note to a category and adding a line that begins with #template or #goal.

You are welcome to have other lines in your note, but the #template/#goal line must match the syntax.

Available Templates

note

Currency symbols are not required for setting templates. If you do want to use a currency symbol, the only one supported is $. Any other symbol added to the #template line will cause it to be treated as standard text, and fail to apply the template to your budget. Other requirements and limitations can be seen below this list, in the Notes section.

SyntaxDescriptionExample Application
#template 50Budget 50 each monthRegular monthly bills, such as internet
#template 50 up to 300Budget 50 each month up to a maximum of 300Funding rainy day categories, such as replacement shoes and bicycle repairs
#template up to 150Budget up to 150 each month, and remove extra funds over 150Variable expenses, such as petrol and groceries
#template up to 150 holdBudget up to 150 each month, but retain any funds over 150Variable expenses that may get refunds or reimbursements
#template up to 5 per dayBudget up to 5 per day that month, and remove extra fundsSetting a daily coffee budget
#template up to 100 per week starting 2024-10-07Budget 100 per week starting on Mondays, and remove extra fundsSetting a weekly grocery budget
#template 500 by 2025-03Break down large, less-frequent expenses into manageable monthly expensesSaving for a replacement car in a few years
#template 500 by 2025-03 repeat every 6 monthsBreak down large, less-frequent expenses into manageable monthly expensesBiannual credit card fees
#template 500 by 2025-03 repeat every yearBreak down large, less-frequent expenses into manageable monthly expensesAnnual insurance premium
#template 500 by 2025-03 repeat every 2 yearsBreak down large, less-frequent expenses into manageable monthly expensesDomain name renewal
#template 500 by 2024-12 spend from 2024-03Budget 500 by December. Any spending between March and December is OK.Christmas presents, overseas holiday, or any other expenses that I will be partially paying for before the target period ends.
#template 500 by 2024-12 spend from 2024-03 repeat every year
#template 500 by 2024-12 spend from 2024-03 repeat every 2 years
#template 10 repeat every week starting 2025-01-03Budget 10 a week
#template 10 repeat every week starting 2025-01-03 up to 80Budget 10 a week, up to a maximum of 80
#template 10 repeat every 2 weeks starting 2025-01-04Budget 10 fortnightly
#template 10 repeat every 9 weeks starting 2025-01-04 up to 30Budget 10 every 9 weeks, up to a maximum of 30
#template 15% of all incomeBudget 15% of all income categoriesUsing a "pay yourself first" strategy
#template 10% of PaycheckBudget 10% of the "Paycheck" income categoryUsing a "pay yourself first" strategy, but have income categories you want to ignore
#template 15% of previous all incomeBudget 15% of all income categories using last month's incomeUsing a "pay yourself first" strategy in conjunction with a "month ahead" strategy
#template 10% of previous PaycheckBudget 10% of last month's "Paycheck" income categoryUsing a "pay yourself first" strategy in conjunction with a "month ahead" strategy, but have income categories you want to ignore
#template 12% of available fundsBudget 12% of your "To Budget" funds available at the current priority level
#template schedule {SCHEDULE NAME}Fund upcoming scheduled transactions over timeMonthly schedules, or larger non-monthly scheduled transactions
#template schedule full {SCHEDULE NAME}Fund upcoming scheduled transaction only on needed monthSmall schedules that are non-monthly
#template average 6 monthsBudget the average amount spent over the last 6 months. Can set the number to any number > 0. Matches the existing option on the budget page but with flexible month ranges
#template copy from 12 months agoBudget the same amount as was budgeted 12 months ago. Number of months is adjustableYour power bill fluctuates throughout the year, but is about the same in equivalent months between years.
#template remainderAdd all remaining funds to this categorySee the Remainder Template Section for info
#goal 1000Set a long term goal instead of a monthly goalSee the Goal Directive Section for info

Notes

  • Currency symbol is optional, #template $50 and #template 50 are the same.
  • As mentioned above, currently $ is the only currency symbol supported.
  • Number formats that use comma for the decimal separator are not supported (e.g., 123,45). You must use 123.45.
  • Thousands separators are not supported (e.g., 1,234). You must use 1234.
  • {SCHEDULE NAME} is defined in the Schedules editor. Take great care to copy across these schedule names EXACTLY, without braces.
  • By default templates do not consider available funds when being applied. Use template priorities to not budget more than is available.
  • The hold flag can be added to any goal that uses the up to key word.
  • A single category with two templates that use up to is not supported.
  • If any single template contains an up to, the whole category will be subject to that limit even if there are later templates and priorities. This excludes remainders which will run after the limit is applied.

Multiple Template Lines

You can add multiple #template lines for a single category note. Each line will be added together.

For examples:

Budget 200/month for 3 months and 400/month for the next 3 months

#template 600 by 2024-06 repeat every 6 months

#template 1200 by 2024-09 repeat every 6 months

Streaming Services: 42.97

Netflix
#template 24.99
Disney Plus
#template 9.99
Amazon Prime
#template 7.99

100 every month and an additional 10 every fortnight

#template 10 repeat every 2 weeks starting 2025-01-04
#template 100

Template Priorities

Templates can be given a priority flag to change the order that the templates get applied to your budget. Set a priority by adding -X to the #template flag. EX #template-4 will be priority level 4. Any template with a priority other than 0 will not apply more funds than are available.

Notes

  • Lower priority values get run first. EX 0 is run first, then 1, then 2, etc.

  • A #template with no priority flag defaults to priority 0 and is the same as a standard template.

  • Negative priorities are not allowed and will result in the template being skipped.

  • Template application order is based on the database order, not the view order. To guarantee a specific fill order use separate priorities for each category.

  • If you have multiple schedule or by template lines in a single category, they will be forced to match the same priority level as the line run first.

  • It is recommended to use the "overwrite with budget template" option when applying templates if you use priorities.

    • Expected budgeted amount is 200 Expected maximum category balance is 200

      #template 300
      #template-1 150 up to 200
    • Expected budgeted amount is 450 No maximum category balance exists

      #template 150 up to 500
      #template-1 300

Remainder Template

The remainder template is run differently to the other templates. Any remainder templates will be forced to run last in their own pass. This way the amount left to budget is whatever remains after all other templates have had a chance to run. Below are a few considerations when using the remainder template:

  • You can use as many remainder templates as you want.
  • Remainder templates don't have a priority as they are always run last.
  • The remainder template supports weights to control the distribution of funds across multiple categories. See the examples on how this is done.
  • If no weight is provided, the weight will be defaulted to 1.
  • The budgeted amount is calculated as budgeted_amount=available_funds/sum_of_weights*category_weight.

Examples

All of the examples below use the case of 100 leftover when the remainder pass is run.

  1. Add all remaining funds to a single category.
CategoryTemplate lineAmount applied
Savings#template remainder100
  1. Split funds evenly between two categories.
CategoryTemplate lineAmount applied
Savings#template remainder50
Vacation Fund#template remainder50
  1. Split funds with one category receiving extra.
CategoryTemplate lineAmount applied
Savings#template remainder 266.66
Vacation Fund#template remainder33.34
  1. Spread funds over many categories.
CategoryTemplate lineAmount applied
Savings#template remainder 350
Vacation Fund#template remainder16.66
Investment Fund#template remainder 233.34

Goal Directive

This option is unique enough to warrant its own directive #goal instead of the standard #template option. The #goal option overrides how the goal indicator typically functions. In the standard #templates, the goal indication colors are based on the current month's budgeted value. When using the #goal option, the indication is based on the total balance. This shifts the indication to a long-term goal you are saving up to instead of just the current monthly portion. A few examples have been given to illustrate this difference.

Notes

  • The #goal templates are run the same way as the regular #templates but use the month options or the category budget options.
  • If there is a #goal directive in a category, the indicator for that category will be based on the total balance compared to the amount set in the #template line.
  • The #goal directive will not budget any funds, and funds budgeted by hand will not get reset by running templates.
  • A #goal line can be stacked with #templates to automatically budget the category (via the templates) but override how the category goal is indicated (the goal line).
  • If #templates include a #goal, the budgeted amount will get overwritten when using the "overwrite with budget template" button.
  • There is no priority on a #goal line.

Examples

All examples assume that 400 was carried over from the previous month

1. I'm saving for a large purchase, but I'm still determining how much I can allocate each month.

In this case, a balance greater than or equal to 500 will set the balance green, marking a met goal. If you run the template, you get the following:

Template Line(s)Amount budgetedBalance(color)
#goal 5000400(yellow)

If you were able to budget 100 this month, you would then hit your goal and get a green indication.

Template Line(s)Amount budgetedBalance(color)
#goal 500100500(green)

2. I'm saving for a purchase, but I will budget 50 a month until I reach my goal.

In this example, a template is used to automatically budget 50 into the category when templates are run. The #goal line will override the goal indication from the #template line, and only go green when a balance of 500 is reached. If you run templates, you get the following:

Template Line(s)Amount budgetedBalance(indication color)
#template 50 #goal 50050450(yellow)

If you have some extra funds after templates are run and can budget that last 50, you get the following:

Template Line(s)Amount budgetedBalance(indication color)
#template 50 #goal 500100500(green)

Apply the Templates

To apply the goal templates you create, enable the feature in the Settings experimental section. When the feature is on, three new options will appear in the monthly budget actions list.

Check templates will test all #template lines for proper syntax.

Apply budget template will only fill empty cells using the templates.

Overwrite with budget template will fill in all budget cells using the templates.

Goal Indicators

After having run the templates in a given month the status of a respective category goal will be indicated as a text color of the category balance. The image below shows an example of categories in the following states: normal (no goal set), zero (no goal set), goal met, goal not met, and a negative balance.