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

# Billable rates

> A billable rate is what you charge a client for one hour of work. Learn how TimeTracker prices time entries, where to set the rate, and the edge cases.

A **billable rate** is what you charge a client for one hour of a person's time.

## A simple example

Sarah Lin's billable rate is **\$100 per hour**.

She tracks **3 hours** on "Homepage wireframes".

`3 × $100 = $300`

That entry is worth **\$300** to the client.

## A business example

Northwind Studio is running the **Website Redesign** project for **Bluebird Coffee**. Two people work on it in one week:

| Person        | Billable rate | Hours  | Billable value |
| ------------- | ------------- | ------ | -------------- |
| Sarah Lin     | \$100/hour    | 12     | \$1,200        |
| Jonas Bergman | \$120/hour    | 8      | \$960          |
| **Total**     |               | **20** | **\$2,160**    |

That \$2,160 is what Priya sees against the project budget, what Daniel puts on the invoice, and what the client eventually pays. One number, produced once, used everywhere.

## What it is

A billable rate is a price per hour, attached to a person, a project, a client or a task. It has three parts:

| Part           | Meaning                                          |
| -------------- | ------------------------------------------------ |
| Amount         | A non-negative decimal, such as `100` or `85.50` |
| Currency       | A three-letter code, such as `USD`               |
| Effective from | The date the rate starts applying                |

## Why it exists

Without a billable rate, tracked time is only hours. With one, every hour carries a money value the moment it is saved – so a budget can be consumed, an invoice can be raised, and a report can show revenue.

## When to use it

* **Person rate** – the normal case. Each person has a standard hourly charge.
* **Project rate** – you agreed a special price for one engagement.
* **Client rate** – you charge one flat hourly figure for everyone on that account.

See [/rates/project-and-client-rates](/rates/project-and-client-rates) for the last two.

## How it works

1. Someone saves a time entry.
2. TimeTracker looks for a billable rate that applies to that person, on that project, on that date.
3. The most specific rate wins: **task → project → person → client**.
4. The rate and its currency are copied onto the entry and never change again.
5. Billable value is `hours × rate`.

<Note>
  Only **billable** hours produce a charge. An hour marked non-billable is still tracked and still counts on a timesheet, but it never reaches an invoice. See [/concepts/billable-vs-non-billable](/concepts/billable-vs-non-billable).
</Note>

## How to set a billable rate

<Steps>
  <Step title="Open Settings → Rates">
    In the sidebar go to **Settings**, then **Rates** under **Billing & rates**. You see one row per member with their **Billing rate** in force today.
  </Step>

  <Step title="Open the person">
    Click the three-dot action at the end of their row and choose **Manage**. A dialog opens on the **Billing** tab.
  </Step>

  <Step title="Read the current rate">
    The top of the tab states the rate in force and the date it started, for example *"100.00 USD – per hour, since 1 Jan 2026"*. If nothing is set you see *"No billing rate set yet."*
  </Step>

  <Step title="Enter the new rate">
    Fill in **Rate / hour**, pick the **Currency**, and choose an **Effective from** date.
  </Step>

  <Step title="Click Add rate">
    You see **"Billing rate saved."** The new row appears in **Rate history**.
  </Step>
</Steps>

Full detail, including scheduling a future rate: [/rates/set-a-person-rate](/rates/set-a-person-rate).

## Example

Maya Ellis sets up rates for Northwind Studio at the start of the year:

| Person        | Billable rate | Effective from |
| ------------- | ------------- | -------------- |
| Sarah Lin     | 100.00 USD    | 1 Jan 2026     |
| Jonas Bergman | 120.00 USD    | 1 Jan 2026     |
| Ana Ferreira  | 80.00 USD     | 1 Jan 2026     |

In March, Sarah is promoted. Maya adds a second row: **125.00 USD, effective 1 April 2026**.

* Work Sarah records in March is priced at \$100/hour.
* Work she records from 1 April is priced at \$125/hour.
* The March work is untouched. Nothing is restated.

## Edge cases

