> ## 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.

# Task-level caps

> Add a budget cap to an individual task in TimeTracker. Learn how caps sum toward a project and why they never reduce the project budget itself.

A task cap is a target for one task – "the homepage wireframes should not exceed 8 hours".

Caps are **informational**. They never reduce the project's budget, never block time tracking and never fire an alert on their own.

## What a cap is for

A project budget is a single ceiling for the whole engagement. It tells you nothing about where the money is going inside the project.

Caps add that detail. They let you say what each piece of work is supposed to cost, so a project manager can see which task blew through its share.

<CardGroup cols={2}>
  <Card title="Set expectations on a task" icon="ruler-horizontal">
    "Auth flow: 80 hours." Everyone working on it knows the intended size before they start.
  </Card>

  <Card title="Break a big budget into parts" icon="chart-pie">
    Split a 600-hour project into the four or five chunks that actually matter.
  </Card>

  <Card title="Spot the task that overran" icon="magnifying-glass">
    When a project goes over, caps tell you which task did it.
  </Card>

  <Card title="Give a subcontractor a target" icon="handshake">
    "This piece is capped at \$500." A cap makes that number visible in the app rather than in an email.
  </Card>
</CardGroup>

## Caps are informational – what that means

This is the rule to internalise.

| Caps do                                       | Caps do not                            |
| --------------------------------------------- | -------------------------------------- |
| Show on the task, in a **Budget cap** section | Reduce the project's available budget  |
| Show read-only on the project's Budget card   | Stop anyone tracking time past them    |
| Sum by kind for reference                     | Fire their own alerts                  |
| Get audited when added and removed            | Change utilisation, forecast or health |

The app says so in two places. On the task: "Informational only – it doesn't reduce the project budget." On the project Budget card: "Informational only – they don't reduce this project's budget. Add or remove a cap on the task itself."

<Note>
  If caps did reduce the project pool, a 600-hour project with 260 hours of caps would show 340 hours available, and adding a cap would silently shrink the budget. That is a second, competing budget – which is exactly what caps are designed not to be.
</Note>

## How caps sum toward the project

Caps roll up by kind. Hours caps sum with hours caps, money caps with money caps. They are never mixed.

For **Harbor Logistics – Mobile App**, a 600-hour project:

| Task                 | Cap           |
| -------------------- | ------------- |
| Auth flow            | 80 hours      |
| Payments integration | 120 hours     |
| Onboarding screens   | 60 hours      |
| **Total capped**     | **260 hours** |
| **Project budget**   | **600 hours** |
| **Uncapped**         | **340 hours** |

The project budget stays 600. The 260 hours of caps are a statement about three specific tasks, not a claim on the pool.

Nothing stops you setting caps that total more than the budget. Caps totalling 700 hours against a 600-hour budget is legal – and is itself useful information. It means the plan does not fit the sale.

### Money caps must share a currency

Every money cap on a project has to use the same currency. A set of caps in mixed currencies cannot be summed, so it is refused rather than producing a nonsense total.

In practice this is automatic: a cap inherits the project budget's denomination.

## A cap must match the project budget

A cap is denominated the same way as the project budget.

| Project budget | Cap kind | Cap unit                                                   |
| -------------- | -------- | ---------------------------------------------------------- |
| Hours          | Hours    | Hours                                                      |
| Money in USD   | Money    | USD                                                        |
| No budget set  | Money    | The form falls back to money so a cap is still expressible |

You do not choose the kind. The **Budget cap** section reads it from the project budget and labels the field accordingly – "In hours." or "In USD."

If you switch a project from a money budget to an hours budget, existing money caps no longer match. Remove and re-add them in hours.

## How to add a cap

<Steps>
  <Step title="Open the task">
    Open the task in the side panel or in full view.
  </Step>

  <Step title="Find the Budget cap section">
    It shows a **Current** row listing any caps already on the task, and an **Add cap** field.
  </Step>

  <Step title="Enter the amount">
    The placeholder tells you the unit – `e.g. 8` for an hours budget, `e.g. 500` for a money one.
  </Step>

  <Step title="Click Add cap">
    A toast confirms **Budget cap added.** The cap appears in the **Current** row.
  </Step>
</Steps>

The cap shows with its unit: `8h` for hours, `500 USD` for money.

## How to remove a cap

<Steps>
  <Step title="Find the cap in the Current row">
    Each cap has an X button beside it.
  </Step>

  <Step title="Click the X">
    A confirmation dialog opens: **Remove this budget cap?** – "The cap stops showing against this task. Nothing else changes, and you can add it again at any time."
  </Step>

  <Step title="Confirm">
    Click **Remove cap**. A toast confirms **Budget cap removed.**
  </Step>
</Steps>

Removing a cap changes nothing about the project's budget, spend or health. It only stops the cap being shown.

## Where caps appear

| Screen                                              | What you see                                             | Editable |
| --------------------------------------------------- | -------------------------------------------------------- | -------- |
| Task side panel → **Budget cap**                    | Current caps with remove buttons, and an Add cap field   | Yes      |
| Task full view → **Budget cap**                     | The same section                                         | Yes      |
| Project **Settings → Budget** → Task & section caps | A read-only list of every cap, with its label and amount | No       |

Caps are added and removed on the task, never on the project. One writer per concern keeps the project's list a truthful summary rather than a second editor.

If a cap's task has been deleted, the project list keeps showing it under a neutral label so you can still remove it. An orphan stays visible rather than vanishing.

## Example

**Harbor Logistics – Mobile App**, budgeted at 600 hours.

