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

# Invoice from tracked time

> Turn approved billable hours into invoice lines. Which time qualifies, how entries are grouped, what the client sees, and why double-invoicing is impossible.

Choose the **From tracked time** invoice type and TimeTracker lists every approved billable hour for that client, ready to select.

## Which time qualifies

An entry can be invoiced only if all of these are true:

| Condition                                | Why                                            |
| ---------------------------------------- | ---------------------------------------------- |
| It is marked **billable**                | A non-billable hour can never reach an invoice |
| Its status is **approved** or **locked** | Unreviewed time must not be charged            |
| It is not already invoiced               | One hour, one invoice                          |
| It is not in the Trash                   | Deleted time can never be billed               |

Everything else is filtered out before you see the list.

<Note>
  **Approved** means a reviewer accepted the timesheet. **Locked** means the time is settled and only an admin can change it. Both are safe to bill. See [/approvals/approve-a-timesheet](/approvals/approve-a-timesheet).
</Note>

## How entries are grouped

Entries are grouped by **project, task, person and date**. Each group becomes one editable line.

A group header looks like:

> ☐ Website Redesign – Sarah Lin · 10 Mar 2026    \$400.00 billable

Under it, each individual entry shows its hours and billable value, with its own checkbox.

| Control           | What it does                                      |
| ----------------- | ------------------------------------------------- |
| Group checkbox    | Ticks or clears every entry in the group at once  |
| Entry checkbox    | Ticks one entry                                   |
| Description field | The text the client will read on the invoice line |

## Writing the line description

The description defaults to the entry's own text, or **Billable time** if it has none. Overwrite it with something the client will recognise.

Good: `Homepage and checkout wireframes, 1–10 March`
Less good: `Sarah Lin – 10 Mar`

The description you type applies to every entry in that group.

## What each line stores

| Field       | Value                                                                        |
| ----------- | ---------------------------------------------------------------------------- |
| Description | Your group description, or the entry's own text                              |
| Qty         | The entry's billable hours, as an exact decimal                              |
| Rate        | The billing rate snapshotted on the entry, converted if the currency differs |
| Amount      | Qty × Rate                                                                   |

The rate is the one that was frozen onto the entry when it was recorded – not today's rate. See [/rates/rate-snapshots](/rates/rate-snapshots).

## Expenses on the same invoice

Approved billable expenses for the same client appear in their own **Billable expenses** section. Each is a single line at its amount plus its markup.

`amount × (1 + markup% ÷ 100)`

