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

# Monitor project profitability

> A fifteen minute weekly check on budget burn, margin and forecast, with the early warning signs that tell you a client project is going under.

Every week, spend fifteen minutes on this. It is the cheapest habit in the product.

A project rarely fails suddenly. It drifts for six weeks, and then it is out of money. The signals are visible from about week three, and this check finds them.

<Info>
  **The example:** Harbor Logistics – Mobile App. An **hours** budget of **600 hours**. Priya Raman (Project Manager) runs the check every Monday.
</Info>

## Before you start

<Warning>
  **Plan requirement.** Budgets and profitability are **Pro**. Setting a **cost** rate is also Pro, and without cost rates there is no margin to read. Billable rates stay free. See [Free vs Pro](/billing/free-vs-pro).
</Warning>

<Note>
  Seeing cost and margin is also a **permission** question, not only a plan question. `time.viewCost` and `rate.viewCost` decide who can see what a person costs. Members do not have them. See [Rate permissions](/rates/rate-permissions).
</Note>

## The three numbers

| Number       | What it is                                 | Where it lives                                                |
| ------------ | ------------------------------------------ | ------------------------------------------------------------- |
| **Burn**     | How much of the budget is used             | [Project budget](/projects/project-budget)                    |
| **Margin**   | Billable value minus cost, as a percentage | [Profitability and margin](/budgets/profitability-and-margin) |
| **Forecast** | Where the burn lands at this pace          | [Project profitability](/projects/project-profitability)      |

Burn on its own tells you nothing. **Burn compared against how much of the work is done** is the whole signal.

## The weekly check

<Steps>
  <Step title="Open the project and read the burn">
    Harbor at the end of week 9:

    | Figure    | Value     |
    | --------- | --------- |
    | Budget    | 600 hours |
    | Tracked   | 330 hours |
    | Remaining | 270 hours |
    | Burn      | 55%       |

    → [Project overview page](/projects/project-overview-page) · [How budgets work](/budgets/how-budgets-work)
  </Step>

  <Step title="Ask how much of the work is actually done">
    This is the number the product cannot read for you. Look at your sections and count what is finished.

    Priya's honest answer: about **40%** of the mobile app is done.

    **55% of the budget bought 40% of the project.** That is the warning.

    → [Project sections](/projects/project-sections)
  </Step>

  <Step title="Forecast the finish">
    If 330 hours delivered 40%, the whole job needs about **825 hours** (330 ÷ 0.40).

    That is **225 hours over** the 600 hour budget. At this pace Harbor overruns by 37.5%.

    Priya now has a decision to make while there are still 270 hours in the budget, instead of a crisis in week 15 with nothing left.
  </Step>

  <Step title="Read the margin">
    Hours over budget cost you money only if the work is unprofitable. Check the margin.

    | Person        | Hours   | Billable rate | Value        | Cost rate | Cost         |
    | ------------- | ------- | ------------- | ------------ | --------- | ------------ |
    | Sarah Lin     | 150     | \$100         | \$15,000     | \$45      | \$6,750      |
    | Jonas Bergman | 180     | \$120         | \$21,600     | \$60      | \$10,800     |
    | **Total**     | **330** |               | **\$36,600** |           | **\$17,550** |

    Margin: **$36,600 − $17,550 = \$19,050**, or **52.0%**.

    The work Northwind has done is profitable. The problem is not the rate, it is the volume. That points at scope, not at pricing.

    → [Calculate project profitability](/budgets/calculate-project-profitability)
  </Step>

  <Step title="Check who is doing the work">
    Build a report grouped by person and task. Look for expensive people on cheap work.

    If Jonas at $120 an hour has 40 hours on tasks Sarah could do at $100, that is \$800 of margin given away for nothing.

    → [Build a report](/reports/build-a-report) · [Grouping and pivots](/reports/grouping-and-pivots)
  </Step>

  <Step title="Do one thing about it">
    The check is worthless if nothing changes. Pick one:

    | What you found              | What to do                                                |
    | --------------------------- | --------------------------------------------------------- |
    | Scope grew                  | Agree a change order with the client and bill it          |
    | Estimates were low          | Re-estimate the remaining tasks so the forecast is honest |
    | Wrong person on the work    | Reassign the tasks                                        |
    | Rework is eating hours      | Fix the review step, not the hours                        |
    | The job is genuinely bigger | Raise the budget and tell the client now, not at the end  |

    → [Assignees](/tasks/assignees) · [Set a project budget](/budgets/set-a-project-budget)
  </Step>
</Steps>

## Early warning signs

Any two of these together mean the project needs attention this week.

