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

# Expense statuses

> The five expense statuses in TimeTracker – draft, submitted, approved, rejected and invoiced – what each one means, and who can move an expense between them.

An expense is always in exactly one of five statuses: `draft`, `submitted`, `approved`, `rejected` or `invoiced`.

`invoiced` is the end of the line. An invoiced expense cannot move again.

## The five statuses

| Status      | Chip      | What it means                                                                |
| ----------- | --------- | ---------------------------------------------------------------------------- |
| `draft`     | Draft     | You started it and have not sent it. Private to you. Editable and deletable. |
| `submitted` | Submitted | You sent it for review. It is in the approval queue and locked to editing.   |
| `approved`  | Approved  | A reviewer accepted it. A billable one is now invoiceable.                   |
| `rejected`  | Rejected  | A reviewer sent it back with a reason. You can rework it.                    |
| `invoiced`  | Invoiced  | It is on an invoice. Committed and final.                                    |

## The lifecycle

```
draft ──────► submitted ──────► approved ──────► invoiced
 ▲ │ │ │
 │ │ │ │
 └───────────────┘ └─► rejected └─────────────┐
 withdraw │ │
 ▲ │ withdraw approval
 └───────────────────────┘ │
 edit to rework ▼
 submitted
```

There are three ways to move backwards, and they all exist for a reason.

| Backward move            | Who does it   | Why it exists                                            |
| ------------------------ | ------------- | -------------------------------------------------------- |
| `submitted` → `draft`    | The submitter | Pull a bill out of the queue before anyone decides on it |
| `rejected` → `draft`     | The submitter | Rework a bill after a reviewer sends it back             |
| `approved` → `submitted` | The reviewer  | Reverse an approval given by mistake                     |

Reversing an approval is safe because no money moves on approval. Only invoicing commits the amount.

## Who moves each transition

| From        | To          | Action                    | Who                | Capability              |
| ----------- | ----------- | ------------------------- | ------------------ | ----------------------- |
| `draft`     | `submitted` | **Submit for approval**   | The submitter only | `expense.submit`        |
| `submitted` | `approved`  | **Approve**               | A reviewer         | `expense.approve` + Pro |
| `submitted` | `rejected`  | **Reject…** with a reason | A reviewer         | `expense.approve` + Pro |
| `submitted` | `draft`     | **Withdraw to draft**     | The submitter only | `expense.submit`        |
| `rejected`  | `draft`     | Editing the expense       | The submitter only | `expense.submit`        |
| `approved`  | `submitted` | **Withdraw approval**     | A reviewer         | `expense.approve`       |
| `approved`  | `invoiced`  | Adding it to an invoice   | An invoice builder | `invoice.manage`        |
| `invoiced`  | –           | Nothing. Terminal.        | –                  | –                       |

Every other move is refused. You cannot approve a draft directly, and you cannot re-submit an expense that is already submitted.

<Note>
  Editing, withdrawing and deleting are **submitter-only**. A reviewer never mutates someone else's expense – they approve, reject or withdraw their own approval.
</Note>

## What you can do in each status

| Status      | Edit | Withdraw | Delete | Approve or reject      | Invoice          |
| ----------- | ---- | -------- | ------ | ---------------------- | ---------------- |
| `draft`     | Yes  | –        | Yes    | No                     | No               |
| `submitted` | No   | Yes      | No     | Yes                    | No               |
| `approved`  | No   | No       | No     | Withdraw approval only | Yes, if billable |
| `rejected`  | Yes  | –        | Yes    | No                     | No               |
| `invoiced`  | No   | No       | No     | No                     | Already invoiced |

In your expense log, a row's three-dot menu reflects this:

* **Draft** or **Rejected** – Edit, Delete expense
* **Submitted** – Withdraw to draft
* **Approved** or **Invoiced** – no menu at all, just a dash

## Example

Sarah Lin's \$240 stock photo licence for Bluebird Coffee, from start to finish.

<Steps>
  <Step title="Draft">
    Sarah fills the form but does not have the receipt yet. She clicks **Save draft**. The row shows a `Draft` chip.
  </Step>

  <Step title="Submitted">
    The receipt arrives. She edits the expense, attaches it, and clicks **Submit for approval**. The chip becomes `Submitted` and the expense enters Daniel's queue.
  </Step>

  <Step title="Rejected">
    Daniel spots the wrong project and rejects it with the reason "This belongs to the Monthly Retainer, not the Website Redesign." The chip becomes `Rejected`. Sarah gets a notification carrying that reason.
  </Step>

  <Step title="Back to draft">
    Sarah opens the expense and changes the project. Editing a rejected expense returns it to `draft` and clears the old rejection reason.
  </Step>

  <Step title="Submitted, then approved">
    She submits again. Daniel approves. The chip becomes `Approved` and the \$276 billable value is now invoiceable.
  </Step>

  <Step title="Invoiced">
    Daniel builds Bluebird's monthly invoice and ticks the expense. The chip becomes `Invoiced`. Nothing about the expense can change from here.
  </Step>
