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

# Track work for a client

> Follow one client job end to end: create the client and project, set a budget and rates, track time, approve it, invoice it and record the payment.

This is the full chain, start to finish, for one real client job.

**Client → Project → Task → Estimate → Time entry → Approval → Budget impact → Invoice → Payment**

Every step links to the page that explains it in full. The value of this page is the **order**, the **decisions** and the **money adding up**.

<Info>
  **The example:** Northwind Studio wins the Bluebird Coffee website redesign for a fixed **\$40,000**. Priya (Project Manager) sets it up. Sarah and Jonas (Members) do the work. Daniel (Finance) bills it.
</Info>

## Before you start

<Warning>
  **Plan requirements.** Tracking time, tasks and timesheets are free. Approvals, budgets, invoicing and payments are **Pro**. On Free you can record everything on this page but you cannot approve it, bill it or export it. See [Free vs Pro](/billing/free-vs-pro).
</Warning>

You also need these apps switched on in **Settings → Apps**: Projects & tasks, Time tracking, Timesheets, Budgets, Invoices. See [Apps and modules](/concepts/apps-and-modules).

| Step                     | Who                         | Capability                         |
| ------------------------ | --------------------------- | ---------------------------------- |
| Client and project setup | Priya (PM)                  | `client.manage`, `project.manage`  |
| Rates                    | Maya (Owner) or Tom (Admin) | `rate.manage`                      |
| Budget                   | Priya (PM)                  | `budget.manage`                    |
| Tasks                    | Priya (PM)                  | `task.create`                      |
| Time                     | Sarah, Jonas (Members)      | `time.track`                       |
| Approval                 | Priya (PM)                  | `time.approve`                     |
| Invoice and payment      | Daniel (Finance)            | `invoice.manage`, `payment.record` |

## The whole journey

