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

Description

Custom Reports let organization administrators define ad-hoc reports beyond the standard Team Reports and Bufdir outputs. Admins choose data sources (activities, peer mentors, expenses, events), apply filters, group and aggregate by chosen dimensions, and save the resulting definition for reuse. Saved definitions can be re-run on demand, shared within the organization, and exported. The feature targets organizations whose internal reporting needs evolve over time - board reports, regional summaries, partnership reporting - without requiring a code change for each new format.

Sources & reasoning

Custom Reports are listed in the canonical area taxonomy for admin-reporting. They are not part of the MVP or Core Product roadmap and are most consistent with the Phase 3 'Growth & Engagement' goal of extending platform capability beyond core operational needs.

  • admin-reporting | Reporting & Export | Team Reports, Bufdir Report Generation, Bufdir Export, Custom Reports

Analysis

Business Value

Custom Reports extend the admin portal's reporting surface from a fixed set of dashboards to a configurable reporting tool, reducing the steady stream of one-off report requests that would otherwise land on Norse support. Organizations differ materially in what they need to report internally - board meetings, regional roll-ups, partnership KPIs - and a single hardcoded set will never satisfy all four pilot tenants plus future ones. By giving admins a self-serve report builder, Norse keeps the product surface stable while letting each organization shape its own reporting cadence, which is consistent with the platform's multi-tenant, configuration-driven design philosophy.

Implementation Notes

Persist report definitions in custom_report_definitions with organization_id scoping. Define a constrained query DSL (data source, filters, group-by, aggregate functions) rather than allowing arbitrary SQL - this prevents tenant data leakage and bounds query cost. The runtime translator turns a saved definition into a parameterized SQL query against the appropriate source tables with the tenant filter always injected. Cap result row counts and execution time to protect the shared database. Reuse the export pipeline (artifact storage + audit log) so custom-report exports follow the same governance as Bufdir exports.

Quality Assurance

Organization Administrator (primary)
1
Scenarios
5
UAT Steps
16
A11y Annotations
4
Role Boundaries
Organization Administrator

Organization Administrator

Quick UAT

  1. Logg inn i Admin-portalen som Organisasjonsadministrator og åpne Rapportering → Egendefinerte rapporter.
  2. Trykk Ny rapport, gi den navnet 'Styrerapport Q2' og velg dimensjoner: Rolle, Lokallag, Aktivitetstype og Periode (siste kvartal).
  3. Velg mål: Antall aktiviteter, Timer totalt og Refusjon totalt. Velg utdataformat Tabell.
  4. Trykk Lagre og kjør. Bekreft at resultatet vises kun for din egen organisasjon og at definisjonen er lagret i listen.
  5. Åpne den lagrede rapporten på nytt og kjør den én gang til. Bekreft at samme tall vises og at rapportdefinisjonen kan eksporteres.

Quick UAT — Accessibility

  1. Logg inn i Admin-portalen som Organisasjonsadministrator og åpne Rapportering → Egendefinerte rapporter.
    • Screen reader Sideoverskrift 'Egendefinerte rapporter' annonseres; tab-rekkefølge: hovednav → undernav → sideoverskrift → handlingsknapper → rapportliste.
    • Keyboard / focus Hele navigasjonen kan nås med Tab; undermeny åpnes med Enter eller pil ned.
    • Focus visibility Synlig fokusring på menyelementer og Ny rapport-knapp.
  2. Trykk Ny rapport, gi den navnet 'Styrerapport Q2' og velg dimensjoner: Rolle, Lokallag, Aktivitetstype og Periode (siste kvartal).
    • Screen reader Dialog/skjema annonseres som 'Ny rapport'; hvert dimensjonsfelt leses opp med label og valgt verdi.
    • Keyboard / focus Tab gjennom navnfelt og dimensjonsvelgere; Mellomrom/Enter åpner og bekrefter valg; Esc lukker dialog.
    • Focus visibility Fokus flyttes til navnfeltet ved åpning; alle felter har tilknyttede labels.
    • Touch target Alle dimensjonsbrytere er ≥ 24×24 CSS px.
  3. Velg mål: Antall aktiviteter, Timer totalt og Refusjon totalt. Velg utdataformat Tabell.
    • Screen reader Avkryssingsbokser annonseres som 'avkrysset' / 'ikke avkrysset' med målnavn.
    • Keyboard / focus Mellomrom toggler avkryssingsbokser; piltaster navigerer radioknapper for utdataformat.
    • Focus visibility Fokusring synlig på hver avkryssingsboks og radioknapp.
  4. Trykk Lagre og kjør. Bekreft at resultatet vises kun for din egen organisasjon og at definisjonen er lagret i listen.
    • Focus visibility Fokus flyttes til resultattabellens overskrift etter kjøring.
    • Live region 'Rapport lagret. Kjøring fullført. Viser resultater for {organisasjonsnavn}.'
    • Contrast Tabellrader har minimum 4.5:1 kontrast; organisasjonsetiketten skiller seg ikke kun ved farge.
  5. Åpne den lagrede rapporten på nytt og kjør den én gang til. Bekreft at samme tall vises og at rapportdefinisjonen kan eksporteres.
    • Screen reader Knappen 'Kjør på nytt' og 'Eksporter' annonseres med tilgjengelig navn og tilstand.
    • Keyboard / focus Lagrede rapporter kan åpnes med Enter fra listen; eksportmeny åpnes med Mellomrom.
    • Zoom Tabell og handlingsknapper er brukbare ved 200 % zoom uten horisontal scrolling.

Role Boundaries

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

    Funksjonen finnes ikke i mobilappens navigasjon; Peer Mentors logger ikke inn i Admin-portalen og har ingen tilgang til rapportbygging.

  • Coordinator (Koordinator)

    Koordinatorer logger ikke inn i Admin-portalen; rapportbygger-skjermen er ikke tilgjengelig og deep-link returnerer 403.

  • Global Administrator

    Uten tidsavgrenset support-tilgang gitt av organisasjonen returnerer rapportendepunktet 403; ingen rapportdefinisjoner fra andre organisasjoner er synlige.

  • Prospective Buyer

    Ingen tilgang — funksjonen finnes ikke på Sales Website og krever pålogging i Admin-portalen.

Expected End State

En navngitt egendefinert rapportdefinisjon ('Styrerapport Q2') er lagret i Report Definition Store, scoped til administratorens egen organisasjon, og kan kjøres på nytt med konsistente resultater og eksporteres i valgt format.

User Stories

No user stories have been generated for this feature yet.