BufdirReportGeneratorService
Component Detail
Description
Backend service that transforms accumulated activity logs, participant counts, and engagement summaries into the standardized Bufdir report format required by Norwegian government funding agencies. It orchestrates data aggregation across the reporting period and produces a structured output document. Eliminates the manual reporting burden by automating the Bufdir compliance format.
bufdir-report-generator-service
Sources & reasoning
Line 46 establishes Bufdir reporting as a universal must-have across all four orgs. Line 144 confirms MUST HAVE with Phase 2 placement. Line 342 places it explicitly in Phase 2 (v1.0). Blueprint assigns v1.0, consistent with Phase 2 mapping. Generation is architecturally separate from export to allow report preview before submission.
-
docs/source/likeperson.md · line 46Alle fire organisasjoner mottar Bufdir-tilskudd og bruker mye tid på rapportering. Ønsket er det samme: trykk på én knapp og få ut det Bufdir trenger.
-
docs/source/likeperson.md · line 144Bufdir-rapportering (eksport, admin) | ✓ | ✓ | ✓ | ✓ | ✓ | MUST HAVE | 2
-
docs/source/likeperson.md · line 342Bufdir-rapportering og eksport med ett klikk (kun i Admin Web Portal; mobilen bidrar med selve aktivitetsregistreringen)
Responsibilities
- Aggregate activity records and participant counts for a given org and date range
- Map internal data structures to the official Bufdir report schema fields
- Validate completeness of required Bufdir fields before finalizing the report
- Generate the report document in the required output format (PDF or structured data)
- Persist generated report metadata for audit and re-download purposes
Interfaces
generateReport(orgId: string, params: BufdirReportParams): Promise<BufdirReport>
validateReportData(data: BufdirReportData): ValidationResult
getReportPreview(orgId: string, params: BufdirReportParams): Promise<BufdirReportSummary>
exportReport(reportId: string, format: 'pdf' | 'json'): Promise<Buffer>
Related Data Entities (7)
Data entities managed by this component