Skip to content

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 workersExpenseListViewSelected store.
  • Uses the WorkerExpenseTableRow component 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 Ellipses component.
  • The Sum column displays the amount with currency code using the MoneyDisplay component.
  • 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.