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

# Approve an expense

> Clear submitted expenses from the shared Approvals inbox, see decided expenses in history, and withdraw an approval that was made in error.

Expenses queue on their own tab in **Approvals**, next to timesheets, timecards and time off. Open **Approvals → Expenses** to clear them.

For the full expense workflow – categories, receipts, markup and billing – see [/expenses/approve-an-expense](/expenses/approve-an-expense).

## The Expenses tab

Two sub-tabs.

| Sub-tab      | What it lists                                                                     |
| ------------ | --------------------------------------------------------------------------------- |
| **Awaiting** | Submitted expenses waiting on a decision, with **Approve** and **Reject** actions |
| **History**  | Expenses already decided – approved, rejected, or invoiced                        |

The tab carries a live count badge, and that count feeds the total on the **Approvals** link in the sidebar.

## Approve or reject

<Steps>
  <Step title="Open Approvals">
    Click **Approvals** in the sidebar, then the **Expenses** tab.
  </Step>

  <Step title="Stay on Awaiting">
    The queue lists every submitted expense you may review.
  </Step>

  <Step title="Review the expense">
    Check the person, category, amount and whether it is billable.
  </Step>

  <Step title="Approve or reject">
    Rejecting asks for a reason, which goes back to the person.
  </Step>
</Steps>

## The History sub-tab

History is a read-only audit of what has already been decided, with one exception.

| Column             | What it shows                                                        |
| ------------------ | -------------------------------------------------------------------- |
| **Person**         | Avatar and name of whoever submitted it                              |
| **Category**       | The expense category                                                 |
| **Billable value** | What the client is charged, in the expense currency                  |
| **Billable**       | A billable or non-billable chip, with the markup when you can see it |
| **Status**         | Approved, rejected, or invoiced                                      |
| `⋮`                | **Withdraw approval**, on approved rows only                         |

Empty state: "No decided expenses yet – approved and rejected expenses appear here."

### Withdraw an approval

Approved something by mistake? Take it back.

<Steps>
  <Step title="Open History">
    Go to **Approvals → Expenses → History**.
  </Step>

  <Step title="Find the approved expense">
    Only rows with the status **approved** carry the action. An invoiced expense does not.
  </Step>

  <Step title="Click Withdraw approval">
    A confirmation reads "The expense returns to the awaiting queue for re-review. This reverses your approval."
  </Step>

  <Step title="Confirm">
    You get `Approval withdrawn.` and the expense goes back to the **Awaiting** queue.
  </Step>
</Steps>

An expense that has already been invoiced cannot be withdrawn – it is on a bill someone has seen.

## Example

Ana Ferreira, a contractor at Northwind Studio, submits a \$180 stock-photo licence for Bluebird Coffee's Website Redesign, marked billable.

Daniel Okafor opens **Approvals**. The **Expenses** tab shows a `1` badge. He checks the category and the billable flag, and approves it. The \$180 is now available to bill to Bluebird Coffee.

The next day Priya Raman tells him the licence was for an internal template, not the client project. Daniel opens **Approvals → Expenses → History**, finds the row, clicks `⋮` → **Withdraw approval**, and confirms.

The expense goes back to the awaiting queue. Ana corrects it to non-billable, and Daniel approves it again.

## Permissions

| Action                                | Capability               | Default roles                                              |
| ------------------------------------- | ------------------------ | ---------------------------------------------------------- |
| See the Expenses tab, approve, reject | `expense.approve`        | Owner, Admin, Project Manager, Finance                     |
| Withdraw an approval                  | `expense.approve`        | Owner, Admin, Project Manager, Finance                     |
| Submit an expense                     | `expense.submit`         | Owner, Admin, Project Manager, Finance, Member, Contractor |
| Manage categories                     | `expenseCategory.manage` | Owner, Admin, Finance                                      |

Finance holds `expense.approve` – expenses are a money surface, so both the delivery roles and the money roles review them.

Supervision scope applies, and cost figures are filtered on the server, so a reviewer without cost permission never receives cost columns.

## Plan and app gating

* The **Expenses** app must be switched on in **Settings → Apps**. It depends on the **Projects & tasks** app.
* **Submitting an expense is free.** Approving one is **Pro**, like every other approval.

A Free workspace collects expense submissions and clears them the day it upgrades. Nothing is lost.

## What happens next

* An approved expense is settled, and a billable one can go onto an invoice.
* The person is notified of the decision.
* Once it lands on an invoice it becomes **invoiced**, and the approval can no longer be withdrawn.

## Common questions

<AccordionGroup>
  <Accordion title="Why is the Expenses tab missing?">
    The Expenses app is off in **Settings → Apps**, or you do not hold `expense.approve`.
  </Accordion>

  <Accordion title="Can I withdraw an invoiced expense?">
    No. Only an approved, not-yet-invoiced expense can be withdrawn. Void the invoice first.
  </Accordion>

  <Accordion title="Does approving an expense bill the client?">
    No. It makes a billable expense available to invoice. Someone still has to create the invoice.
  </Accordion>

  <Accordion title="Do expenses appear on the timesheet queue too?">
    Not as rows. The timesheet approval lists show a person's expense total for the period as a column, so you can see the whole picture.
  </Accordion>

  <Accordion title="Who reviews expenses – delivery or finance?">
    Both. Project Managers and Finance hold `expense.approve` by default, as do Owners and Admins.
  </Accordion>
</AccordionGroup>

## Troubleshooting

* **"Couldn't withdraw the approval."** The expense may already be invoiced, or someone changed it while your screen was open.
* **No `⋮` menu on a history row.** Only approved rows carry the withdraw action.
* **The tab shows a paywall.** The workspace is on the Free plan.
* **You cannot see the amounts you expect.** Cost and markup columns are filtered by capability.

## Related guides

<CardGroup cols={2}>
  <Card title="Approve an expense" icon="receipt" href="/expenses/approve-an-expense">
    The full expense review, in detail.
  </Card>

  <Card title="Expense statuses" icon="git-branch" href="/expenses/expense-statuses">
    Draft, submitted, approved, rejected, invoiced.
  </Card>

  <Card title="Approvals overview" icon="check-check" href="/approvals/overview">
    The shared inbox all four domains share.
  </Card>

  <Card title="Billable expenses" icon="dollar-sign" href="/expenses/billable-expenses">
    What makes an expense billable, and markup.
  </Card>

  <Card title="Expense permissions" icon="shield" href="/expenses/expense-permissions">
    Every expense capability, by role.
  </Card>

  <Card title="Approval permissions" icon="lock" href="/approvals/approval-permissions">
    Who approves what, across all four domains.
  </Card>
</CardGroup>
