Expense Approvals
This page covers the approver side of expenses — how reports reach the queue, who can decide them, and the approve, reject, and mark-paid actions.
The expense status flow
DRAFT → SUBMITTED or PENDING_APPROVAL → APPROVED → PAID
(or REJECTED / CANCELLED)
See Statuses and submission for the full status detail.
What happens on submit
When an employee submits a report (POST /api/expenses/:id/submit):
- The report needs at least one line item.
- If the organization requires receipts, every line item over the receipt threshold must have a receipt attached.
- If a maximum report amount is set and the total exceeds it, submission is rejected.
- If an auto-approve-below threshold is set and the total is under it, the report is APPROVED immediately.
- Otherwise it becomes PENDING_APPROVAL (when approval is required) or SUBMITTED.
The assigned approver is the submitter's manager (reportsToId); if there's no manager, it falls back to the first active administrator or executive.
Who can approve
The expense approvals queue (GET /api/expenses/approvals) shows reports in SUBMITTED and PENDING_APPROVAL. You can approve a report if you are:
- The assigned approver, or
- The submitter's manager, or
- An administrator or executive.
Actions
| Action | Endpoint | Who | Notes |
|---|---|---|---|
| Approve | POST /api/expenses/:id/approve | Assigned approver, manager, admin/exec | Moves the report to APPROVED. |
| Reject | POST /api/expenses/:id/reject | Same as approve | Reason required. Submitter notified at HIGH priority. |
| Mark paid | POST /api/expenses/:id/mark-paid | Admin/exec only | Report must be APPROVED. Optional paymentReference and paymentMethod. A bulk mark-paid is also available to admin/exec. |
| Cancel | POST /api/expenses/:id/cancel | Owner (own) or admin/exec (any) | Cannot cancel a PAID report. |
Notifications
| Event | Notification |
|---|---|
| Submit | EXPENSE_APPROVAL_REQUIRED to the approver plus admins/execs. |
| Approve | EXPENSE_APPROVED to the submitter. |
| Reject | EXPENSE_REJECTED to the submitter (HIGH priority). |
| Mark paid | EXPENSE_PAID to the submitter. |
Related
- Statuses and submission — the full expense status reference.
- Approvals overview — scoping and notifications.
Leave Approvals
How approvers review the leave queue — approving and rejecting new requests and reviewing cancellation requests for already-approved leave.
Time Approvals
How time entries reach the approvals queue, who can approve them, the approve/reject action, and what notifications and integrations fire on approval.