A $200 expense with a 15% markup bills at `200 × 1.15 = $230\`.

Invoicing an expense also moves it to **invoiced**. The **Expenses** app must be on for expense lines to be accepted.

## How to invoice tracked time

<Steps>
  <Step title="Approve the time first">
    Nothing appears in the picker until the timesheet is approved.
  </Step>

  <Step title="Create an invoice">
    **Invoices** → **Create invoice**.
  </Step>

  <Step title="Pick the client">
    The **Approved time available to invoice** section fills in.
  </Step>

  <Step title="Narrow by project (optional)">
    Set **Project** to bill one engagement, or leave it on **All projects**.
  </Step>

  <Step title="Keep the type on From tracked time">
    This is the default.
  </Step>

  <Step title="Tick the groups you want">
    Use the group checkbox for a whole day's work, or individual checkboxes for part of it.
  </Step>

  <Step title="Edit each description">
    Write what the client should read.
  </Step>

  <Step title="Add expenses if any">
    Tick them in the **Billable expenses** section.
  </Step>

  <Step title="Save draft">
    Review the document, then send.
  </Step>
</Steps>

## Example

Bluebird Coffee's March work at Northwind Studio:

| Group                                     | Hours  | Rate  | Billable    |
| ----------------------------------------- | ------ | ----- | ----------- |
| Website Redesign – Sarah Lin · 10 Mar     | 4      | \$100 | \$400       |
| Website Redesign – Sarah Lin · 17 Mar     | 6      | \$100 | \$600       |
| Website Redesign – Jonas Bergman · 18 Mar | 8      | \$120 | \$960       |
| **Subtotal**                              | **18** |       | **\$1,960** |

Daniel merges the two Sarah groups into a single readable story by giving both the description `Homepage and checkout wireframes`, ticks Jonas's group with the description `Front-end build`, and saves the draft. The invoice shows three lines totalling \$1,960.

## Double-invoicing is impossible

The moment an entry is invoiced it is marked as such and disappears from the picker. If two people build invoices at the same time and both select the same hour, the second save fails completely – it never partly succeeds.

You see: *"Some selected time entries were already invoiced by someone else. Refresh and try again."*

Reload the builder and rebuild the selection.

## Releasing time back

Voiding an invoice releases its time entries back to **locked** so they can be invoiced again, and its expenses back to **approved**. See [/invoicing/void-an-invoice](/invoicing/void-an-invoice).

Editing a draft does the same thing temporarily while it rebuilds, so entries you uncheck become available again.

## Permissions

| Action                        | Capability       | Default roles                          |
| ----------------------------- | ---------------- | -------------------------------------- |
| See the invoiceable time list | `invoice.manage` | Owner, Admin, Project Manager, Finance |
| Create the invoice            | `invoice.manage` | Owner, Admin, Project Manager, Finance |

The list carries the billable value only. It never carries an internal cost figure, whoever is looking at it. See [/invoicing/invoice-permissions](/invoicing/invoice-permissions).

## What happens next

1. Each selected entry moves to **invoiced** and is linked to its invoice line.
2. The invoice is created as a draft with server-calculated totals.
3. Project budget consumption already reflected the time when it was tracked – invoicing does not change it.
4. Sending the invoice emails the client's billing contact with a PDF.

## Common questions

<AccordionGroup>
  <Accordion title="Why is approved time missing from the list?">
    Check four things: the entry is billable, its status is approved or locked, it is not already invoiced, and its project belongs to the client you picked.
  </Accordion>

  <Accordion title="Can I invoice part of a day?">
    Yes. Untick the individual entries you do not want. Only ticked entries are billed.
  </Accordion>

  <Accordion title="Can I change the hours or the rate on a line?">
    Not on a time line – it is built from the entry. To change the money, either correct the time entry and re-invoice, or add a manual line or a discount.
  </Accordion>

  <Accordion title="Can I merge several days into one line?">
    Not automatically – each group is its own line. Giving several groups the same description makes them read as one piece of work.
  </Accordion>

  <Accordion title="What about non-billable time?">
    It never appears here. It still counts on the timesheet and in reports. See [/concepts/billable-vs-non-billable](/concepts/billable-vs-non-billable).
  </Accordion>

  <Accordion title="What if an entry has no rate?">
    It is listed with a billable value of zero. Fix the rate and re-enter the time, or bill it as a manual line.
  </Accordion>
</AccordionGroup>

## Troubleshooting

| Message                                                                                  | Meaning                                      | Fix                                                            |
| ---------------------------------------------------------------------------------------- | -------------------------------------------- | -------------------------------------------------------------- |
| "Nothing to invoice yet" / "Time must be approved and locked before it can be invoiced." | No qualifying time for that client           | Approve the timesheets first                                   |
| "Select a client to load approved time."                                                 | No client chosen                             | Pick a client                                                  |
| "Time that is submitted can't be invoiced. Only approved or locked billable time can."   | An entry is not approved                     | Approve it, then rebuild                                       |
| "Some selected time entries were already invoiced by someone else."                      | Another person got there first               | Reload and rebuild                                             |
| "That expense isn't an approved billable expense, so it can't go on an invoice."         | The expense is not approved, or not billable | Approve it and mark it billable                                |
| A line's rate is 0.00                                                                    | The entry was recorded with no billable rate | See [/rates/how-rates-are-chosen](/rates/how-rates-are-chosen) |

## Related guides

<CardGroup cols={2}>
  <Card title="Create an invoice" icon="file-plus" href="/invoicing/create-an-invoice">
    Every field on the builder.
  </Card>

  <Card title="Approve a timesheet" icon="check" href="/approvals/approve-a-timesheet">
    The step that unlocks invoicing.
  </Card>

  <Card title="Rate snapshots" icon="camera" href="/rates/rate-snapshots">
    Where each line's rate comes from.
  </Card>

  <Card title="Void an invoice" icon="ban" href="/invoicing/void-an-invoice">
    Releasing time for re-billing.
  </Card>

  <Card title="Edit a draft invoice" icon="pen" href="/invoicing/edit-a-draft-invoice">
    Changing the selection.
  </Card>

  <Card title="Billable vs non-billable" icon="scale-balanced" href="/concepts/billable-vs-non-billable">
    Which hours qualify.
  </Card>
</CardGroup>
