ExpenseApprovalPage
Component Detail
User Interface
medium complexity
frontend
0
Dependencies
0
Dependents
1
Entities
0
Integrations
Description
Admin-facing web page that displays the queue of pending expense reimbursement claims awaiting manual review. It renders each claim with expense type, amount, date, submitter name, and receipt attachment, and provides approve, reject, and request-clarification actions. The page supports filtering by status, date range, and expense type.
expense-approval-page
Sources & reasoning
Line 70 states directly that claims above the threshold require manual attestation, implying a queue for those cases. Line 342 places reimbursement handling in Phase 2 of the roadmap, which maps to v1.0. The feature is the admin-side counterpart to the mobile expense registration flow and is required for HLF compliance.
-
docs/source/likeperson.md · line 70Automatisk godkjenning under 50 km / uten utlegg, manuell attestering ellers (HLF).
-
docs/source/likeperson.md · line 342Reiserefusjonshåndtering (faste valg, terskelbasert godkjenning)
Responsibilities
- Render paginated list of pending expense claims with full claim details
- Provide inline approve, reject, and request-clarification action buttons per claim
- Support filter controls for status, date range, and expense type
- Display receipt attachments inline or via lightbox preview
- Show audit metadata (decision timestamp, acting administrator) for resolved claims
Interfaces
loadQueue(filters: QueueFilters): Promise<ExpenseClaim[]>
approveExpense(claimId: string): Promise<void>
rejectExpense(claimId: string, reason: string): Promise<void>
requestClarification(claimId: string, message: string): Promise<void>
previewReceipt(claimId: string): void