## TL;DR

A stuck report is waiting on someone who is not acting: on leave, a deactivated account, or a delegate that was never set. Find the current approver on the report's audit trail, nudge them, and if they cannot act, have an admin reassign the approval step.

## Error

```text
expense report stuck in pending approval
```

## Steps

1. Open the report's approval history or audit trail. Expected: it names the current approver and how long the step has been pending.
2. Check whether that approver is on leave or has left: look at their out-of-office status or ask your admin. Expected: you know why the step is stalled.
3. Nudge the approver directly with the report link and the amount awaiting them. Expected: many stuck reports clear within a day of a direct nudge.
4. If the approver cannot act, ask your expense admin to reassign the step to the approver's delegate or manager. Expected: the report moves to someone who can approve.
5. For repeat stalls, set up delegate approvers and escalation reminders in the approval policy. Expected: future reports escalate automatically instead of stalling.

## When to use

- A report has been in pending approval longer than your approval SLA.
- The audit trail shows a single approver step not moving.

## When not to use

- The report was rejected or returned (fix the flagged content).
- The report never submitted (check for submission validation errors).

## Tool compatibility

- Expensify, Concur, Ramp, Brex, Float, and most expense tools with multi-step approval.

## Variant phrasings

### Report awaiting approval for weeks

Same stall, described by duration.

### Approval step not progressing

The workflow-level view of the same problem.

## Why it happens

Approval chains are people-dependent. Leave, turnover, and missing delegates all park a report on one step indefinitely because most systems wait passively instead of escalating.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_eUTzJ8Whwtna5YtiDonJgQ
