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

# Create an invoice

> Build an invoice in TimeTracker: pick the client and type, select approved time and expenses, add lines, discount, tax and payment terms, then save or send.

Click **Create invoice** on the Invoices page. Every invoice starts as a **draft**, so nothing is committed until you send it.

## Before you start

* You need the **Manage invoices** capability (`invoice.manage`).
* The **Invoices** app must be on – see [/concepts/apps-and-modules](/concepts/apps-and-modules).
* Invoicing is a **Pro** feature. On Free you can read existing invoices but not build a new one.

## The builder

The page is headed **Billing** / **New invoice**. On a wide screen a live **Preview** panel sits on the right and updates as you type.

### Client, project and type

| Field            | Notes                                                                                                                                                 |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Client**       | Required. The company you are billing. Placeholder: *Select a client*. Choosing a client loads their approved time and sets the starting currency.    |
| **Project**      | Optional. Placeholder: *All projects*. Only projects belonging to the chosen client are listed. Leave it blank to invoice everything for that client. |
| **Invoice type** | **From tracked time**, **Fixed fee**, **Milestone**, **Retainer**, **Recurring** or **Manual**.                                                       |

Choosing **Recurring** shows a note that the invoice is generated from a saved template using **Generate next** on the template's card.

### Invoice number

One optional field, **Invoice number**. The placeholder shows the next automatic number, for example *Auto: INV-000042*.

* Leave it blank to use the automatic number.
* Type your own to override it. It must be unique in the workspace and 64 characters or fewer.

The helper text reads *"Leave blank to use the next automatic number. A custom number must be unique within this workspace."* If the number is taken you see an inline error before you can save. See [/invoicing/invoice-numbering](/invoicing/invoice-numbering).

### Approved time available to invoice

This section appears for the **From tracked time** type. Entries are grouped by project, task, person and date. Each group shows a label such as *Website Redesign – Sarah Lin · 10 Mar 2026* and the billable total on the right.

| Control           | What it does                                                                                    |
| ----------------- | ----------------------------------------------------------------------------------------------- |
| Group checkbox    | Selects or clears every entry in the group                                                      |
| Group description | The text that becomes the invoice line. Placeholder: *Description (e.g. Design work – Jul 1–5)* |
| Entry checkbox    | Selects one entry, showing its hours and billable value                                         |

States you may see:

* *Select a client to load approved time.* – no client chosen yet
* *Loading…* – the list is still arriving
* **Nothing to invoice yet** / *"Time must be approved and locked before it can be invoiced. Check the approval queue."*

See [/invoicing/invoice-from-tracked-time](/invoicing/invoice-from-tracked-time).

### Billable expenses

Appears once a client is chosen. Each approved billable expense is a checkbox showing its category and billable value. If there are none you see *"No approved billable expenses."*

An expense line is billed at its amount plus its markup.

### Line items

Manual lines for anything not tracked. Click **Add line item** to add a row.

| Field           | Notes                         |
| --------------- | ----------------------------- |
| **Description** | Free text                     |
| **Qty**         | Defaults to `1` if left blank |
| **Rate**        | Defaults to `0` if left blank |

Each row has a remove button. The line amount is `Qty × Rate`.

### Discount and tax

| Control         | Options                                                   |
| --------------- | --------------------------------------------------------- |
| **Discount**    | **None**, **Percent** or **Fixed amount**                 |
| Discount amount | Placeholder `10` for a percent, `0.00` for a fixed amount |
| **Tax**         | Click **Add tax** to add a row                            |
| Tax name        | Placeholder *Tax name (e.g. VAT)*                         |
| Tax rate        | A percentage, placeholder `20`                            |

A percent discount is taken against the **pre-discount subtotal**. Every tax line is applied to the **same post-discount base** – taxes never compound. See [/invoicing/taxes-and-currency](/invoicing/taxes-and-currency).

A live money breakdown sits under these controls on narrow screens, and in the preview panel on wide ones.

### Payment terms, due date and currency

