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

> The seven invoice statuses in TimeTracker – draft, sent, viewed, partially paid, paid, overdue and void – with the exact table of which moves are allowed.

An invoice has exactly one status at a time. There are seven, and only certain moves between them are allowed.

## The seven statuses

| Status           | Label          | Meaning                                        |
| ---------------- | -------------- | ---------------------------------------------- |
| `draft`          | Draft          | Built but not issued. The only editable state. |
| `sent`           | Sent           | Issued to the client.                          |
| `viewed`         | Viewed         | The client has seen it.                        |
| `partially_paid` | Partially paid | Some money received, a balance remains.        |
| `paid`           | Paid           | Nothing outstanding. **Final.**                |
| `overdue`        | Overdue        | Past its due date and still unpaid.            |
| `void`           | Void           | Cancelled. **Final.**                          |

## The transition table

This is the complete list of legal moves. Anything not listed is refused.

| From             | Can move to                                           |
| ---------------- | ----------------------------------------------------- |
| `draft`          | `sent`, `void`                                        |
| `sent`           | `viewed`, `partially_paid`, `paid`, `overdue`, `void` |
| `viewed`         | `partially_paid`, `paid`, `overdue`, `void`           |
| `partially_paid` | `paid`, `overdue`, `void`                             |
| `overdue`        | `partially_paid`, `paid`, `void`                      |
| `paid`           | – **terminal**                                        |
| `void`           | – **terminal**                                        |

Three things follow from that table:

1. **A draft can only be sent or voided.** It can never jump straight to paid.
2. **Paid and Void are final.** Nothing moves out of them, ever.
3. **There are no self-moves.** Sending an invoice that is already sent is refused.

## What causes each move

| Move                   | Caused by                                                             |
| ---------------------- | --------------------------------------------------------------------- |
| `draft` → `sent`       | Clicking **Send invoice**                                             |
| any → `partially_paid` | Recording a payment, credit note or write-off that leaves a balance   |
| any → `paid`           | Recording a payment, credit note or write-off that clears the balance |
| any → `void`           | Voiding the invoice                                                   |

The paid and partially-paid moves are worked out from the ledger, not chosen by hand.

<Note>
  An invoice does not move itself to **Viewed** or **Overdue**. They are part of the lifecycle, but nothing in the product sets them for you. What you do get on the due date is an internal reminder to your workspace owners and admins, provided the invoice is still unpaid.
</Note>

## How Paid and Partially paid are worked out

Every payment, credit note and write-off is a row on the invoice's ledger. The balance is:

`balance = total − payments − credit notes − write-offs`

Then:

| Balance                        | Status                                 |
| ------------------------------ | -------------------------------------- |
| Zero or below                  | **Paid**                               |
| Above zero but below the total | **Partially paid**                     |
| Equal to the total             | Unchanged – the ledger nets to nothing |

### Example

Bluebird Coffee's invoice totals **\$2,332.80**.

| Event                   | Ledger              | Balance    | Status         |
| ----------------------- | ------------------- | ---------- | -------------- |
| Sent                    | –                   | \$2,332.80 | Sent           |
| Payment of \$1,000.00   | \$1,000.00 paid     | \$1,332.80 | Partially paid |
| Credit note of \$332.80 | + \$332.80 credited | \$1,000.00 | Partially paid |
| Payment of \$1,000.00   | + \$1,000.00 paid   | \$0.00     | **Paid**       |

## Which statuses accept money

A payment, credit note or write-off needs an **issued, non-final** invoice.

| Status           | Accepts a money event?                                                     |
| ---------------- | -------------------------------------------------------------------------- |
| `draft`          | No – *"Invoice #42 is still a draft. Send it before recording a payment."* |
| `sent`           | Yes                                                                        |
| `viewed`         | Yes                                                                        |
| `partially_paid` | Yes                                                                        |
| `overdue`        | Yes                                                                        |
| `paid`           | No – it is final                                                           |
| `void`           | No – it is final                                                           |

## Which statuses accept a reminder

The **Send reminder** action is offered for `sent`, `viewed`, `partially_paid` and `overdue` only. On anything else you see *"A reminder goes out only once an invoice has been sent."*

## Where you see the status

| Place                | How it appears                                             |
| -------------------- | ---------------------------------------------------------- |
| The Invoices list    | A coloured chip in the **Status** column                   |
| The invoice document | A chip beside the header                                   |
| A voided invoice     | A large diagonal **VOID** watermark across the document    |
| An overdue invoice   | A caption reading *"\$1,332.80 overdue since 30 Apr 2026"* |
| The PDF              | The same status label and the same watermark               |

You can filter the list by status through the column controls.

## Permissions

| Move                            | Capability       | Default roles                          |
| ------------------------------- | ---------------- | -------------------------------------- |
| Send                            | `invoice.manage` | Owner, Admin, Project Manager, Finance |
| Void                            | `invoice.manage` | Owner, Admin, Project Manager, Finance |
| Payment, credit note, write-off | `payment.record` | Owner, Admin, Project Manager, Finance |

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

## Common questions

<AccordionGroup>
  <Accordion title="Can I move a paid invoice back to unpaid?">
    No. Paid is final. If a payment was recorded in error, void the invoice and raise a new one.
  </Accordion>

  <Accordion title="Can I unvoid an invoice?">
    No. Void is final. Raise a new invoice from the released time.
  </Accordion>

  <Accordion title="Can I void a paid invoice?">
    No. Paid is terminal, so there is no move out of it – not even to void.
  </Accordion>

  <Accordion title="What happens if two people record a payment at the same time?">
    The second one is refused with *"This invoice has already moved on since the page loaded."* Reload to see the current state.
  </Accordion>

  <Accordion title="Can a payment be bigger than the balance?">
    No. The payment is refused with the outstanding figure named, so the invoice can never go past paid.
  </Accordion>

  <Accordion title="Does an overdue invoice stop accepting payment?">
    No. Overdue accepts partial payments, full payment and a void.
  </Accordion>
</AccordionGroup>

## Troubleshooting

| Message                                                                                    | Meaning                                                         | Fix                               |
| ------------------------------------------------------------------------------------------ | --------------------------------------------------------------- | --------------------------------- |
| "This invoice has already moved on since the page loaded. Refresh to see where it is now." | The status changed under you                                    | Reload the invoice                |
| "Invoice #42 is still a draft. Send it before recording a payment."                        | You tried a money event on a draft                              | Send it first                     |
| "Invoice #42 is paid, so it can no longer take a payment."                                 | The invoice is final                                            | Nothing to do                     |
| "A reminder goes out only once an invoice has been sent. This one is draft."               | The invoice has not been issued                                 | Send it first                     |
| "This invoice is already settled, so there's nothing to write off."                        | The balance is zero                                             | Nothing to do                     |
| The **Record payment** button is missing                                                   | The invoice is a draft or is void, or you lack `payment.record` | Send it, or check your capability |

## Related guides

<CardGroup cols={2}>
  <Card title="Send an invoice" icon="paper-plane" href="/invoicing/send-an-invoice">
    The draft to sent move.
  </Card>

  <Card title="Record a payment" icon="hand-holding-dollar" href="/invoicing/record-a-payment">
    What drives paid and partially paid.
  </Card>

  <Card title="Void an invoice" icon="ban" href="/invoicing/void-an-invoice">
    The one-way exit.
  </Card>

  <Card title="Edit a draft invoice" icon="pen" href="/invoicing/edit-a-draft-invoice">
    Why draft is the editable state.
  </Card>

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

  <Card title="Glossary" icon="book" href="/concepts/glossary">
    Every term in one place.
  </Card>
</CardGroup>
