CRITICAL story-travel-reimbursement-registration-peer-mentor-004 8 pts
8
Story Points
Critical
Priority
Travel Reimbursement Registration
Feature

User Story

As a user
I want to progress through a multi-step expense registration wizard that collects all required information for my reimbursement claim and submits it to Supabase with client-side and server-side validation before confirming success
So that So that my expense claim is recorded completely and accurately in a single guided session, minimising the risk of incomplete submissions that would require follow-up

Acceptance Criteria

  • Given the user opens the expense registration wizard and completes all required steps, when they tap 'Submit', then client-side validation runs first and any errors are shown inline before a server request is made
  • Given client-side validation passes, when the submission request is sent, then server-side validation runs and the response either confirms success or returns specific field-level errors
  • Given submission succeeds, when the confirmation screen is shown, then it displays the report reference number, total reimbursement amount, and a timestamp
  • Given the user navigates back or closes the app mid-wizard, when they return to the expense registration flow, then the BLoC restores the in-progress wizard state so they can continue from where they left off
  • Given the user reaches the summary step, when they review the wizard output, then all entered expense items are listed with their types, amounts, and receipt indicators before final submission
  • Given the RLS policy on the Supabase table is active, when the submission is saved, then only the submitting user's own expense reports are accessible under their account

Business Value

The complete wizard submission flow is the core deliverable of this feature. A fully guided, validated submission flow ensures that expense data written to Supabase is clean, complete, and ready for automated processing through the reimbursement approval workflow and accounting system integration. Reducing incomplete or invalid submissions directly lowers coordinator workload and speeds up reimbursement turnaround for volunteers, which is a key driver of volunteer satisfaction and retention.