| Field             | Notes                                                                                           |
| ----------------- | ----------------------------------------------------------------------------------------------- |
| **Payment terms** | **Due on receipt** (0 days), **Net 15**, or **Net 30**. Choosing one sets the due date for you. |
| **Due date**      | A date picker. Change it freely after picking terms.                                            |
| **Currency**      | Starts on the client's default currency. **Locks as soon as the invoice has a line.**           |

### Exchange rates

This section only appears when a selected line is priced in a different currency from the invoice. You get one field per source currency, labelled for example **EUR → USD rate**. Every field must hold a positive number before you can save.

See [/rates/currencies-and-exchange-rates](/rates/currencies-and-exchange-rates).

## How to create an invoice

<Steps>
  <Step title="Open Invoices → Create invoice">
    The **New invoice** builder opens.
  </Step>

  <Step title="Pick the client">
    Approved time and billable expenses for that client load underneath.
  </Step>

  <Step title="Narrow to a project (optional)">
    Leave it on **All projects** to bill everything.
  </Step>

  <Step title="Choose the invoice type">
    **From tracked time** for hours, or one of the manual types for a fixed price.
  </Step>

  <Step title="Select what to bill">
    Tick the time groups, tick any expenses, and add manual lines.
  </Step>

  <Step title="Write the line descriptions">
    The group description is what the client reads. Make it about the work, not the person.
  </Step>

  <Step title="Add discount and tax">
    Optional. The breakdown updates as you type.
  </Step>

  <Step title="Set terms and due date">
    Pick a term to fill the due date, then adjust if you need to.
  </Step>

  <Step title="Fill in exchange rates">
    Only if the **Exchange rates** section appeared.
  </Step>

  <Step title="Save draft or Send invoice">
    **Save draft** stores it and leaves it editable. **Send invoice** saves it and sends it in one step.
  </Step>
</Steps>

You land on the invoice document either way. **Save draft** shows *"Draft saved."*; **Send invoice** shows *"Invoice sent."*

## Example

Daniel Okafor bills Bluebird Coffee for March on the **Website Redesign** project.

* **Client:** Bluebird Coffee
* **Project:** Website Redesign
* **Invoice type:** From tracked time
* **Selected time:** Sarah Lin 12 h at $100 = $1,200, Jonas Bergman 8 h at $120 = $960
* **Discount:** Percent, `10`
* **Tax:** `VAT`, `20`
* **Terms:** Net 30

The breakdown:

| Line                      | Amount         |
| ------------------------- | -------------- |
| Subtotal                  | \$2,160.00     |
| Discount (10% of \$2,160) | − \$216.00     |
| After discount            | \$1,944.00     |
| VAT 20% of \$1,944        | \$388.80       |
| **Total**                 | **\$2,332.80** |

He clicks **Save draft**, reads it through, then sends it.

## What happens when you save

1. The lines are built and the totals are calculated on the server.
2. An invoice number is allocated. The internal sequence advances even when you supply a custom number.
3. Your **bill from** block is snapshotted onto the invoice.
4. Every selected time entry moves to **invoiced** and every selected expense moves to **invoiced**.
5. The invoice is created as a **draft**.

<Warning>
  Saving is all or nothing. If any selected entry has already been invoiced by someone else, the whole save fails and nothing changes – you never get a half-built invoice.
</Warning>

## Options and settings

| Field              | Required               | Rules                                                                                    |
| ------------------ | ---------------------- | ---------------------------------------------------------------------------------------- |
| **Client**         | Yes                    | Must be a client in this workspace                                                       |
| **Project**        | No                     | Must belong to the chosen client                                                         |
| **Invoice type**   | Yes                    | Defaults to **From tracked time**                                                        |
| **Invoice number** | No                     | Unique in the workspace, 64 characters or fewer                                          |
| Lines              | Yes                    | At least one time entry, expense or manual line                                          |
| **Discount**       | No                     | A percent or a fixed amount. A discount larger than the subtotal floors the base at zero |
| **Tax**            | No                     | Any number of named rates. Both name and rate must be filled for a row to count          |
| **Payment terms**  | Yes                    | Due on receipt, Net 15, or Net 30                                                        |
| **Due date**       | Yes                    | Any date                                                                                 |
| **Currency**       | Yes                    | Locks once a line exists                                                                 |
| Exchange rates     | Only if currencies mix | A positive number per source currency                                                    |

