14. Savings goals
The Savings Goals module helps you separate money reserved for specific targets from day-to-day spending. Each goal is linked to a dedicated virtual account that sits beneath a savings account.
What it is for
- Track how much has been reserved for each target.
- Limit how much of monthly positive savings can be allocated to goals.
- Preview and approve month-close allocation.
- Optionally create real transfer transactions during approval.
Core concepts
Roles of accounts
| Account type | Description |
|---|---|
| Savings account (parent) | A regular, non-primary, non-virtual account that you designate as the collector for one or more goals. This is not your main spending account. You must either select an existing savings account or create a new dedicated one before creating a goal. |
| Virtual goal account | Created automatically when a goal is saved. It holds the reserved balance for one specific goal. You cannot use it directly for transactions. |
| Main account | Your everyday spending account. It must not be used as the parent for a savings goal. |
Key relationships
- One savings account can be the parent of multiple goals with different allocation percents.
- In a workspace, the first savings goal lets you choose or create the parent savings account; after that, all new goals reuse the same parent account automatically.
- The virtual goal accounts are nested under their parent savings account and display as read-only balance holders.
Other concepts
- Goal: name, target amount, current reserved amount, allocation percent, status.
- Allocation percent: share each active goal receives from the allocatable pool.
- Profile cap percent: global ceiling for how much of monthly positive savings can be allocated.
Important rules
- The parent account must be a savings account — it must be non-primary and non-virtual.
- If no suitable savings account exists, create one in Accounts before creating a goal.
- Sum of allocation percentages across active goals under the same parent savings account cannot exceed 100.
- Allocation percent must be between 1 and 100.
- Suspended and completed goals are excluded from automatic month-close distribution.
- If monthly net savings is negative, allocatable amount is zero.
Create a goal
- Open the Goals page.
- Click New goal.
- Step 1 — Parent savings account:
- This step is shown only when the workspace has no goals yet.
- Select an existing savings account from the list (only non-primary, non-virtual accounts appear).
- If none exists, go to Accounts, create a new account, and make sure it is not marked as primary or virtual.
- Step 2 — Goal details: enter goal name, target amount, and allocation percent.
- Optionally set an initial reserved amount (cannot exceed the parent savings account's available balance).
- Save; the linked virtual goal account is created automatically under the chosen savings account.
Tip: after the first goal exists, the chosen savings account is locked for the workspace and new goals will reuse it automatically.
Goal statuses
- Active: participates in monthly distribution.
- Suspended: temporarily excluded from distribution.
- Completed: target reached.
Manual actions
- Suspend / Resume: toggle participation in automatic distribution.
- Adjust: one-time increase or decrease with a reason.
- Change allocation percent: affects future month-close runs, not historical snapshots.
Month-close flow
-
Preview:
- system computes monthly net savings;
- applies allocation cap percent;
- calculates estimated distribution per active goal.
-
Approve:
- allocation is persisted;
- goal balances are updated;
- month snapshot is stored.
-
Approve with transfer:
- same as approve;
- plus transfer transactions are created from the parent savings account to each goal's virtual account.
-
Availability rule:
- month-close actions are available only on the profile-configured validation day.
- if automatic month-close is enabled in Profile, execution can run automatically on that day.
Typical validation errors
- allocation cap is outside 0..100 or allocation percent is outside 1..100;
- active goals allocation total under the same parent savings account would exceed 100;
- parent account is invalid (primary or virtual) — select or create a proper savings account instead;
- invalid month format in month-close request.