> ## Documentation Index
> Fetch the complete documentation index at: https://docs.timetracker.in/llms.txt
> Use this file to discover all available pages before exploring further.

# How budgets work

> Understand utilisation, forecast at completion and project health in TimeTracker – what counts toward a budget and when the numbers update.

A budget turns tracked work into three numbers: **utilisation** (how much you have used), **forecast** (what the job will cost by the end) and **health** (a green, amber or red judgement).

None of them are typed in. All three are derived from time entries, rates and estimates.

## What counts toward a budget

This is the single most important rule, and it differs by budget kind.

| Budget kind | Measures             | Counts unapproved time? |
| ----------- | -------------------- | ----------------------- |
| **Money**   | Approved labour cost | No                      |
| **Hours**   | All logged time      | Yes                     |

### A money budget counts approved cost

Utilisation on a money budget is:

```
utilisation % = approved cost ÷ budget amount × 100
```

Approved cost is the sum of `cost rate × hours` for every entry a reviewer has approved, plus any adjustments.

Time that is tracked but not yet approved does **not** count. It sits in a separate figure, shown under the budget bar as "3.5h awaiting approval". A tooltip explains it: submitted time is excluded from spent and margin until a manager approves it.

<Note>
  This is why a busy project can show 0% utilisation. Everyone has tracked, nobody has approved. Approve the timesheets and the bar moves.
</Note>

### An hours budget counts everything logged

Utilisation on an hours budget is:

```
utilisation % = all logged hours ÷ budget hours × 100
```

Every logged millisecond counts, whatever its approval state. That is deliberate. An hours budget is about capacity, and capacity is consumed the moment someone works, not the moment a manager signs off.

### What does not count

| Not counted                         | Why                                                                     |
| ----------------------------------- | ----------------------------------------------------------------------- |
| Expenses                            | Expenses are tracked on their own axis. A money budget measures labour. |
| Time off                            | Leave is not project work.                                              |
| Time on other projects              | A budget is scoped to one project.                                      |
| Estimates that have not been worked | An estimate feeds the **forecast**, not the utilisation.                |

## The forecast

Utilisation tells you where you are. The forecast tells you where you are heading.

```
remaining hours = max(0, estimate hours − tracked hours)
forecast cost = cost so far + remaining hours × cost rate
forecast revenue = revenue so far + remaining hours × billing rate
forecast margin = forecast revenue − forecast cost
```

Remaining hours floor at zero. If you have already tracked more than the estimate, there is nothing left to project, so the forecast equals the actuals.

A project with **no estimates** has no remaining hours, so its forecast equals what has happened so far. Estimates are what make a forecast forward-looking.

### Completion percentage

```
completion % = tracked hours ÷ estimate hours × 100
```

With no estimate, completion is unknown rather than zero. The app leaves it out rather than showing a misleading 0%.

### Effective hourly rate

```
effective hourly rate = billable value to date ÷ tracked hours
```

This is the real rate the project is earning, blended across everyone who worked on it. With zero tracked hours it is shown as a dash with the tooltip "No tracked hours yet".

## Health

Health is a colour derived from the numbers. It is never a field you set.

<Tabs>
  <Tab title="Red – Over budget">
    Any one of these turns a project red:

    * the **forecast cost exceeds the budget**
    * **utilisation is 100% or more** – the budget is consumed
    * **utilisation leads completion by 25 percentage points or more** – you are spending far ahead of progress
  </Tab>

  <Tab title="Amber – At risk">
    If nothing red applies, any one of these turns it amber:

    * **utilisation is 75% or more** but still under budget
    * the **forecast is at 90% or more of the budget**
    * there is **at least one overdue task**
    * there are **five or more entries pending approval**
  </Tab>

  <Tab title="Green – On track">
    Everything else, including a project with no budget and no estimate. An unknown number never invents a warning.
  </Tab>
</Tabs>

Red beats amber. Amber beats green.