<AccordionGroup>
  <Accordion title="Nobody set a rate">
    The entry is saved with no billable value. It is not priced at zero – it is unpriced. It will not add anything to a money budget and it cannot produce a meaningful invoice line. Set the rate, then re-record or re-enter the affected time if you need it priced.
  </Accordion>

  <Accordion title="A rate of exactly 0">
    `0` is a real rate, and it is different from having no rate. Use it deliberately when work is genuinely charged at nothing but should still show as billable, for example a goodwill hour you want visible on the invoice.
  </Accordion>

  <Accordion title="Two rates on the same day">
    The newest effective date that is not in the future wins. If you add two rows with the same **Effective from** date, remove the wrong one from **Rate history** rather than leaving both.
  </Accordion>

  <Accordion title="A future-dated rate">
    A row dated ahead of today is shown with a **Scheduled** badge and is ignored until its date arrives. This is the safe way to announce a price rise in advance.
  </Accordion>

  <Accordion title="The rate is in a different currency">
    Each rate carries its own currency. If Ana's rate is in EUR and the invoice is in USD, you enter an exchange rate when you build the invoice. See [/rates/currencies-and-exchange-rates](/rates/currencies-and-exchange-rates).
  </Accordion>

  <Accordion title="I changed a rate and old numbers did not move">
    That is the design. Entries snapshot the rate they were recorded at. See [/rates/rate-snapshots](/rates/rate-snapshots).
  </Accordion>

  <Accordion title="A negative rate">
    Rejected. You see *"That rate won't work. Enter an amount that isn't negative, like 120 or 120.50."*
  </Accordion>
</AccordionGroup>

## Options and settings

| Field              | Rules                                                                             |
| ------------------ | --------------------------------------------------------------------------------- |
| **Rate / hour**    | Required. A non-negative decimal. `120` and `85.50` are both fine.                |
| **Currency**       | Required. A supported three-letter code. Defaults to the workspace base currency. |
| **Effective from** | Required. A date. Defaults to today. Dates are handled as whole days.             |

## Permissions

| Action                        | Capability         | Default roles                 |
| ----------------------------- | ------------------ | ----------------------------- |
| Set or remove a billable rate | `rate.manage`      | Owner, Admin, Project Manager |
| See a billable rate           | `rate.viewBilling` | Owner, Admin, Project Manager |

Finance holds neither. Daniel can raise invoices from time that is already priced, but he cannot open the Rates page. See [/rates/rate-permissions](/rates/rate-permissions) and [/concepts/roles-and-capabilities](/concepts/roles-and-capabilities).

## Plans

Billable rates are available on every plan, including Free. See [/concepts/plans-and-features](/concepts/plans-and-features).

## What happens next

1. New time entries for that person are priced at the new rate.
2. Project budgets consume the new billable value – see [/budgets/profitability-and-margin](/budgets/profitability-and-margin).
3. Approved billable time becomes available to invoice – see [/invoicing/invoice-from-tracked-time](/invoicing/invoice-from-tracked-time).
4. Reports pick the new figure up on the next run.

## Troubleshooting

| Message or symptom                                                               | Meaning                                   | Fix                                                                                                           |
| -------------------------------------------------------------------------------- | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| "That rate won't work. Enter an amount that isn't negative, like 120 or 120.50." | The amount is negative or not a number    | Enter a plain decimal                                                                                         |
| "That isn't a currency code we recognise."                                       | The currency is not a supported ISO code  | Pick one from the list                                                                                        |
| "Couldn't save that rate. Check the amount and your permissions."                | The save was refused                      | Check the amount, then check you hold `rate.manage`                                                           |
| A new entry shows no money                                                       | No rate resolves for that person and date | Check the effective date, and check every level on [/rates/how-rates-are-chosen](/rates/how-rates-are-chosen) |
| Old entries did not change                                                       | Expected                                  | See [/rates/rate-snapshots](/rates/rate-snapshots)                                                            |
| The Rates page is not in the sidebar                                             | You lack `rate.manage`                    | Ask an Owner or Admin                                                                                         |

## Related guides

<CardGroup cols={2}>
  <Card title="Cost rates" icon="wallet" href="/rates/cost-rates">
    The other half of the margin.
  </Card>

  <Card title="How rates are chosen" icon="list-ordered" href="/rates/how-rates-are-chosen">
    Which rate wins, exactly.
  </Card>

  <Card title="Set a person rate" icon="user-pen" href="/rates/set-a-person-rate">
    Step by step.
  </Card>

  <Card title="Project and client rates" icon="folder-open" href="/rates/project-and-client-rates">
    Overrides above the person rate.
  </Card>

  <Card title="Rate snapshots" icon="camera" href="/rates/rate-snapshots">
    Why history is safe.
  </Card>

  <Card title="Invoice from tracked time" icon="file-invoice" href="/invoicing/invoice-from-tracked-time">
    Turning billable value into an invoice.
  </Card>
</CardGroup>
