medium complexity extracted Accounting Integration Confidence: 100%
3
Components
18
Shared
0
User Stories
Yes
Analyzed

Description

The Accounting Export feature provides organization administrators with a UI-driven workflow in the Admin Web Portal to trigger and review exports of approved expense and reimbursement data to their connected accounting system. Administrators can select date ranges, filter by cost center or peer mentor, preview the records to be exported, and initiate the transfer. Export results are displayed inline with per-record status, and a full history of past exports is available via the export log. Failed records can be retried individually without re-exporting the entire batch.

Sources & reasoning

The same Fase 3 roadmap entry on line 353 covers the full accounting integration scope, which includes both the API connection and the administrator-facing export workflow. Line 72 confirms the export need originates from HLF and Blindeforbundet expense processes. Fase 3 maps to v1.1. The export UI is a distinct feature from the API client because it has its own page, service, and log components.

  • Regnskapsintegrasjon (Xledger for Blindeforbundet, Dynamics accounting for HLF)
  • API-integrasjon mot regnskapssystem (Xledger for Blindeforbundet, Dynamics-portal for HLF).

Analysis

Business Value

Timely and accurate export of reimbursement data to accounting systems is a compliance and operational requirement for organizations like HLF and Blindeforbundet, which operate formal finance processes. By surfacing this as a first-class admin feature rather than a manual extract, the platform reduces finance staff workload, shortens peer mentor reimbursement cycles, and removes a key friction point that could otherwise undermine platform adoption in finance-sensitive organizations. The export log also provides the audit evidence required under Norwegian accounting regulations.

Implementation Notes

The AccountingExportPage renders a filter form and a preview table of pending export records fetched from the approved expense pipeline. AccountingExportService orchestrates the export batch by delegating per- record calls to AccountingApiClient adapters and persisting results to ExportLogRepository. The page must handle partial failures gracefully, showing per-record success/error states without blocking the rest of the batch. Export file generation (for systems that prefer file-based integration) is handled by ExportFileGenerator and should support CSV and any format required by the target accounting system. All UI interactions must be keyboard-navigable and meet WCAG 2.2 AA contrast requirements.

Quality Assurance

Organization Administrator (primary)
1
Scenarios
7
UAT Steps
27
A11y Annotations
3
Role Boundaries
Organization Administrator

Organization Administrator

Quick UAT

  1. Logg inn i Admin-portalen som Organisasjonsadministrator. Naviger til Regnskap → Regnskapseksport.
  2. Velg datoperiode (f.eks. forrige mÄned) og bekreft at forhÄndsvisningen viser godkjente utleggsposter.
  3. Filtrer listen pÄ én likeperson og bekreft at kun posteringer for valgt person vises.
  4. Trykk Eksporter og bekreft at overfĂžringen starter og per-post-status vises inline under prosessering.
  5. Bekreft at alle poster fÄr status Eksportert nÄr overfÞringen er fullfÞrt.
  6. Åpne Eksportlogg og bekreft at den nyeste eksporten er oppfþrt med tidsstempel, antall poster og utfall.
  7. Marker én mislykket post (simuler ved Ä bruke en post som allerede er eksportert) og bekreft at PrÞv pÄ nytt-knappen kun sender den posten pÄ nytt uten Ä re-eksportere resten.

