CRITICAL story-receipt-upload-management-coordinator-002 3 pts
3
Story Points
Critical
Priority
Receipt Upload & Management
Feature

User Story

As a user
I want to take a photo of a receipt using my device camera from within the expense registration screen
So that So that I can capture proof of an expense immediately at the point of payment without having to manage files separately or switch to another app

Acceptance Criteria

  • Given the Receipt Upload Screen is open, when the user taps the camera action button, then a bottom sheet appears with 'Take Photo' and 'Choose from Library' options
  • Given the action sheet is shown, when the user selects 'Take Photo', then the device native camera is launched
  • Given the user captures a photo, when they confirm it, then the image is returned to the app and the upload process begins immediately
  • Given the image is being processed, when client-side compression completes, then the compressed image is uploaded to Supabase Storage
  • Given the upload succeeds, when the upload completes, then the receipt thumbnail appears in the grid on the Receipt Upload Screen

Business Value

In-app camera capture is the primary and most frictionless method for peer mentors to document expenses in the field. HLF requires receipts for all expense items over 100 kr; enabling capture at point of purchase maximises compliance and eliminates the most common reason for missing receipts — forgetting to photograph them later.