### Why the 25-point rule matters

A project at 60% utilisation sounds fine. A project at 60% utilisation and 30% completion is not – it is burning budget at twice the rate it is delivering work. On current trend it needs 120% of the budget to finish.

The 25-point rule catches that while there is still time to act, rather than waiting for utilisation to cross 100%.

## When the numbers update

The figures update as facts move, not on a schedule.

| Event                             | What moves                                                                 |
| --------------------------------- | -------------------------------------------------------------------------- |
| Someone logs time                 | Hours-budget utilisation, tracked hours, completion %                      |
| Someone deletes or moves an entry | Hours-budget utilisation, tracked hours                                    |
| A reviewer approves time          | Approved cost, revenue, money-budget utilisation, forecast, margin, health |
| A reviewer rejects approved time  | The same figures, in reverse                                               |
| A period is closed                | Approved cost and revenue lock                                             |
| An adjustment is recorded         | Approved cost and revenue by the signed amount                             |
| You change the budget             | Utilisation and health recalculate against the new ceiling                 |

The Overview reads a precomputed figure, so it stays fast on a project with a hundred thousand time entries.

## Example

Bluebird Coffee – Website Redesign, a \$40,000 money budget with a 400-hour total estimate.

**Work done so far**

| Person        | Hours   | Billing rate | Revenue      | Cost rate | Cost         |
| ------------- | ------- | ------------ | ------------ | --------- | ------------ |
| Sarah Lin     | 150     | \$100        | \$15,000     | \$45      | \$6,750      |
| Jonas Bergman | 50      | \$120        | \$6,000      | \$60      | \$3,000      |
| Ana Ferreira  | 50      | \$80         | \$4,000      | \$55      | \$2,750      |
| **Total**     | **250** |              | **\$25,000** |           | **\$12,500** |

**What the panel shows**

| Figure                | Calculation             | Result       |
| --------------------- | ----------------------- | ------------ |
| Utilisation           | $12,500 ÷ $40,000 × 100 | **31.25%**   |
| Completion            | 250 ÷ 400 × 100         | **62.5%**    |
| Remaining hours       | 400 − 250               | **150**      |
| Forecast cost         | $12,500 + 150 × $45     | **\$19,250** |
| Forecast revenue      | $25,000 + 150 × $100    | **\$40,000** |
| Forecast margin       | $40,000 − $19,250       | **\$20,750** |
| Gross profit so far   | $25,000 − $12,500       | **\$12,500** |
| Effective hourly rate | \$25,000 ÷ 250          | **\$100.00** |

**Health check**

* Forecast cost $19,250 vs budget $40,000 – not over.
* Utilisation 31.25% – under 75%.
* Utilisation minus completion = 31.25 − 62.5 = −31.25 – far from the +25 threshold. The project is delivering faster than it is spending.
* Forecast $19,250 vs 90% of budget ($36,000) – not approaching.

Result: **On track**, assuming no overdue tasks and fewer than five entries pending approval.

The bar reads **31% spent · 63% complete**, with the completion tick sitting well ahead of the fill.

## The Financials panel

On a project's Overview:

| Element                         | Shows                                                             |
| ------------------------------- | ----------------------------------------------------------------- |
| Health chip                     | **On track**, **At risk** or **Over budget**                      |
| **Edit budget** button          | Jumps to the Budget section in project Settings                   |
| Budget bar                      | A coloured fill for utilisation and a thin tick for completion    |
| Bar caption                     | The exact figures, for example `31% spent · 63% complete`         |
| **Forecast at completion** tile | Forecast revenue, and forecast cost when you can see cost         |
| **Forecast margin** tile        | Only shown when you can see cost                                  |
| **Gross profit** tile           | Billable value minus cost. Only shown when you can see cost       |
| **Effective hourly rate** tile  | Revenue per tracked hour                                          |
| Pending caption                 | `3.5h awaiting approval · 4 entries`, with an explanatory tooltip |
| Overdue caption                 | `2 overdue tasks may push this forecast.`                         |

