medium complexity extracted Expense & Reimbursement Confidence: 100%
3
Components
32
Shared
0
User Stories
Yes
Analyzed

Description

Travel Expense Registration enables peer mentors and coordinators to log reimbursable costs incurred during their work, including kilometre allowances, toll fees, parking, and public transport. The feature presents fixed expense-type selectors to prevent invalid combinations (e.g. simultaneous km and bus ticket claims). Submissions are routed to threshold-based approval workflows - expenses under configured limits are auto-approved, while larger claims require manual attestation by a coordinator or org admin.

User Flow

Travel Expense Registration user flow
Click to expand

Analysis

Business Value

Accurate reimbursement handling is a legal and contractual obligation for organisations that compensate peer mentors for travel. Without a streamlined digital flow, claims are submitted via paper or email, creating administrative backlogs, errors, and delayed payments that demotivate volunteers. Automating threshold-based approvals removes repetitive manual work for coordinators - HLF noted that the majority of claims fall below the auto-approval threshold - freeing staff time for higher-value coordination tasks. For org admins, consolidated digital records simplify accounting system export and Bufdir audit trails.

Implementation Notes

Built as a Flutter screen backed by a dedicated Expense Service and Expense Repository. Fixed expense-type selectors are fetched from the Expense Types & Requirements feature to enforce valid combinations at the UI level before submission. The REST API endpoint accepts expense payloads and immediately evaluates them against org-configured auto-approval thresholds stored in organisation_settings. Approved records update the expenses table directly; others are placed in a pending queue consumed by the admin portal approval workflow. Kilometre calculations use device GPS or manual entry; integration with mapping APIs is optional for v1.0.

Components (35)

User Interface (1)

Service Layer (1)

Data Layer (1)

Shared Components

These components are reused across multiple features

User Stories

No user stories have been generated for this feature yet.