Quick UAT — Accessibility

  1. Logg inn i Admin-portalen som Organisasjonsadministrator. Naviger til Regnskap → Regnskapseksport.
    • Screen reader Sideoverskrift 'Regnskapseksport' annonseres; sidemenyens navigasjonspunkter leses i rekkefĂžlge.
    • Keyboard / focus Tab-rekkefĂžlge: sidenavigasjon → datovelger → filtersektion → Eksporter-knapp.
    • Focus visibility Synlig fokusring pĂ„ alle navigasjonselementer i sidemeny.
  2. Velg datoperiode (f.eks. forrige mÄned) og bekreft at forhÄndsvisningen viser godkjente utleggsposter.
    • Screen reader Datovelger-felt annonseres med label 'Fra dato' og 'Til dato'; valgt verdi leses tilbake.
    • Keyboard / focus Datovelger nĂ„s med Tab; piltaster navigerer i kalender; Enter bekrefter valg.
    • Focus visibility Synlig fokusring pĂ„ datofelter og kalenderknapper; felt er tydelig merket.
    • Zoom Datovelger og forhĂ„ndsvisningstabell er brukbare ved 200 % zoom uten horisontal scrolling.
  3. Filtrer listen pÄ én likeperson og bekreft at kun posteringer for valgt person vises.
    • Screen reader Filterkombobox annonseres med label 'Filtrer etter likeperson'; valgt navn leses.
    • Keyboard / focus Filterfeltet nĂ„s med Tab; piltaster blar gjennom alternativene; Enter velger.
    • Focus visibility Synlig fokusring pĂ„ filter-dropdown; lukk-knapp for aktivt filter er merket 'Fjern filter'.
  4. Trykk Eksporter og bekreft at overfĂžringen starter og per-post-status vises inline under prosessering.
    • Screen reader Eksporter-knapp annonseres som 'Eksporter, knapp'; ved aktivering annonseres 'Eksport startet'.
    • Keyboard / focus Eksporter-knapp nĂ„s med Tab; aktiveres med Enter eller mellomrom.
    • Focus visibility Fokus flyttes til statusvisning etter aktivering; Eksporter-knapp er deaktivert under prosessering og merket 'Eksporterer
'.
    • Touch target Eksporter-knapp er minimum 24×24 CSS px.
    • Live region 'Eksport pĂ„gĂ„r. Behandler post 1 av N.' annonseres som polite live region; oppdateres per post.
  5. Bekreft at alle poster fÄr status Eksportert nÄr overfÞringen er fullfÞrt.
    • Screen reader Statusoppdatering annonseres: 'Eksport fullfĂžrt. N poster eksportert.'
    • Live region 'Eksport fullfĂžrt. N poster eksportert.' meldes som polite live region.
    • Contrast Statusbadge 'Eksportert' bruker ikke farge alene; ledsages av ikon eller tekst.
  6. Åpne Eksportlogg og bekreft at den nyeste eksporten er oppfþrt med tidsstempel, antall poster og utfall.
    • Screen reader Tabellkolonner annonseres med overskrifter: 'Dato', 'Antall poster', 'Utfall', 'Handlinger'.
    • Keyboard / focus Logg-tabell nĂ„s med Tab; piltaster navigerer rader og kolonner.
    • Focus visibility Synlig fokusring pĂ„ tabellrader og handlingsknapper.
    • Zoom Eksportlogg-tabell er lesbar og brukbar ved 200 % zoom.
  7. Marker én mislykket post og bekreft at PrÞv pÄ nytt-knappen kun sender den posten pÄ nytt.
    • Screen reader PrĂžv pĂ„ nytt-knapp annonseres per rad som 'PrĂžv pĂ„ nytt for post [ID]'; kontekst er tydelig.
    • Keyboard / focus PrĂžv pĂ„ nytt-knapp nĂ„s med Tab inne i tabellraden; aktiveres med Enter.
    • Focus visibility Synlig fokusring pĂ„ PrĂžv pĂ„ nytt-knapp; etter aktivering flyttes fokus til oppdatert status for posten.
    • Touch target PrĂžv pĂ„ nytt-knapp er minimum 24×24 CSS px.
    • Live region 'Post [ID] sendt pĂ„ nytt. Venter pĂ„ svar.' annonseres som polite live region.

Role Boundaries

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

    Regnskapseksport-siden finnes ikke i mobilappens navigasjon; direktelenke til admin-portalen returnerer 403.

  • Coordinator

    Koordinatorer logger ikke inn i Admin-portalen; forsÞk pÄ tilgang til /admin/accounting-export returnerer 403.

  • Prospective Organization Representative

    Rollen har ingen konto i Admin-portalen; innloggingsforsĂžk avvises.

Expected End State

Alle valgte, godkjente utleggsposter er overfÞrt til tilkoblet regnskapssystem med status Eksportert. Eksporten er oppfÞrt i Eksportloggen med tidsstempel, antall poster og utfall. Mislykkede poster kan prÞves pÄ nytt individuelt.

User Stories

No user stories have been generated for this feature yet.