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

# Submit an expense

> Record a project cost in TimeTracker: enter the amount, pick a category and client, attach a receipt, mark it billable, and send it for approval.

To submit an expense, open **Expenses**, click **Submit expense**, fill the form, then click **Submit for approval**.

You can also save it as a draft and finish it later.

## Before you start

You need:

* the **Expenses** app switched on – it is on by default
* the `expense.submit` capability – every working role has it
* at least one active expense category in the workspace

<Note>
  Submitting is free on every plan. Only the approval step needs Pro.
</Note>

## How to submit an expense

<Steps>
  <Step title="Open Expenses">
    Click **Expenses** in the sidebar. You land on your own expense log.
  </Step>

  <Step title="Start a new expense">
    Click **Submit expense** in the top right. The **New expense** dialog opens.
  </Step>

  <Step title="Enter the amount and currency">
    Type the amount you paid, for example `240`. Pick the currency. The default is `USD`.
  </Step>

  <Step title="Set the expense date">
    Pick the date the money was spent. It defaults to today. This is the date reports window on, not the date you filed the expense.
  </Step>

  <Step title="Choose a category">
    Pick from the workspace category list – Travel, Meals, Software, Equipment or Other on a fresh workspace.
  </Step>

  <Step title="Pick the client and project">
    Both are optional. Choosing a client narrows the project list to that client's projects and switches the currency to the client's default currency.
  </Step>

  <Step title="Decide if it is billable">
    Turn **Billable to client** on if the client pays for this. A **Markup %** field appears. Leave it blank to bill at cost.
  </Step>

  <Step title="Attach the receipt">
    Click **Attach receipt** or drag the file onto the box. PDF, PNG or JPG up to 10MB.
  </Step>

  <Step title="Save or submit">
    Click **Submit for approval** to send it to a reviewer. Click **Save draft** to keep working on it.
  </Step>
</Steps>

A toast confirms the result: **Expense submitted for approval.** or **Draft saved.**

## Example

Sarah Lin buys a stock photo licence for the Bluebird Coffee Website Redesign.

| Field              | Value                                  |
| ------------------ | -------------------------------------- |
| Amount             | `240`                                  |
| Currency           | `USD`                                  |
| Expense date       | The purchase date                      |
| Category           | `Software`                             |
| Client             | `Bluebird Coffee`                      |
| Project            | `Website Redesign`                     |
| Billable to client | On                                     |
| Markup %           | `15`                                   |
| Receipt            | The PDF invoice from the stock library |

Northwind pays **$240**. Bluebird is charged 240 × 1.15 = **$276**. The \$36 difference is Northwind's margin on the expense.

Sarah clicks **Submit for approval**. The expense leaves her drafts and lands in the Approvals queue for Daniel Okafor.

## Every field on the form

| Field                  | Control              | Required | Notes                                                          |
| ---------------------- | -------------------- | -------- | -------------------------------------------------------------- |
| **Amount**             | Text, decimal keypad | Yes      | Must be greater than zero                                      |
| **Currency**           | Dropdown             | Yes      | USD, EUR, GBP, INR, AUD, CAD, JPY, AED, SGD. Defaults to `USD` |
| **Expense date**       | Date picker          | Yes      | Defaults to today                                              |
| **Category**           | Dropdown             | Yes      | Only active categories appear                                  |
| **Client**             | Dropdown             | No       | Defaults to **No client**                                      |
| **Project**            | Dropdown             | No       | Defaults to **No project**. Narrows to the chosen client       |
| **Billable to client** | Switch               | No       | Off by default                                                 |
| **Markup %**           | Text, decimal keypad | No       | Only shown when billable is on. Zero or a positive number      |
| **Receipt**            | File upload          | No       | PDF, PNG or JPG up to 10MB                                     |

### How the client and project fields behave

* Picking a **client** clears the project selection and re-filters the project list to that client's projects.
* Picking a **client** also switches the **currency** to that client's default currency, if it has one.
* You can leave both blank. The expense is still valid.

### How markup works

The **Markup %** field only appears while **Billable to client** is on. The form shows the formula under the field:

> Billable value = amount × (1 + markup%).

A markup on a non-billable expense is rejected. If you turn billable off after typing a markup, the markup is cleared.

Worked examples on a \$240 expense:

| Markup       | Billable value | Margin  |
| ------------ | -------------- | ------- |
| Blank or `0` | \$240.00       | \$0.00  |
| `15`         | \$276.00       | \$36.00 |
| `25`         | \$300.00       | \$60.00 |

## The receipt upload

The receipt box accepts one file.

* Click **Attach receipt** to open a file picker, or drag a file onto the box.
* Accepted types: PDF, PNG, JPG. The limit is 10MB.
* Once picked, the box shows the file name and size, for example `receipt.pdf (812 KB)`.
* The receipt uploads when you save or submit, not when you pick the file.

A receipt is optional but strongly recommended. Reviewers see a **View** link in the approval queue when a receipt exists, and a dash when it does not.

