Bufdir Export
Feature Detail
Description
Bufdir Export delivers the one-click file download action that converts a generated Bufdir report snapshot into the required submission format (CSV, XLSX, or a Bufdir-specified structured file). The feature is the final step in the Bufdir reporting pipeline and is accessible only after Bufdir Report Generation has produced and previewed a valid snapshot. It handles file generation, download triggering, and audit logging of every export event so organizations can demonstrate compliance history to external auditors.
Sources & reasoning
Fase 2 placement (line 145, Fase column = 2) normalizes to v1.0. The 'ett klikk' phrasing (line 342) describes the export action specifically. Line 375 flags that the exact file format is subject to Bufdir negotiation, which is captured as a configuration point in implementation notes.
-
docs/source/likeperson.md · line 342-343Bufdir-rapportering og eksport med ett klikk (kun i Admin Web Portal; mobilen bidrar med selve aktivitetsregistreringen)
-
docs/source/likeperson.md · line 375Norse Digital Products tar initiativ til dialog med Bufdir på vegne av alle organisasjonene.
Analysis
The export step is what transforms the internal report into an artifact organizations can actually submit to Bufdir. Without it, the report generation feature delivers no external value. All four organizations cited one-click Bufdir submission as the top-level goal for the reporting module, making this feature the completion of a critical user journey. The audit log of each export event also satisfies compliance requirements: organizations need to demonstrate to Bufdir that specific reports were submitted on specific dates, and the export log provides that paper trail automatically, replacing manual record-keeping.
Implement as a Next.js API route that reads from the bufdir_report_snapshots table (never re-querying live data) and streams the formatted file to the client. Use ExportFileGenerator as a server-side utility that accepts a snapshot record and emits the required format. The format should be configurable per organization once Bufdir finalizes the specification (the source doc notes Norse Digital Products will negotiate with Bufdir). Log every export to accounting_export_logs (or a dedicated bufdir_export_logs table if the schema requires separation) with timestamp, org_id, snapshot_id, and exporting user_id. Apply Org Admin role guard at the API layer.
Quality Assurance
Organization Administrator (primary)Organization Administrator
Quick UAT
- Logg inn i Admin-portalen som Organisasjonsadministrator. Naviger til Rapportering og eksport.
- Åpne en ferdig generert Bufdir-rapport fra listen over rapportøyeblikksbilder.
- Bekreft at eksportknappen er aktiv og ikke deaktivert (gyldig øyeblikksbilde kreves).
- Trykk på eksportknappen. Bekreft at knappen deaktiveres og at fremdriftsindikator vises under filgenerering.
- Bekreft at filen lastes ned automatisk i nettleseren i riktig format (CSV, XLSX eller Bufdir-spesifisert format).
- Naviger til revisjonloggen og bekreft at eksporthendelssen er registrert med tidsstempel og administratorens identitet.
Quick UAT — Accessibility
-
Logg inn i Admin-portalen som Organisasjonsadministrator. Naviger til Rapportering og eksport.
- Screen reader Sideoverskrift 'Rapportering og eksport' annonseres; tab-rekkefølge: sidebar-navigasjon → sideinnhold.
- Keyboard / focus Sidebar-lenker nås med Tab; Enter aktiverer navigasjonslenken.
-
Åpne en ferdig generert Bufdir-rapport fra listen over rapportøyeblikksbilder.
- Keyboard / focus Piltaster navigerer rader i rapportlisten; Enter åpner valgt rapport.
- Focus visibility Synlig fokusring på valgt rad; rapporttittel og status er lesbare som tekst, ikke kun farge.
-
Bekreft at eksportknappen er aktiv og ikke deaktivert (gyldig øyeblikksbilde kreves).
- Screen reader Knappen annonseres med navn og tilstand: 'Eksporter Bufdir-rapport, knapp' eller 'Eksporter Bufdir-rapport, deaktivert' ved ugyldig tilstand.
- Contrast Knappetekst og ikon oppfyller 4.5:1 kontrastkrav; deaktivert tilstand kommuniseres ikke kun med farge.
-
Trykk på eksportknappen. Bekreft at knappen deaktiveres og at fremdriftsindikator vises under filgenerering.
- Focus visibility Fokus forblir på knappen eller flyttes til fremdriftsindikatoren; ingen fokusfelle oppstår.
- Touch target Eksportknapp er minimum 24×24 CSS px.
- Live region 'Genererer eksportfil, vennligst vent.' annonseres som polite live region.
-
Bekreft at filen lastes ned automatisk i nettleseren i riktig format (CSV, XLSX eller Bufdir-spesifisert format).
- Screen reader Suksessmelding leses opp uten at brukeren trenger å søke etter den.
- Live region 'Eksport fullført. Filen er lastet ned.' annonseres som polite live region når nedlastingen starter.
-
Naviger til revisjonloggen og bekreft at eksporthendelssen er registrert med tidsstempel og administratorens identitet.
- Keyboard / focus Revisjonlogg-siden nås via Tab-navigasjon i sidebar; tabellrader er navigerbare med piltaster.
- Zoom Revisjonlogg-tabellen forblir lesbar og ikke avkuttet ved 200 % zoom.
Role Boundaries
3 role(s) must NOT access this feature-
Peer Mentor
Rapportering og eksport finnes ikke i mobilappens navigasjon; direkte URL til admin-portalen returnerer 403.
-
Coordinator
Rapportering og eksport finnes ikke i mobilappens navigasjon; direkte URL til admin-portalen returnerer 403.
-
Prospective Organization Representative
Ingen tilgang til admin-portalen; forespørsel returnerer 401 eller omdirigeres til innloggingssiden.
Expected End State
Eksportfilen er lastet ned i nettleseren, og eksporthendelssen er registrert i revisjonloggen med tidsstempel og organisasjonsadministratorens identitet.
Components (21)
Shared Components
These components are reused across multiple features
User Stories
No user stories have been generated for this feature yet.