User Interface medium complexity frontend
0
Dependencies
0
Dependents
3
Entities
0
Integrations

Description

Paginated coordinator/admin interface listing submitted expense claims awaiting review. Each row displays submitter name, expense type, amount, date, and receipt thumbnail. Supports inline approve/reject/request-correction actions and a filter toolbar for status, date range, org unit, and expense type.

Feature: Expense Approval Queue

expense-approval-queue-page

Sources & reasoning

Source lines 68-70 establish that HLF requires threshold-based manual attestation for expenses above the auto-approval limit, implying a manual review queue is needed in the admin portal. Line 342 places reimbursement handling in Phase 2 (v1.0). The blueprint lists this as an admin-web-portal feature under admin-expense-approval.

  • docs/source/likeperson.md · line 68-70
    Begge organisasjoner har behov for registrering av kilometergodtgjørelse, bompenger, parkering og kollektivt. Behovene er like, men HLF har mest detaljert krav: - Automatisk godkjenning under 50 km / uten utlegg, manuell attestering ellers (HLF).
  • docs/source/likeperson.md · line 342
    Reiserefusjonshåndtering (faste valg, terskelbasert godkjenning)

Responsibilities

  • Render paginated list of pending expense claims with sortable columns
  • Provide filter controls for status, date range, organizational unit, and expense type
  • Trigger approve, reject, or request-correction actions per claim row
  • Display attached receipt thumbnails with modal preview on click
  • Show real-time queue count badges and loading/empty states

Interfaces

loadQueue(filters: QueueFilters, page: number): void
onApprove(claimId: string): void
onReject(claimId: string, reason: string): void
onRequestCorrection(claimId: string, note: string): void
onFilterChange(filters: QueueFilters): void