With no budget and no approved time, the panel shows **No budget set** and a **Set budget** button instead.

<Note>
  The cost tiles are **omitted**, not blanked, for someone without `time.viewCost` or `rate.viewCost`. The grid reflows. There is no greyed-out placeholder hinting at a number you are not allowed to see.
</Note>

## Permissions

| Action                                       | Capability                         | Roles                         |
| -------------------------------------------- | ---------------------------------- | ----------------------------- |
| See the Financials panel and revenue figures | – (workspace member)               | Any member                    |
| See cost, gross profit and forecast margin   | `time.viewCost` or `rate.viewCost` | Owner, Admin                  |
| Set or change the budget                     | `budget.manage`                    | Owner, Admin, Project Manager |

## Common questions

<AccordionGroup>
  <Accordion title="Why is my utilisation 0% when the team has been tracking all week?">
    You have a money budget, and none of that time is approved yet. A money budget counts approved cost only. Look for the "awaiting approval" caption under the bar.
  </Accordion>

  <Accordion title="Why does an hours budget move immediately?">
    Because an hours budget measures capacity, and capacity is used up the moment someone works. Approval status is irrelevant to it.
  </Accordion>

  <Accordion title="My project has no estimates. Is the forecast wrong?">
    It is not wrong, it is just not forward-looking. With no estimate there are no remaining hours to project, so the forecast equals the actuals. Add task estimates to get a real forecast.
  </Accordion>

  <Accordion title="Can I mark a red project as green?">
    No. Health is derived, never hand-set. Change the underlying facts – raise the budget, reduce the remaining estimate, clear the overdue tasks, or approve the pending time.
  </Accordion>

  <Accordion title="Why is my project amber with only 20% utilisation?">
    Check the other amber triggers: one overdue task, or five or more entries pending approval, will do it on their own.
  </Accordion>

  <Accordion title="Does the completion tick use the same source as the bar fill?">
    They are different measures on the same axis. The fill is utilisation (spend). The tick is completion (progress). Seeing the fill run ahead of the tick is the warning sign.
  </Accordion>
</AccordionGroup>

## Troubleshooting

| Problem                                 | Cause and fix                                                                                |
| --------------------------------------- | -------------------------------------------------------------------------------------------- |
| Utilisation is blank                    | No budget is set, or the budget amount is zero.                                              |
| Completion is missing from the caption  | No task on the project carries an estimate.                                                  |
| Effective hourly rate shows a dash      | No hours have been tracked yet.                                                              |
| The forecast never changes              | Nobody is approving time, or no estimates exist. Check both.                                 |
| Health is red but utilisation looks low | The forecast probably exceeds the budget, or spend is leading progress by 25 points or more. |
| Cost tiles are missing                  | You lack `time.viewCost` and `rate.viewCost`.                                                |

## Related guides

<CardGroup cols={2}>
  <Card title="Set a project budget" icon="pen-to-square" href="/budgets/set-a-project-budget">
    Every field on the Budget form.
  </Card>

  <Card title="Hours vs money budgets" icon="scale-balanced" href="/budgets/hours-vs-money-budgets">
    Which unit measures what.
  </Card>

  <Card title="Budget alerts" icon="bell" href="/budgets/budget-alerts">
    What fires at 50, 75, 90 and 100 percent.
  </Card>

  <Card title="Profitability and margin" icon="chart-pie" href="/budgets/profitability-and-margin">
    Revenue minus cost.
  </Card>

  <Card title="Task estimates" icon="ruler" href="/tasks/task-estimates">
    The input the forecast depends on.
  </Card>

  <Card title="Budget vs estimate" icon="circle-question" href="/concepts/budget-vs-estimate">
    Two numbers that are straightforward to mix up.
  </Card>
</CardGroup>