## Permissions

| Action            | Capability       | Default roles                          |
| ----------------- | ---------------- | -------------------------------------- |
| Create an invoice | `invoice.manage` | Owner, Admin, Project Manager, Finance |

See [/invoicing/invoice-permissions](/invoicing/invoice-permissions).

## What happens next

1. The draft appears in the Invoices list with the **Draft** status.
2. Its time and expenses are marked invoiced and cannot be picked again.
3. You can edit it – see [/invoicing/edit-a-draft-invoice](/invoicing/edit-a-draft-invoice).
4. Sending it emails the client with a PDF attached – see [/invoicing/send-an-invoice](/invoicing/send-an-invoice).

## Common questions

<AccordionGroup>
  <Accordion title="Can I create an invoice with no tracked time?">
    Yes. Pick **Fixed fee**, **Milestone**, **Retainer** or **Manual** and add line items yourself.
  </Accordion>

  <Accordion title="Can I mix tracked time, expenses and manual lines?">
    Yes. Choose **From tracked time** and add manual line items alongside the selected entries.
  </Accordion>

  <Accordion title="Why is the currency field greyed out?">
    Because the invoice already has a line. Remove every line to unlock it, or start a new invoice.
  </Accordion>

  <Accordion title="Can I have more than one tax rate?">
    Yes. Add as many named rates as you need. They all apply to the same post-discount base and never stack on each other.
  </Accordion>

  <Accordion title="Do I have to write a description for each group?">
    No. If you leave it blank the entry's own description is used, or *Billable time*.
  </Accordion>

  <Accordion title="Can I create an invoice for several clients at once?">
    No. One invoice belongs to one client.
  </Accordion>
</AccordionGroup>

## Troubleshooting

| Message                                                                                    | Meaning                                     | Fix                                              |
| ------------------------------------------------------------------------------------------ | ------------------------------------------- | ------------------------------------------------ |
| "Select a client before saving."                                                           | No client chosen                            | Pick a client                                    |
| "Add at least one line item before saving."                                                | Nothing is selected                         | Tick some time, an expense, or add a manual line |
| "An invoice needs at least one line. Add some time or an expense."                         | The server received an empty selection      | Select something before saving                   |
| "Enter a valid exchange rate for EUR → USD before saving."                                 | An exchange rate is missing or not positive | Fill in the **Exchange rates** section           |
| "Choose an invoice number that isn't already in use."                                      | The custom number clashes                   | Pick a different number, or clear the field      |
| "Some selected time entries were already invoiced by someone else. Refresh and try again." | Another person invoiced the same time first | Reload and rebuild the selection                 |
| "Time that is submitted can't be invoiced. Only approved or locked billable time can."     | An entry is not approved yet                | Approve it first                                 |
| "That expense isn't an approved billable expense, so it can't go on an invoice."           | The expense is unapproved or non-billable   | Approve it and mark it billable                  |
| "Couldn't save this invoice. Check the fields above and try again."                        | The save was refused                        | Check every field, then retry                    |
| An upgrade prompt appears                                                                  | Your plan lacks `invoicing`                 | Upgrade to Pro                                   |

## Related guides

<CardGroup cols={2}>
  <Card title="Invoice from tracked time" icon="clock" href="/invoicing/invoice-from-tracked-time">
    The time picker in detail.
  </Card>

  <Card title="Edit a draft invoice" icon="pen" href="/invoicing/edit-a-draft-invoice">
    Changing it before you send.
  </Card>

  <Card title="Taxes and currency" icon="percent" href="/invoicing/taxes-and-currency">
    Discount, tax and FX arithmetic.
  </Card>

  <Card title="Invoice numbering" icon="hashtag" href="/invoicing/invoice-numbering">
    Automatic and custom numbers.
  </Card>

  <Card title="Send an invoice" icon="paper-plane" href="/invoicing/send-an-invoice">
    The next step.
  </Card>

  <Card title="Invoice sender details" icon="building" href="/invoicing/invoice-sender-details">
    The "bill from" block.
  </Card>
</CardGroup>
