Appearance
Expenses
Paginated list of a worker's expense claims with filtering by status, approval actions, and grid/list view toggle.
Route
/organisations/:orgId/workers/:id/expenses
Layout
Uses the shared ApprovalSectionView component configured for expense requests.
View Selector
Dropdown with options: Pending, Approved, Rejected, Paid (Overdue is excluded).
Table Columns (List View)
- Status
- Approvals (approval chain progress)
- Description
- Type (expense category)
- Sum (amount)
- Date Submitted
- Note
Grid View
Displays ApprovalCard components with expense-specific icons (ExpenseApprovalIcons).
Approval Actions
Clicking an item navigates to its detail view. Approve and Decline buttons open the PendingApproval modal.
Data Loading
Approvals are fetched for RequestType.Expense only, scoped to the worker's EOR instance.
Behavior notes
- Grid/list toggle state is persisted in the
workersExpenseListViewSelectedstore. - Uses the
WorkerExpenseTableRowcomponent for list view row rendering. - Unlike the other approval tabs, the Paid view option is available for expenses.
- Each table row includes a checkbox for batch selection.
- Clicking a row navigates to
/organisations/:orgId/workers/:id/approvals/:approvalId. - The Description column text is truncated with an ellipsis via the
Ellipsescomponent. - The Sum column displays the amount with currency code using the
MoneyDisplaycomponent. - The Note column shows a chat icon coloured yellow if a note exists, grey otherwise.
- Responsive: at widths below 1200px, the Date Submitted, Description, Type, and Note columns are hidden. At widths below 450px, the Approvals column is also hidden.