<Steps>
  <Step title="Priya creates the client">
    A client is the company you bill. Everything below hangs off it.

    Create **Bluebird Coffee** once. You will attach every Bluebird project, rate and invoice to it, so the name, currency and billing details only get typed one time.

    → [Create a client](/clients/create-a-client)

    <Tip>
      Set the client's default billable rate now if the whole account bills at one price. It saves you setting a rate on every project. See [Client rates](/clients/client-rates).
    </Tip>
  </Step>

  <Step title="Priya creates the project">
    A project is one engagement for that client. One client, many projects.

    Create **Website Redesign** under Bluebird Coffee. Bluebird also has a Monthly Retainer, and keeping them separate is what lets you tell the fixed job from the ongoing one.

    → [Create a project](/projects/create-a-project)
  </Step>

  <Step title="Priya adds the people who will work on it">
    Project membership decides who can pick the project when they track time, and it is also how [project visibility](/projects/project-visibility) works.

    Add **Sarah Lin** and **Jonas Bergman**.

    → [Project members](/projects/project-members)

    <Note>
      A group is a standing team. Project membership is who works on this one job. They are different things – see [Groups](/team/groups).
    </Note>
  </Step>

  <Step title="Priya sets the budget">
    The budget is the ceiling for the whole engagement. Bluebird is a fixed price job, so set a **money** budget of **\$40,000**.

    Choosing money over hours matters. A money budget burns at each person's billable rate, so an hour from Jonas eats more of it than an hour from Sarah. An hours budget counts every hour the same.

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

    <Tip>
      Turn on budget alerts now, not later. They fire at 50%, 75%, 90% and 100% of the budget. See [Budget alerts](/budgets/budget-alerts).
    </Tip>
  </Step>

  <Step title="Maya sets the rates">
    Rates are what make an hour worth money.

    | Person        | Billable rate | Cost rate |
    | ------------- | ------------- | --------- |
    | Sarah Lin     | \$100/hour    | \$45/hour |
    | Jonas Bergman | \$120/hour    | \$60/hour |

    **Billable** is what you charge Bluebird. **Cost** is what the person costs Northwind. The gap is your margin.

    → [Set a person rate](/rates/set-a-person-rate) · [Billable rates](/rates/billable-rates) · [Cost rates](/rates/cost-rates)

    <Warning>
      Set rates **before** anyone tracks time. A time entry snapshots the rate that applied on the day it was tracked, so hours logged before a rate exists have no value on them. See [Rate snapshots](/rates/rate-snapshots).
    </Warning>
  </Step>

  <Step title="Priya lays out the sections">
    Sections are the stages a task moves through on this project. You define them per project.

    For Bluebird: **Discovery**, **Design**, **Build**, **Review**, **Done**.

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

  <Step title="Priya creates the tasks and puts an estimate on each one">
    An estimate is on a **task** – how long that piece of work should take. It is not the budget. The budget is the ceiling for the project.

    | Task                | Assignee | Estimate | Rate  | Value at estimate |
    | ------------------- | -------- | -------- | ----- | ----------------- |
    | Homepage wireframes | Sarah    | 12 hours | \$100 | \$1,200           |
    | Design system       | Sarah    | 20 hours | \$100 | \$2,000           |
    | Build the homepage  | Jonas    | 30 hours | \$120 | \$3,600           |

    Those three tasks are **62 hours** and \*\*$6,800** of the $40,000 budget.

    → [Create a task](/tasks/create-a-task) · [Task estimates](/tasks/task-estimates) · [Budget vs estimate](/concepts/budget-vs-estimate)
  </Step>

  <Step title="Sarah and Jonas track their time">
    Two ways to record an hour, and both produce the same time entry.

    * **Timer** – runs live and stops. Best while you work. See [Using the timer](/time-tracking/using-the-timer).
    * **Manual entry** – typed after the fact. Best for catching up. See [Add time manually](/time-tracking/add-time-manually).

    Every entry needs a task or project, a duration, and a **billable** flag. Non-billable hours are still tracked and still count toward the timesheet – they just cannot go on an invoice.

    In week one:

    | Person        | Hours  | Rate  | Billable value | Cost rate | Cost        |
    | ------------- | ------ | ----- | -------------- | --------- | ----------- |
    | Sarah Lin     | 18     | \$100 | \$1,800        | \$45      | \$810       |
    | Jonas Bergman | 12     | \$120 | \$1,440        | \$60      | \$720       |
    | **Total**     | **30** |       | **\$3,240**    |           | **\$1,530** |

    Margin so far: **$3,240 − $1,530 = \$1,710**, which is **52.8%**.

    → [How to track time](/time-tracking/how-to-track-time) · [Billable hours](/time-tracking/billable-hours)
  </Step>

  <Step title="Sarah and Jonas submit the week">
    On Friday each person reviews their week and submits it. A timesheet is a whole week of entries sent for review in one go.

    The timesheet compares what they were **expected** to work against what they **tracked**, so a short week is visible before it reaches Priya.

    → [Fill in a timesheet](/timesheets/fill-in-a-timesheet) · [Submit a timesheet](/timesheets/submit-a-timesheet)

    <Note>
      Submitted is not approved. Submitted means the person is finished. Approved means a reviewer accepted it and the time is locked. See [Timesheet statuses](/timesheets/timesheet-statuses).
    </Note>
  </Step>

  <Step title="Priya approves the week">
    Priya opens **Approvals**, checks the week, and approves it. Approved time is **locked** – only an admin can change it after that.

    If something is wrong she can reject the week with a reason, and it goes back to draft for the person to fix.

    → [Approve a timesheet](/approvals/approve-a-timesheet) · [Reject a timesheet](/approvals/reject-a-timesheet)

    <Warning>
      This is the gate. **Only approved billable time can be invoiced.** Time that is still in draft or submitted will not appear when Daniel builds the bill. Approvals are a Pro feature.
    </Warning>
  </Step>

  <Step title="Priya checks the budget">
    Open the project and look at the budget bar.

    | Figure    | Value    |
    | --------- | -------- |
    | Budget    | \$40,000 |
    | Used      | \$3,240  |
    | Remaining | \$36,760 |
    | Burn      | 8.1%     |

    Northwind is 8.1% through the money for the first week of work. Priya compares that against how much of the job is actually done. If 8.1% of the budget bought less than 8.1% of the project, that is the first warning sign.

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

  <Step title="Daniel raises the invoice">
    Daniel creates an invoice **from tracked time**. He picks Bluebird Coffee and the Website Redesign project, and TimeTracker pulls in every approved billable entry that has not been billed yet.

    Week one bills at **\$3,240**. Approved billable expenses can go on the same invoice.

    He reviews the draft, edits the line descriptions if the client needs plainer wording, sets a due date, and sends it.

    → [Invoice from tracked time](/invoicing/invoice-from-tracked-time) · [Edit a draft invoice](/invoicing/edit-a-draft-invoice) · [Send an invoice](/invoicing/send-an-invoice)

    <Tip>
      Set your "bill from" block once, before the first invoice goes out. See [Invoice sender details](/invoicing/invoice-sender-details).
    </Tip>
  </Step>

  <Step title="Ruth receives it and Daniel records the payment">
    The invoice moves `draft` → `sent` → `viewed` as Ruth opens it. When the money lands, Daniel records the payment.

    * A payment for the full \$3,240 moves the invoice to `paid`.
    * A payment for part of it moves the invoice to `partially_paid`.

    → [Record a payment](/invoicing/record-a-payment) · [Invoice statuses](/invoicing/invoice-statuses)

    <Note>
      If Bluebird has a client portal contact, Ruth can see her invoices and shared projects herself. See [Invite a client contact](/portal/invite-a-client-contact).
    </Note>
  </Step>

  <Step title="Priya reviews the numbers">
    At the end of the month, build a report on the time entry source, filter it to Bluebird Coffee, and group it by person and task.

    You get the hours, the billable value, the cost and the margin in one table. Save it once and it reruns every month.

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

