high complexity extracted Reporting & Export Confidence: 100%
7
Components
2
Shared
0
User Stories
Yes
Analyzed

Description

Bufdir Report Generation produces the structured report that Norwegian organizations must submit to Bufdir to qualify for state funding. The feature compiles activity data, peer mentor counts, member associations, and any required categorical breakdowns into the Bufdir-specified format. Org Admins trigger generation from the Admin Web Portal, preview the assembled report, and resolve any data gaps or warnings before producing the final artifact. The mobile app contributes the raw activity data via normal logging; generation itself is admin-only and never exposed to coordinators or peer mentors.

Sources & reasoning

Source explicitly assigns Bufdir report generation to the admin portal as a Phase 2 (Core Product) deliverable, separate from the mobile app's data capture role. Phase 2 maps to the 'Core Product' phase name in the roadmap.

  • Sømløs Bufdir-rapportering ... selve Bufdir-eksporten er en admin-funksjon: organisasjonsadministrator kjører eksporten fra Admin Web Portal.
  • Bufdir-rapportering (eksport i admin)

Analysis

Business Value

Bufdir reporting was named by all four pilot organizations as a top operational pain point - they spend disproportionate time assembling reports that drive their funding. Automating report generation eliminates the manual Word/Excel aggregation cycle described by NHF and HLF, reduces error risk, and shortens the path from raw activity data to a submittable report. Because Bufdir funding is existential for these organizations, a reliable one-click generation flow is high-value and unblocks the export step that follows. Norse is also coordinating directly with Bufdir on format simplification on behalf of all tenants.

Implementation Notes

Generation runs server-side in the Next.js API, reading from activities, peer_mentors, member_associations, and organization tables with strict tenant scoping. The output schema must match Bufdir's required structure - pin format definitions in a versioned config so future Bufdir spec changes are an isolated update. Generation is potentially long-running for large orgs; use an async job pattern with a polling status endpoint rather than blocking the HTTP request. Persist intermediate report artifacts in a bufdir_exports row so admins can review history. Validate completeness (missing categories, zero-activity members) and surface warnings before allowing export.

Quality Assurance

Organization Administrator (primary) · Global Administrator (same flow, kun ved tidsavgrenset support-tilgang)
1
Scenarios
7
UAT Steps
16
A11y Annotations
3
Role Boundaries
Organization Administrator

Organization Administrator

Quick UAT

  1. Logg inn i Admin-portalen som Organisasjonsadministrator og åpne Rapportering & Eksport → Bufdir-rapport.
  2. Velg rapporteringsperiode (f.eks. inneværende år) og bekreft at organisasjonsvariant er korrekt forhåndsvalgt.
  3. Trykk Generer forhåndsvisning og vent til aggregerte tall og kategoribrudd vises.
  4. Bekreft at valideringsvarsler (duplikate aktiviteter, manglende kontaktkoblinger) listes opp med lenker til berørte aktiviteter.
  5. Åpne én varsel-lenke, korriger eller bekreft datagrunnlaget, og returner til Bufdir-rapport.
  6. Trykk Oppdater forhåndsvisning og bekreft at varselet er borte og tellingen er oppdatert.
  7. Bekreft at rapporten er markert Klar for eksport og at Eksport-knappen er aktivert.

Quick UAT — Accessibility

  1. Logg inn i Admin-portalen som Organisasjonsadministrator og åpne Rapportering & Eksport → Bufdir-rapport.
    • Screen reader Sideoverskrift 'Bufdir-rapport' annonseres som H1; landmark 'main' annonseres.
    • Keyboard / focus Sidenavigasjon nås via Tab; undermeny åpnes med Enter og navigeres med piltaster.
    • Focus visibility Synlig fokusring på menyelementer; aktiv side markeres med aria-current=page.
  2. Velg rapporteringsperiode (f.eks. inneværende år) og bekreft at organisasjonsvariant er korrekt forhåndsvalgt.
    • Screen reader Periode-select annonseres med label 'Rapporteringsperiode' og gjeldende verdi.
    • Keyboard / focus Select-felt nås via Tab; verdier velges med piltaster, bekreftes med Enter.
    • Focus visibility Synlig fokusring rundt select; label programmatisk knyttet via for/id.
  3. Trykk Generer forhåndsvisning og vent til aggregerte tall og kategoribrudd vises.
    • Focus visibility Fokus flyttes til resultatoverskriften når forhåndsvisning er klar.
    • Live region 'Forhåndsvisning generert. 1 247 aktiviteter aggregert i 8 kategorier.'
  4. Bekreft at valideringsvarsler (duplikate aktiviteter, manglende kontaktkoblinger) listes opp med lenker til berørte aktiviteter.
    • Screen reader Varsel-region annonseres som 'Valideringsvarsler, liste, 3 elementer'.
    • Contrast Varseltype skilles med ikon + tekst, ikke kun farge; minimum 4.5:1 kontrast.
  5. Åpne én varsel-lenke, korriger eller bekreft datagrunnlaget, og returner til Bufdir-rapport.
    • Keyboard / focus Lenke nås via Tab; Browser-back returnerer med fokus tilbake på opprinnelig lenke.
    • Focus visibility Fokus gjenopprettes til varsel-lenken som ble fulgt.
  6. Trykk Oppdater forhåndsvisning og bekreft at varselet er borte og tellingen er oppdatert.
    • Touch target Oppdater-knapp er minst 24×24 CSS-piksler.
    • Live region 'Forhåndsvisning oppdatert. 2 valideringsvarsler gjenstår.'
  7. Bekreft at rapporten er markert Klar for eksport og at Eksport-knappen er aktivert.
    • Screen reader Status annonseres som 'Klar for eksport'; Eksport-knapp annonseres som aktivert.
    • Contrast Status-badge bruker tekst + ikon, ikke kun grønnfarge.

Role Boundaries

3 role(s) must NOT access this feature
  • Peer Mentor (Likeperson)

    Funksjonen finnes ikke i mobilappens navigasjon; Bufdir-rapport er kun en admin-portal-funksjon. Likepersoner har ingen innlogging til admin-portalen; deep-link returnerer 403.

  • Coordinator (Koordinator)

    Funksjonen finnes ikke i mobilappens navigasjon; koordinatorer har ingen innlogging til admin-portalen og kan dermed ikke nå Bufdir-rapport. Deep-link returnerer 403.

  • Prospective Buyer

    Salgsnettstedet eksponerer ingen Bufdir-funksjonalitet; URL til admin-portalen krever pålogging og avviser uautentiserte forsøk.

Expected End State

  • Organization Administrator

    Bufdir-rapporten er generert med korrekte aggregerte tall, valideringsvarsler er adressert eller bekreftet, status er 'Klar for eksport', og forhåndsvisningen reflekterer organisasjonens valgte Bufdir-variant og periode.

  • Global Administrator

    Identisk sluttilstand som Org Admin, men handlingen er logget i organisasjonens revisjonsspor med global-admin-identitet og tidsstempel, og tilgang opphører automatisk ved utløp av support-vinduet.

User Stories

No user stories have been generated for this feature yet.