| Sign                                                  | Why it matters                                        |
| ----------------------------------------------------- | ----------------------------------------------------- |
| Burn is ahead of completion by more than 10 points    | The forecast is already over budget                   |
| A budget alert fired earlier than you expected        | 50% by week 3 on a 12 week job is a problem           |
| Margin dropped between two weeks                      | Either a cheaper rate or an expensive person crept in |
| Tasks are running past their estimates by 25% or more | The estimates were wrong, so the quote was wrong      |
| Hours land on tasks already marked done               | Rework is being paid for out of the budget            |
| Non-billable hours are climbing on a billable project | Real work is being recorded as unbillable             |
| The same task is reopened twice                       | Scope is unclear, and it is being paid for in hours   |

<Tip>
  Let the product watch the first one for you. Budget alerts fire at 50%, 75%, 90% and 100%. See [Budget alerts](/budgets/budget-alerts).
</Tip>

## Set up the check once

Do this once and the weekly fifteen minutes becomes five.

<Steps>
  <Step title="Put a budget on every project">
    A project with no budget cannot be off track, because there is nothing to be off. Fenwick Legal – Brand Refresh has no budget, and that is a real choice, but it means nobody is watching it.

    → [Set a project budget](/budgets/set-a-project-budget) · [Hours vs money budgets](/budgets/hours-vs-money-budgets)
  </Step>

  <Step title="Turn budget alerts on">
    So the 50% crossing finds you rather than the other way round.

    → [Budget alerts](/budgets/budget-alerts)
  </Step>

  <Step title="Save one profitability report">
    Group by client, then project. Show hours, billable value, cost and margin. Save it, and it reruns with fresh numbers whenever you open it.

    → [Build a report](/reports/build-a-report) · [Saved reports](/reports/saved-reports)
  </Step>

  <Step title="Schedule it to arrive every Monday">
    Have the report emailed to Priya and Maya on Monday morning, so the check happens even in a busy week.

    → [Schedule a report](/reports/schedule-a-report)
  </Step>
</Steps>

## Hours budget or money budget?

The two behave differently, and that changes what "over budget" means.

|                    | Hours budget                   | Money budget                             |
| ------------------ | ------------------------------ | ---------------------------------------- |
| What it counts     | Every hour, at the same weight | Each hour at that person's billable rate |
| An hour from Jonas | Same as an hour from Sarah     | Costs more of the budget than Sarah's    |
| Non-billable hours | Count toward it                | Do not add billable value                |
| Best for           | Retainers and capacity deals   | Fixed price projects                     |

Harbor uses hours because it is a capacity commitment. Bluebird's redesign uses money because it is a fixed \$40,000.

→ [Hours vs money budgets](/budgets/hours-vs-money-budgets)

## Common questions

<AccordionGroup>
  <Accordion title="Why is my margin blank?">
    Either no cost rate is set for the people on the project, or your role cannot see cost. Cost rates need `rate.manage` to set and `rate.viewCost` to read. Members do not have them. See [Cost rates](/rates/cost-rates) and [Rate permissions](/rates/rate-permissions).
  </Accordion>

  <Accordion title="Can I see profitability on the Free plan?">
    Cost, revenue and margin already recorded stay readable on Free. What Pro gates is setting a **new** cost rate. So you keep your history, but you cannot price new people until you upgrade. See [Free vs Pro](/billing/free-vs-pro).
  </Accordion>

  <Accordion title="The budget bar has not moved. Why?">
    On a money budget, the entries may have no billable value because there is no rate on their date. On an hours budget, check the entries are actually attached to this project. See [How budgets work](/budgets/how-budgets-work).
  </Accordion>

  <Accordion title="Should I include non-billable hours in profitability?">
    For margin on a project, yes – the hours cost you money whether or not you bill them. That is exactly why a rising non-billable share is a warning sign. See [Billable vs non-billable](/concepts/billable-vs-non-billable).
  </Accordion>

  <Accordion title="Can a client see the budget?">
    No. Cost, margin and budget are internal. A client portal contact sees only what is explicitly shared with their company. See [What clients can see](/portal/what-clients-can-see).
  </Accordion>
</AccordionGroup>

## Related guides

<CardGroup cols={2}>
  <Card title="Quote to invoice" icon="file-invoice-dollar" href="/guides/quote-to-invoice">
    Where the estimate and the invoice separate.
  </Card>

  <Card title="Run a monthly retainer" icon="repeat" href="/guides/run-a-monthly-retainer">
    Watching a budget that resets every month.
  </Card>

  <Card title="Month-end close" icon="calendar-days" href="/guides/month-end-close">
    The monthly version of this check.
  </Card>

  <Card title="Track work for a client" icon="route" href="/guides/track-work-for-a-client">
    Where the budget gets set in the first place.
  </Card>

  <Card title="Manage contractors" icon="handshake" href="/guides/manage-contractors">
    Contractor hours and what they do to margin.
  </Card>
</CardGroup>
