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

> How TimeTracker numbers invoices: the automatic gapless sequence, custom invoice numbers, uniqueness rules, and why a voided number is never reused.

Every invoice gets a number automatically. You can override it with your own, as long as it is unique in the workspace.

## The automatic number

The automatic format is `INV-` followed by a zero-padded sequence.

| Sequence | Renders as    |
| -------- | ------------- |
| 1        | `INV-000001`  |
| 42       | `INV-000042`  |
| 1000     | `INV-001000`  |
| 1000000  | `INV-1000000` |

The padding is a minimum of six digits. Past 999,999 the number grows – nothing is truncated.

## The sequence is gapless

Numbers are allocated one after another with no gaps and no reuse.

| Event                      | Effect on the sequence               |
| -------------------------- | ------------------------------------ |
| An invoice is created      | The next number is taken             |
| An invoice is voided       | Nothing – the number is not returned |
| A draft is edited          | Nothing – it keeps the number it had |
| You supply a custom number | The internal sequence still advances |

<Note>
  The last row is the one that surprises people. Even when you type your own number, the internal sequence moves on. That keeps the ordering and the audit trail intact, so invoices always sort in the order they were raised.
</Note>

## Custom invoice numbers

Type your own in the **Invoice number** field on the builder.

| Rule     | Detail                                                            |
| -------- | ----------------------------------------------------------------- |
| Optional | Leave it blank to use the automatic number                        |
| Unique   | No two invoices in the workspace may share a custom number        |
| Length   | 64 characters or fewer                                            |
| Trimmed  | Leading and trailing spaces are removed                           |
| Format   | Free text. `2026/BLUEBIRD/001` and `INV-2026-04-01` are both fine |

The field's placeholder shows the next automatic number, for example *Auto: INV-000042*. The helper text reads *"Leave blank to use the next automatic number. A custom number must be unique within this workspace."*

### Uniqueness is checked as you type

TimeTracker checks availability while you type. If the number is taken you see an inline error under the field:

> That invoice number is already used by another invoice. Choose a different one.

The **Save draft** and **Send invoice** buttons stay disabled until you fix it.

Editing a draft and re-saving it with the number it already has is never treated as a clash.

## How to set a custom number

<Steps>
  <Step title="Open the builder">
    **Invoices** → **Create invoice**, or **Edit** on a draft.
  </Step>

  <Step title="Find the Invoice number field">
    It sits below the client, project and type row.
  </Step>

  <Step title="Type your number">
    The availability check runs as you type.
  </Step>

  <Step title="Save">
    The number you typed is what the client sees, in the app, in the PDF and in every email.
  </Step>
</Steps>

To go back to automatic numbering on a draft, clear the field and save.

## Where the number appears

| Place                                | Uses                                        |
| ------------------------------------ | ------------------------------------------- |
| The Invoices list **Invoice** column | Your custom number, or the automatic one    |
| The invoice document header          | The same                                    |
| The PDF and its filename             | For example `Invoice-2026-BLUEBIRD-001.pdf` |
| Emails to the client                 | The same                                    |
| Internal notifications               | The same                                    |
| The void confirmation                | You type the number to confirm              |

Everything shows the same number, so a client quoting "invoice 2026/BLUEBIRD/001" always matches what you see.

## Example

Northwind Studio switches to their accountant's format mid-year.

| Invoice           | Custom number       | Shown as            |
| ----------------- | ------------------- | ------------------- |
| First of the year | –                   | `INV-000001`        |
| Second            | –                   | `INV-000002`        |
| Third             | `2026/BLUEBIRD/001` | `2026/BLUEBIRD/001` |
| Fourth            | `2026/HARBOR/001`   | `2026/HARBOR/001`   |

Behind them the sequence still ran 1, 2, 3, 4, so the invoices stay in the order they were raised.

## Permissions

| Action                        | Capability       | Default roles                          |
| ----------------------------- | ---------------- | -------------------------------------- |
| Set a custom invoice number   | `invoice.manage` | Owner, Admin, Project Manager, Finance |
| See the next automatic number | `invoice.manage` | Owner, Admin, Project Manager, Finance |

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

## Common questions

<AccordionGroup>
  <Accordion title="Can I change the INV- prefix?">
    Not on the automatic number. If you need a different prefix, type it as a custom number on each invoice.
  </Accordion>

  <Accordion title="Can I restart numbering each year?">
    Not for the automatic sequence – it runs for the life of the workspace. Use custom numbers such as `2026/001` to restart yourself.
  </Accordion>

  <Accordion title="Why did my automatic number jump?">
    Because an invoice was raised in between, possibly with a custom number, possibly one that was later voided. The sequence never goes backwards.
  </Accordion>

  <Accordion title="Can I reuse the number of a voided invoice?">
    Not the automatic one – it is gone for good. A custom number is also still taken by the voided invoice, so pick a new one.
  </Accordion>

  <Accordion title="Does the number change when I edit a draft?">
    No. Editing rebuilds the invoice in place and keeps its number.
  </Accordion>

  <Accordion title="Can two workspaces have the same number?">
    Yes. Numbers are unique within a workspace, not across them.
  </Accordion>
</AccordionGroup>

## Troubleshooting

| Message                                                                           | Meaning                              | Fix                                       |
| --------------------------------------------------------------------------------- | ------------------------------------ | ----------------------------------------- |
| "That invoice number is already used by another invoice. Choose a different one." | The number is taken                  | Pick a different number                   |
| "Invoice number '2026/ACME/001' is already in use. Pick a different one."         | The clash was caught on save         | Pick a different number                   |
| "That invoice number is too long. Use 64 characters or fewer."                    | Over the length limit                | Shorten it                                |
| "Choose an invoice number that isn't already in use."                             | Save is blocked by the inline error  | Fix the field first                       |
| The placeholder shows *Auto* with no number                                       | The next number has not loaded yet   | Wait a moment, or reload                  |
| The client quotes a number you cannot find                                        | They may be quoting a voided invoice | Search the list including voided invoices |

## Related guides

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

  <Card title="Edit a draft invoice" icon="pen" href="/invoicing/edit-a-draft-invoice">
    Why the number never changes.
  </Card>

  <Card title="Void an invoice" icon="ban" href="/invoicing/void-an-invoice">
    Why a voided number is not reused.
  </Card>

  <Card title="Download an invoice PDF" icon="file-arrow-down" href="/invoicing/download-an-invoice-pdf">
    The number in the filename.
  </Card>

  <Card title="Invoicing overview" icon="file-invoice" href="/invoicing/overview">
    The whole flow.
  </Card>

  <Card title="Invoice permissions" icon="file-shield" href="/invoicing/invoice-permissions">
    Who can set a number.
  </Card>
</CardGroup>