## The money, at every stage

This is the same 30 hours from week one, viewed from each stage of the chain.

| Stage          | What it says                                             |
| -------------- | -------------------------------------------------------- |
| Estimate       | The three tasks were planned at 62 hours, worth \$6,800. |
| Time tracked   | 30 hours recorded. Sarah 18, Jonas 12.                   |
| Billable value | $1,800 + $1,440 = **\$3,240**.                           |
| Cost           | $810 + $720 = **\$1,530**.                               |
| Margin         | $3,240 − $1,530 = **\$1,710**, or **52.8%**.             |
| Budget impact  | $3,240 of $40,000 used. **8.1%** burned. \$36,760 left.  |
| Invoice        | One invoice for **\$3,240**, sent to Bluebird Coffee.    |
| Payment        | \$3,240 received. Invoice is `paid`.                     |

The same hour appears in every row. That is the point of the chain – you never re-enter a number, so the report, the budget and the invoice cannot disagree.

## Common questions

<AccordionGroup>
  <Accordion title="Can I invoice time that has not been approved?">
    No. An invoice built from tracked time pulls approved billable entries only. Time still in `draft` or `submitted` will not appear. This is deliberate – it stops unreviewed hours reaching a client.

    If you need to bill before the week is approved, approve the week first, or raise a manual invoice with your own lines. See [Create an invoice](/invoicing/create-an-invoice).
  </Accordion>

  <Accordion title="What if someone tracks time before I set their rate?">
    The entry records the hours but has no billable value, because there is no rate to snapshot. Set the rate, then have an admin adjust the affected entries so they pick up the new rate. See [Rate snapshots](/rates/rate-snapshots) and [Adjustments](/approvals/adjustments).

    Set rates before the first hour is tracked and this never comes up.
  </Accordion>

  <Accordion title="Which rate wins if I set several?">
    The most specific one. The order is task rate, then project member rate, then the person's default rate, then the client default rate, then the workspace default. See [How rates are chosen](/rates/how-rates-are-chosen).
  </Accordion>

  <Accordion title="Do non-billable hours affect the budget?">
    An hours budget counts every hour, billable or not. A money budget only grows from hours that carry a billable value. See [Hours vs money budgets](/budgets/hours-vs-money-budgets).
  </Accordion>

  <Accordion title="Can I run this whole flow on the Free plan?">
    You can do the left half. Free covers clients, projects, tasks, estimates, time tracking and timesheets. Approvals, budgets, invoicing and payments are Pro.

    Nothing is lost while you are on Free. Submissions pile up and clear the day you upgrade. See [When a plan lapses](/billing/when-a-plan-lapses).
  </Accordion>

  <Accordion title="Sarah cannot see the Bluebird project. Why?">
    Either she is not a project member, or her role does not reach it. Check [Project members](/projects/project-members) first, then [Project visibility](/projects/project-visibility) and [Supervision scope](/concepts/supervision-scope).
  </Accordion>
</AccordionGroup>

## Troubleshooting

| Problem                         | Likely cause                                                             | Fix                                                       |
| ------------------------------- | ------------------------------------------------------------------------ | --------------------------------------------------------- |
| Invoice draft is empty          | The time is not approved yet                                             | [Approve the timesheet](/approvals/approve-a-timesheet)   |
| Hours show but the value is \$0 | No rate on the day it was tracked                                        | [Set a person rate](/rates/set-a-person-rate)             |
| Budget bar has not moved        | Entries are non-billable, or the budget is money and the rate is missing | [How budgets work](/budgets/how-budgets-work)             |
| Someone cannot start a timer    | The project is not one they belong to                                    | [Project members](/projects/project-members)              |
| A week will not submit          | An entry is missing a project or a duration                              | [Timesheet problems](/troubleshooting/timesheet-problems) |

## Related guides

<CardGroup cols={2}>
  <Card title="Weekly timesheet routine" icon="calendar-check" href="/guides/weekly-timesheet-routine">
    Turn steps 9 and 10 into a habit.
  </Card>

  <Card title="Quote to invoice" icon="file-invoice-dollar" href="/guides/quote-to-invoice">
    When the estimate becomes a fixed quote.
  </Card>

  <Card title="Monitor project profitability" icon="chart-line" href="/guides/monitor-project-profitability">
    Catch the budget going wrong early.
  </Card>

  <Card title="Month-end close" icon="calendar-days" href="/guides/month-end-close">
    Do all of this for every client at once.
  </Card>

  <Card title="Set up a new workspace" icon="rocket" href="/guides/set-up-a-new-workspace">
    Everything that happens before step one.
  </Card>
</CardGroup>
