Expense Approval and Rejection UI
Summary
The HR Operations pending table exposes Approve and Reject actions through the shared approval modal. There is no dedicated manager queue.
Screen contract
- Purpose: decide a pending compatibility claim.
- Navigation: Workforce > Expenses.
- Intended users: users presented the HR Operations approval experience; authoritative approver roles require confirmation.
- Preconditions: pending row, authenticated route, compatible backend route.
- Main components: pending table, action buttons, approval modal.
- Fields: claim summary columns; modal reason/comment supplied to the action.
- Filters: in-memory pending-only selection.
- Actions: approve or reject.
- Validation: rejection ultimately requires a reason; invalid lifecycle and workflow-managed decisions return conflicts.
- Loading: no dedicated action spinner is confirmed in the Expense wrapper.
- Empty: explicit no-pending-approvals state.
- Success: toast and workspace reload.
- Error: API error is shown on the page.
- Permissions: navigation includes view/approve candidates, but UI visibility does not prove backend authority.
- API: compatibility approve/reject.
- Business rules: compatibility approval checks the related payroll period; workflow-managed claims must be decided through Workflow.
Screenshot placeholder: pending approval table and decision modal with synthetic data.
Requires confirmation
Approver authority, manager/team scope, action-level permission enforcement, and workflow task-to-UI handoff require confirmation.
Source References
UI/salary-ui/apps/client-hrms-portal/src/pages/hr/HrOperationsPage.tsxUI/salary-ui/apps/client-hrms-portal/src/components/ApprovalActionModal.tsxmicroservices/src/expense-service/Application/Compatibility/ExpenseCompatService.csmicroservices/src/expense-service/Application/Commands/ExpenseClaimCommands.cs
Related Articles
See Also
Keywords
- Expense UI
- Approval and Rejection
Revision Information
- Status: Draft
- Last reviewed: 2026-07-16
- Review cycle: Quarterly