> ## Documentation Index
> Fetch the complete documentation index at: https://help.dash.fi/llms.txt
> Use this file to discover all available pages before exploring further.

# Submitting expenses

> How cardholders add receipts, memos, and spend categories to card transactions and submit them for approval in Dash.fi.

When Expense Management is enabled, each card transaction becomes an expense record assigned to the cardholder. Your job is to fill in the required details and submit it before your policy deadline.

## Finding your expenses

Go to **Expenses** in the left-hand navigation. The **Transactions** page lists all expenses assigned to you, grouped by status across six tabs:

| Tab               | What's shown                                               |
| ----------------- | ---------------------------------------------------------- |
| **All**           | Every expense — pending, submitted, approved, and returned |
| **Draft**         | Started but not yet submitted                              |
| **Submitted**     | Sent for approval, awaiting review                         |
| **Needs Review**  | Returned by your approver — changes required               |
| **Approved**      | Approved by your approver                                  |
| **Out of Policy** | Flagged expenses (coming soon)                             |

Each tab shows a live count badge so you can see at a glance how many items need attention.

## Expense statuses

| Status            | Meaning                                                        |
| ----------------- | -------------------------------------------------------------- |
| **Needs coding**  | Transaction captured — no category, memo, or receipt yet       |
| **Draft**         | Expense started but not submitted                              |
| **Submitted**     | Sent for approval                                              |
| **Needs Review**  | Returned by your approver — open it to see what needs changing |
| **Approved**      | Approved by your approver                                      |
| **Ready to Sync** | Marked ready by your accounting team for GL sync               |
| **Synced**        | Successfully pushed to your connected accounting platform      |
| **Sync Failed**   | Sync attempt failed — contact your accounting team             |

## Filling in an expense

Click any expense row to open the expense sheet. The sheet has three tabs: **Overview**, **Notes**, and **Activity**.

### Spend category

Select a spend category from the dropdown. Dash.fi suggests one based on the merchant and transaction context. The suggestion appears with a sparkle icon at the top of the list, along with a brief explanation. Accept it or pick a different one.

Categories can also be set directly from the table without opening the sheet — click the category cell in any row.

### Memo

Type a description of what the purchase was for. The memo saves automatically as you type.

### Receipt

Attach the receipt using the receipt section:

* Click to open the file picker, or drag and drop a file onto the receipt area
* Accepted formats: JPG, PNG, PDF
* Maximum file size: 10 MB

After uploading, the filename is shown with a **View receipt** link (opens in a new tab) and a **Replace** button. To swap the receipt, click **Replace** and upload a new file.

Your company's policy determines whether a receipt is required before you can submit. If your policy sets a minimum amount, only expenses above that threshold require one.

## Bulk actions

To work through several expenses at once, select rows using the checkboxes on the left of the **Transactions** table. A bulk action bar appears at the top with the count of selected expenses and the actions below. Each action only runs on eligible rows. Anything that doesn't qualify — for example, an already-submitted expense — is skipped and called out in a toast.

| Action                    | What it does                                                                                                         | Eligible expenses                                                 |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| **Categorize**            | Opens a searchable category picker and applies the chosen spend category to every editable expense in the selection. | Status is **Needs coding**, **Draft**, or **Needs Review**.       |
| **Accept AI suggestions** | Confirms the pending AI-suggested category on each expense that has one but no committed category yet.               | Editable expenses with an unconfirmed AI suggestion.              |
| **Submit**                | Submits every eligible expense for approval in one click.                                                            | Expenses in **Draft** or **Needs Review** that are ready to send. |
| **Export**                | Exports the selected expenses using the standard export menu.                                                        | All selected rows.                                                |

The count next to each bulk button (for example, **Submit 8**) shows how many of your selected rows the action will touch. After the action runs, Dash.fi shows a toast summarising how many succeeded, failed, and were skipped.

Selection clears automatically when you switch tabs, so moving between **All**, **Draft**, **Submitted**, and the other tabs won't carry stale selections between them.

The **Merchant** column stays pinned to the left as you scroll horizontally, and any AI-suggested spend category you haven't accepted yet appears in italic, muted text in the category cell — click the cell to accept the suggestion or pick a different one.

Finance teams reviewing expenses from **Accounting → Card Transactions** have a similar bulk action bar with **Mark ready** and bulk export — see [Coding transactions for accounting](/expense-management/coding-transactions) for details.

## Download receipts as a ZIP

