CRITICAL story-expense-type-selection-mutual-exclusion-coordinator-001 5 pts

User Story

As a Coordinator
I want to select my expense type from a fixed list of options rather than entering free text
So that I can quickly register the correct expense category without making errors or using inconsistent terminology

Acceptance Criteria

  • Given the peer mentor opens the expense registration flow, when the expense type picker renders, then only expense types enabled in the organisation's configuration are displayed
  • Given the expense type picker is visible, when the peer mentor taps an expense type card, then that card is visually highlighted and all other cards are deselected
  • Given an expense type is selected, when the form continues, then the subsequent fields shown are specific to that expense type (e.g., distance fields for mileage, amount field for parking)
  • Given the picker is rendered, when a screen reader is active, then each expense type card has a descriptive accessibility label including the type name and whether it is currently selected
  • Given the organisation has only one expense type enabled, when the picker loads, then that type is pre-selected automatically and the picker step may be skipped

Business Value

Predefined expense types eliminate free-text entry errors that cause reimbursement delays and accounting mismatches. For HLF, where a peer mentor may file hundreds of claims annually, consistent categorisation is essential for automated approval, Bufdir reporting, and Xledger/Dynamics export. Removing ambiguity at the point of entry reduces coordinator review time and prevents the most common source of invalid claims.