<Steps>
  <Step title="Priya breaks down the plan">
    She opens each of the three big tasks and adds a cap: Auth flow `80`, Payments integration `120`, Onboarding screens `60`.
  </Step>

  <Step title="The project Budget card lists them">
    Under **Task & section caps** the card shows:

    | Label                | Amount |
    | -------------------- | ------ |
    | Auth flow            | 80h    |
    | Payments integration | 120h   |
    | Onboarding screens   | 60h    |
  </Step>

  <Step title="The project budget is unchanged">
    The Budget card still reads **Total hours: 600**. Utilisation is still hours logged ÷ 600.
  </Step>

  <Step title="Two months later">
    Payments integration has taken 155 hours against its 120-hour cap. The project as a whole is at 380 of 600 hours – 63% – so no alert has fired.

    Without caps, Priya would only know the project was 63% used. With them she knows exactly which task is 35 hours over and can act on it before the project ladder starts firing.
  </Step>
</Steps>

Check the maths: 155 − 120 = 35 hours over on that task. 380 ÷ 600 = 63.33%, which is between the 50% and 75% rungs.

## Caps vs estimates vs budgets

Three numbers, three jobs.

|                    | Estimate                          | Cap                                | Budget                                           |
| ------------------ | --------------------------------- | ---------------------------------- | ------------------------------------------------ |
| Lives on           | A task                            | A task                             | A project                                        |
| Means              | How long the work should take     | The intended ceiling for this task | The ceiling for the engagement                   |
| Feeds the forecast | **Yes**                           | No                                 | No – it is what the forecast is measured against |
| Drives utilisation | No                                | No                                 | **Yes**                                          |
| Fires alerts       | No                                | No                                 | **Yes**                                          |
| Who sets it        | Anyone with `task.reviseEstimate` | Someone with `budget.manage`       | Someone with `budget.manage`                     |

The estimate is the number that actually does work in the engine. It drives completion percentage and the forecast. A cap is a note about intent. See [task estimates](/tasks/task-estimates) and [budget vs estimate](/concepts/budget-vs-estimate).

<Tip>
  If you find yourself setting a cap and an estimate to the same number on every task, set the estimate. It is the one the forecast reads.
</Tip>

## Permissions

| Action                              | Capability                       | Roles that hold it            |
| ----------------------------------- | -------------------------------- | ----------------------------- |
| See the Budget cap section          | `budget.manage` + Budgets app on | Owner, Admin, Project Manager |
| Add a cap                           | `budget.manage`                  | Owner, Admin, Project Manager |
| Remove a cap                        | `budget.manage`                  | Owner, Admin, Project Manager |
| See caps on the project Budget card | `budget.manage`                  | Owner, Admin, Project Manager |

Without the capability, the **Budget cap** section is hidden and the rest of the task panel renders normally. The section hides itself cleanly rather than showing an empty card.

The section also checks the Budgets app is on. With the app switched off the section disappears even for someone who holds the capability.

## Common questions

<AccordionGroup>
  <Accordion title="Will a cap stop someone tracking more time?">
    No. Nothing in TimeTracker blocks tracking. A cap is a target you can see, not a gate.
  </Accordion>

  <Accordion title="Do caps fire alerts when they are exceeded?">
    No. Alerts fire on the project budget only. Caps are informational.
  </Accordion>

  <Accordion title="Can one task have more than one cap?">
    The Current row lists caps as a set, so more than one can exist on a task. In practice, one cap per task is the clear way to use them.
  </Accordion>

  <Accordion title="Can I cap a section rather than a task?">
    Caps are added on the task itself in the app. A cap always targets a specific piece of work.
  </Accordion>

  <Accordion title="What if the caps add up to more than the budget?">
    Nothing is blocked. It is a signal worth acting on: your plan is bigger than what you sold.
  </Accordion>

  <Accordion title="Does removing a cap lose any history?">
    Adding and removing a cap are both recorded in the workspace audit trail. The cap itself stops showing.
  </Accordion>

  <Accordion title="Why can I not add a money cap to an hours project?">
    A cap inherits the project budget's denomination. Mixing an hours budget with a money cap has no meaningful sum, so it is refused.
  </Accordion>
</AccordionGroup>

## Troubleshooting

| Problem                                                   | Cause and fix                                                             |
| --------------------------------------------------------- | ------------------------------------------------------------------------- |
| No **Budget cap** section on the task                     | You lack `budget.manage`, or the Budgets app is off.                      |
| **Couldn't add the cap. Check the amount and try again.** | The amount is blank, zero, negative or not a number.                      |
| A cap is refused after changing the budget type           | Its denomination no longer matches. Remove and re-add it in the new unit. |
| The project Budget card shows no caps list                | No task on the project has a cap. The list only appears when caps exist.  |
| A cap shows a neutral label instead of a task name        | Its task has been deleted. The cap stays visible so you can remove it.    |
| **Couldn't remove the cap.**                              | Refresh the task. The cap may already have been removed by someone else.  |

## Related guides

<CardGroup cols={2}>
  <Card title="Set a project budget" icon="pen-to-square" href="/budgets/set-a-project-budget">
    Where caps are listed read-only.
  </Card>

  <Card title="Task estimates" icon="ruler" href="/tasks/task-estimates">
    The number that drives the forecast.
  </Card>

  <Card title="Budget vs estimate" icon="circle-question" href="/concepts/budget-vs-estimate">
    Three numbers, kept apart.
  </Card>

  <Card title="How budgets work" icon="gears" href="/budgets/how-budgets-work">
    What actually moves utilisation.
  </Card>

  <Card title="Budget permissions" icon="lock" href="/budgets/budget-permissions">
    Who can add and remove a cap.
  </Card>

  <Card title="Task details" icon="list-check" href="/tasks/task-details">
    The panel the cap section lives in.
  </Card>
</CardGroup>