Expense administrators and accountants can pull down all the receipts attached to a set of expenses in a single archive — for example, to hand a month of receipts to an external auditor without downloading them one by one.

### Who can use it

You need the **expense admin** permission (typically expense administrators and finance / accounting users). Users without the permission still see the option in the export menu, but the export is scoped to their own expenses.

### How to trigger an export

1. From **Expenses** (or **Accounting → Card Transactions**), apply the filters that describe the receipts you want — cardholder, status, date range, amount range, and any other filters available in the current view.
2. Open the **Export** menu at the top-right of the table.
3. Click **Download receipts (zip)**.
4. Confirm in the **Download receipts?** dialog. The archive covers the receipts attached to the expenses currently matching your filters — not just the ones visible on screen — so double-check the filters before confirming.

Dash.fi shows a toast once the request is queued. You can keep working; the archive is built in the background.

### Limits

| Limit                       | Value    |
| --------------------------- | -------- |
| Maximum receipts per export | 1,000    |
| Maximum total archive size  | 2 GiB    |
| Download link validity      | 24 hours |

If your filters match more than 1,000 receipts, Dash.fi rejects the export up front and asks you to narrow the filters — for example, by tightening the date range or picking a single cardholder. If the matched receipts fit under 1,000 items but together exceed 2 GiB once collected, the export fails and Dash.fi notifies you. Narrow the filters and try again.

### How the archive is delivered

When the archive is ready, Dash.fi sends you an in-app notification with a **Download** link that stays valid for 24 hours. Each file in the archive is named `merchant-expenseId-originalfilename`, so you can trace an individual receipt back to its expense.

You'll also get a notification if the export can't be completed:

* **No receipts** — none of the expenses matching your filters have receipts attached.
* **Too large** — the receipts exceeded the 2 GiB archive cap during processing.
* **Failed** — something went wrong on our side. Try again, or contact support if it keeps failing.

Missing receipt files (for example, a receipt that was recorded but never finished uploading) are skipped silently and don't fail the export.

## Submit for approval

Once you've filled in the required fields, click **Submit for Review** at the bottom of the sheet. The expense status moves to **Submitted** and your approver is notified.

## Approver review

Approvers receive the expense in their **Inbox**. Opening it shows the full expense details — merchant, amount, category, memo, and receipt — along with **Approve**, **Decline**, and **Return** actions.

* **Approve** — marks the expense as approved and moves it to the accounting sync queue
* **Decline** — rejects the expense; the cardholder can see the outcome in their **Approved** or **Needs Review** tab
* **Return** — sends the expense back to the cardholder with notes requesting changes

Approvers can also add notes to the expense directly from the approval view.

### Bulk approve or decline from the Inbox

The **Inbox → To review** list on desktop web has a bulk action bar for clearing multiple requests at once — expense submissions, bill payments, card requests, and vendor changes all live in the same queue. Use it when you have a stack of similar requests and don't need to open each one.

1. In **Inbox → To review**, select the checkbox on each row you want to act on. Only rows in **Submitted** status are selectable — Dash.fi skips anything already decided.
2. Click **Approve** or **Decline** in the bulk action bar at the bottom of the table. The count next to each button (for example, **Approve 8**) shows how many of the selected rows the action will touch.
3. Confirm in the dialog. Approve fulfils the underlying operation on each request; Decline rejects them and can't be undone.

Dash.fi processes the batch and shows a toast summarising the result — for example, **Approved 8 requests**. If any items fail — say, another approver decided a request while you were reviewing — a second **Failed to approve N requests** toast reports the count that didn't go through. Retry those individually.

You need the same permission to bulk decide as you do to decide a single request — approvers with the standard **Approval requests: write** permission see the bulk actions automatically.

## If your expense is returned

When an approver sends an expense back, it moves to **Needs Review** status. Open the expense to see:

* A **Changes requested** banner at the top of the Overview tab
* Notes from your approver in the **Notes** tab explaining what to update

Make the requested changes and click **Resubmit for Review**.

## Notes

The **Notes** tab is a threaded conversation between you and your approver. Use it to add context, ask a question, or respond to feedback. Notes are visible to both parties and are timestamped.

Press Enter to post a note. Use Shift + Enter for a line break.

## Activity

The **Activity** tab shows a timeline of every event on the expense: when it was submitted, reviewed, approved, or returned, and by whom. Use it to understand the history of an expense or follow up with an approver.