## Save as a draft

**Save draft** creates the expense without submitting it.

Use a draft when:

* you do not have the receipt yet
* you are waiting to confirm which project it belongs to
* you want a colleague to check the amount first

A draft is private to you. It sits in your expense log with a **Draft** status chip and can be edited or deleted freely.

When you reopen a draft to edit it, the dialog title reads **Edit expense** and the ghost button reads **Save changes**.

## What happens next

1. The expense moves to **Submitted** and leaves your editable set.
2. It appears in **Approvals → Expenses → Awaiting** for everyone who can approve your expenses.
3. Those reviewers get an in-app notification and an email. You are not notified about your own submission.
4. A reviewer approves or rejects it. Either way, you get a notification.
5. If nobody acts, the expense escalates – at 24 hours to the routed approver, and at 72 hours to workspace managers.

You can pull a submitted expense back before anyone decides. Open the row menu and choose **Withdraw to draft**.

## Editing and deleting

| Status    | Edit | Withdraw | Delete |
| --------- | ---- | -------- | ------ |
| Draft     | Yes  | –        | Yes    |
| Submitted | No   | Yes      | No     |
| Approved  | No   | No       | No     |
| Rejected  | Yes  | –        | Yes    |
| Invoiced  | No   | No       | No     |

To change a submitted expense, withdraw it to draft first. To change an approved one, ask a reviewer to withdraw their approval.

Deleting moves the expense to **Settings → Trash**, where it can be restored. The receipt goes with it and comes back on restore.

## Permissions

| Action                                                    | Capability       | Roles                                                      |
| --------------------------------------------------------- | ---------------- | ---------------------------------------------------------- |
| Create, edit, submit, withdraw or delete your own expense | `expense.submit` | Owner, Admin, Project Manager, Finance, Member, Contractor |

You can only act on **your own** expenses. Editing, withdrawing and deleting are all submitter-only. A reviewer never edits someone else's expense – they approve or reject it.

A Client portal contact cannot submit expenses at all.

## Common questions

<AccordionGroup>
  <Accordion title="Can I submit an expense on behalf of someone else?">
    No. An expense belongs to the person who created it. Ana Ferreira submits her own font licence; Priya cannot file it for her.
  </Accordion>

  <Accordion title="Can I attach more than one receipt?">
    No. One expense holds one receipt. Split a multi-receipt purchase into separate expenses, or combine the receipts into a single PDF.
  </Accordion>

  <Accordion title="Can I change the receipt after submitting?">
    Not while it is submitted. Withdraw the expense to draft, attach the new file, then submit again.
  </Accordion>

  <Accordion title="What is the difference between the expense date and the date I filed it?">
    The **expense date** is when the money was spent. Reports window on it by default. The filing date is recorded separately and is available in reports as **Date recorded**.
  </Accordion>

  <Accordion title="Do I need to pick a project for the expense to be billable?">
    No, but you should. A billable expense with no client cannot be matched to that client's invoice, so it will not appear in the invoice builder for them.
  </Accordion>

  <Accordion title="Why can I not enter a negative amount?">
    An expense records money spent. To correct an over-claim, delete the expense and file a correct one, or ask a reviewer to reject it so you can rework it.
  </Accordion>
</AccordionGroup>

## Troubleshooting

| Message or problem                                               | What it means                                                                                                       |
| ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| **Enter an amount greater than zero.**                           | The amount is blank, not a number, or zero.                                                                         |
| **Pick a category. Add one in Settings if the list is empty.**   | No category is selected.                                                                                            |
| **Markup must be zero or a positive percentage.**                | The markup is negative or not a number.                                                                             |
| **No categories yet. Add one in Settings → Expense categories.** | The workspace has no active categories. Ask an Owner, Admin or Finance user to add one.                             |
| **Couldn't save this expense. Check the fields and try again.**  | The server rejected the write. Check the amount, currency and category, then retry.                                 |
| The category you used has disappeared                            | It was archived. The form re-homes you to the first active category. Historical expenses keep their original label. |
| The receipt did not upload                                       | The file is over 10MB or is not a PDF, PNG or JPG. Re-save with a smaller or converted file.                        |

## Related guides

<CardGroup cols={2}>
  <Card title="Expenses overview" icon="receipt" href="/expenses/overview">
    How expenses fit the rest of TimeTracker.
  </Card>

  <Card title="Billable expenses" icon="file-invoice-dollar" href="/expenses/billable-expenses">
    Markup, billable value and invoicing.
  </Card>

  <Card title="Expense statuses" icon="list-check" href="/expenses/expense-statuses">
    What draft, submitted, approved, rejected and invoiced mean.
  </Card>

  <Card title="Expense categories" icon="tags" href="/expenses/expense-categories">
    The list an expense is filed under.
  </Card>

  <Card title="Approve an expense" icon="check" href="/expenses/approve-an-expense">
    What your reviewer sees next.
  </Card>
</CardGroup>
