Travel Expense Registration
Feature Detail
Description
Travel Expense Registration lets peer mentors log travel costs - kilometre allowances, toll fees, parking, and public transport - directly from the mobile app at the point of occurrence. This replaces manual Word or paper-based forms and ensures costs are captured consistently. Threshold-based auto-approval (under 50 km with no attached receipts) clears routine claims automatically, while larger or more complex claims route to the Admin Web Portal expense approval queue for manual attestation and coordinator oversight.
Sources & reasoning
Section 2.1 lists kilometre allowances, tolls, parking, and public transport as shared HLF+Blindeforbundet needs with explicit auto-approval threshold rules. The priority matrix (ยง4) places it SHOULD HAVE Phase 2, which maps to v1.0 by the ordinal normalization rule.
No source references โ this artifact was included based on reasoning alone (see above).
Analysis
Peer mentors are volunteers whose continued participation depends on timely, accurate reimbursement of out-of-pocket travel costs. Manual processes - paper forms, email attachments, Excel aggregation - create friction that discourages reporting and delays payment, eroding trust and volunteer retention over time. Digitising expense registration inside the same app used for activity logging removes a separate administrative burden and ensures data completeness for downstream accounting exports. The auto-approval threshold eliminates unnecessary manual steps for small, routine claims, freeing coordinators to focus on exceptions that genuinely require their review and sign-off.
Implemented as a dedicated expense registration flow in Flutter using Riverpod state management and Drift for offline-first persistence. Records sync to the backend REST API and are stored in the `expenses` table with foreign keys to `users`, `expense_types`, and `expense_receipts`. Auto-approval logic runs server-side: claims below the configured kilometre threshold with no attached receipts are approved automatically; others enter the Admin Web Portal queue. Accounting export integration (Xledger for Blindeforbundet, Dynamics for HLF) is handled by the `admin-accounting` area and consumes approved expense records from this table.
Components (48)
Shared Components
These components are reused across multiple features
Service Layer (11)
Data Layer (23)
Infrastructure (7)
User Stories
No user stories have been generated for this feature yet.