User Interface medium complexity mobile
0
Dependencies
0
Dependents
1
Entities
0
Integrations

Description

Flutter widget giving peer mentors access to device camera and photo library for capturing physical receipts. Displays a preview thumbnail after capture and integrates with the expense registration flow as a conditionally required step when the expense type or amount exceeds the organisation-configured threshold.

Feature: Receipt Photo Upload

receipt-camera-widget

Sources & reasoning

Primary UI entry point for the receipt capture workflow. HLF mandates photo documentation for claims over 100 kr; this widget is the mechanism that enforces and fulfils that requirement within the expense registration flow.

No source references — this artifact was included based on reasoning alone (see above).

Responsibilities

  • Invoke image_picker for camera capture or gallery selection
  • Show image preview with retake/confirm actions
  • Enforce mandatory capture when threshold or expense type requires it
  • Display upload progress and offline-queued state
  • Support WCAG 2.2 AA touch targets and accessible labels

Interfaces

captureReceipt() -> File
pickFromGallery() -> File
onUploadComplete(receiptId: String)
onUploadFailed(error: AppException)

Related Data Entities (1)

Data entities managed by this component