Project budgets

Overview
A budget answers the question: how much may this project cost, and how much of that is used up? Consumption comes from booked time and costs — the budget keeps count, it does not block.
That is a deliberate decision: a budget that prevents bookings leads to time no longer being recorded at all. A budget that warns leads to a conversation.
Core tasks
Set a budget. You define the amount or the number of hours per project.
Track consumption. The list shows budget, consumption and remainder — and the ratio, which shows the trend faster than absolute numbers.
Get warned in time. When a threshold is exceeded you are notified, instead of finding out at the month-end close.
Nest budgets. A budget can be placed under a broader one — a project budget under the customer's frame budget, a task budget under the project's. Choose the parent budget in the form. The parent target must cover your own (customer before project before task, or the same target). The budget guard then checks every booking along the whole chain: if the parent budget has a hard cap, it stops the booking even when the child budget only warns. Switch on Limits child budgets on the parent and the sum of the child limits must not exceed its limit — a further child budget above that is rejected, as is lowering the parent limit below the allocated sum. The list shows for each budget which one it sits under, and on the parent the allocated sum. Without a parent, budgets stay independent.
Fields in detail
| Field | Required | Values / format | What it does |
|---|---|---|---|
Name name | yes | text | What the budget is called. |
Level level | yes | customer, project, task, contract | What the budget hangs on. The level determines which effort runs against it. |
Target targetId | yes | the respective record | Which customer, project, task or contract. |
Unit unit | yes | hours or money | What is counted in. |
Amount amount / Hours hours | yes | 0 or more | The size of the budget, matching the unit. |
Period period | yes | once, monthly, quarterly, yearly | Whether the budget applies once or renews. With a running budget each period starts full again. |
Cap capMode | yes | hard cap, warn, soft | What happens on overrun. Hard cap prevents further bookings — effective, but it stops the work; warn only reports. |
Warning thresholds warnThresholds | no | percentages | At what consumption to warn, say at 80% and 100%. |
Warn on remainder warnRemaining | no | 0 or more | Additionally warn when only this much is left. On small budgets more telling than a percentage. |
Parent budget parentBudgetId | no | an existing budget you may manage | Builds a hierarchy: a project budget can be part of a customer budget. The parent target must cover your own; the guard also checks bookings against the parent budget — the way to run an annual frame across several projects. A cycle is rejected. |
Limits child budgets limitsChildren | no | yes/no | On the parent budget: the sum of the limits of all child budgets must not exceed its own limit; all child budgets need the same unit. Off = the child budgets are free. |
Brand brandId | no | one of your brands | For which brand. |
Active active | no | yes/no | Whether the budget is monitored. |
Settings & permissions
- Read:
projects.budget.view - Manage:
projects.budget.manage
Module flag: module.budget. Consumption comes from time tracking and project costs — without those modules the budget remains a plain target.
FAQ & troubleshooting
Consumption is lower than expected. Check whether all time has been booked. What is not recorded cannot be consumed.
A child budget cannot be saved. The parent budget limits its child budgets and the sum of the limits would exceed its limit — or the unit differs. The message names limit and allocated sum. Raise the parent limit or switch off Limits child budgets.
The budget shows a remainder although the project is finished. A budget does not expire automatically. Close the project so it leaves the open list.