</Steps>

## Filtering by status

The **Expenses** page has a **Status** dropdown above the table.

| Option        | Shows                             |
| ------------- | --------------------------------- |
| **All**       | Every active expense of yours     |
| **Draft**     | Only drafts                       |
| **Submitted** | Only expenses awaiting a decision |
| **Approved**  | Only approved expenses            |
| **Rejected**  | Only expenses sent back to you    |

Deleted expenses never appear in this list, whatever the filter. They sit in **Settings → Trash** until they are restored or purged.

On the Approvals screen, the two sub-tabs do the filtering instead: **Awaiting** shows `submitted` only, and **History** shows `approved`, `rejected` and `invoiced`.

## Deleting an expense

Delete is available only on a `draft` or `rejected` expense, and only to the person who submitted it.

* A **submitted** expense must be withdrawn to draft first.
* An **approved** or **invoiced** expense can never be deleted. It is committed financial history.

Deleting opens a confirmation dialog naming the category. Confirming moves the expense to **Settings → Trash**, where it can be restored. The receipt goes with it and comes back on restore.

An expense cannot be archived. Archive is for finished reference work; a transactional record like an expense is either live or in the trash.

## Notifications by status change

| Change                         | Who is notified                                                                   |
| ------------------------------ | --------------------------------------------------------------------------------- |
| Submitted                      | Everyone eligible to approve you. You are not notified about your own submission. |
| Approved                       | The submitter                                                                     |
| Rejected                       | The submitter, with the reason                                                    |
| Approval withdrawn             | The submitter, as a request for clarification                                     |
| Still submitted after 24 hours | The routed approver                                                               |
| Still submitted after 72 hours | Workspace managers                                                                |

All of these go to in-app and email by default. Members can tune their own preferences.

## Common questions

<AccordionGroup>
  <Accordion title="Why can I not edit a submitted expense?">
    Because a reviewer may be looking at it. Changing the amount under them would mean they approve one figure and you store another. Withdraw it to draft first.
  </Accordion>

  <Accordion title="What happens to my rejection reason when I rework the expense?">
    Editing a rejected expense returns it to `draft` and clears the old reason, so a second reviewer is not misled by a stale note.
  </Accordion>

  <Accordion title="Can an invoiced expense ever go back?">
    Not through the expense itself. `invoiced` is terminal. Handle any correction on the invoice.
  </Accordion>

  <Accordion title="Does approving an expense move any money?">
    No. Approval is a decision, not a payment. That is exactly why an approval can be safely withdrawn.
  </Accordion>

  <Accordion title="Can two people approve the same expense?">
    Only the first decision lands. A second attempt on an already-moved expense is refused – the app tells you the expense has already moved.
  </Accordion>

  <Accordion title="Where do deleted expenses go?">
    To **Settings → Trash**. They can be restored with their receipt intact until the trash is purged.
  </Accordion>
</AccordionGroup>

## Troubleshooting

| Problem                                          | Cause and fix                                                                                    |
| ------------------------------------------------ | ------------------------------------------------------------------------------------------------ |
| The row has no three-dot menu                    | The expense is `approved` or `invoiced`. Neither can be changed by the submitter.                |
| **Withdraw to draft** is missing                 | The expense is not `submitted`. Only a submitted expense can be withdrawn.                       |
| An action fails saying the expense already moved | Someone else changed it while your screen was open. Refresh and look again.                      |
| The Status filter has no **Invoiced** option     | Correct. Invoiced expenses are visible under **All**, and in **Approvals → Expenses → History**. |
| You cannot delete a rejected expense             | Check you are the submitter. Only the person who created it can delete it.                       |

## Related guides

<CardGroup cols={2}>
  <Card title="Submit an expense" icon="plus" href="/expenses/submit-an-expense">
    Moving from draft to submitted.
  </Card>

  <Card title="Approve an expense" icon="check" href="/expenses/approve-an-expense">
    Moving from submitted to approved or rejected.
  </Card>

  <Card title="Billable expenses" icon="file-invoice-dollar" href="/expenses/billable-expenses">
    Moving from approved to invoiced.
  </Card>

  <Card title="Expense permissions" icon="lock" href="/expenses/expense-permissions">
    Which role can move which edge.
  </Card>

  <Card title="Archive, trash and delete" icon="trash" href="/concepts/archive-trash-and-delete">
    Where a deleted expense goes.
  </Card>
</CardGroup>
