Accounting API
Feature Detail
Description
The Accounting API feature provides a configurable integration layer between the Meander Admin Web Portal and external accounting systems used by partner organizations. It exposes a tenant-scoped configuration surface where an organization administrator can enable and authenticate against their accounting backend (Xledger for Blindeforbundet, Dynamics-based accounting for HLF) and define the mapping between Meander expense categories and accounting ledger codes. The feature includes a server-side accounting gateway responsible for outbound API calls, retry handling, credential storage, and error surfacing back to the admin UI so finance teams can diagnose failed postings without engineering involvement.
Sources & reasoning
Tied to Fase 3 in §5 ("Regnskapsintegrasjon ... følger derfor Fase 3"), which maps to the Growth & Engagement phase name. Driven by HLF and Blindeforbundet's stated need for direct API integration with their existing accounting systems.
-
docs/source/likeperson.md · line 45API-integrasjon mot regnskapssystem (Xledger for Blindeforbundet, Dynamics-portal for HLF).
-
docs/source/likeperson.md · line 269Regnskapsintegrasjon (Xledger for Blindeforbundet, Dynamics accounting for HLF)
Analysis
Accounting integration removes a substantial manual finance workload for partner organizations whose reimbursement volumes are growing as activity registration becomes easier. Today, approved expenses must be re-keyed into Xledger or Dynamics, which delays payouts to peer mentors and creates reconciliation risk. By pushing approved reimbursements directly from Meander into the accounting system, the platform shortens the payout cycle, reduces double-entry errors, and frees coordinator and admin time that currently goes to bookkeeping handover. Strategically, this feature also strengthens Meander's value proposition for larger organizations who already have established accounting workflows - without it, those organizations would treat Meander as a partial solution requiring a parallel finance process.
Implementation introduces an Accounting Gateway infrastructure component on the backend that abstracts vendor-specific APIs (Xledger, Dynamics) behind a single internal contract, so additional accounting systems can be added without touching the admin UI. Credentials are stored per organization in an encrypted configuration store and never exposed to the client. The Accounting Config Page in the admin portal lets Org Admins enable the integration, supply credentials, and map expense types to ledger codes. Outbound calls run asynchronously via a job queue with retry/backoff and idempotency keys to avoid duplicate postings. All postings are written to the org's audit log per the security & audit area.
Quality Assurance
Organization Administrator (primary) · Global Administrator (same flow, time-bounded support access)Organization Administrator
Quick UAT
- Logg inn i Admin-portalen som Organisasjonsadministrator og åpne Regnskapsintegrasjon → Regnskaps-API.
- Velg regnskapssystem (f.eks. Xledger eller Dynamics) fra nedtrekkslisten pĂĄ Accounting Config Page.
- Fyll inn API-endepunkt, klient-ID, klient-hemmelighet og felt-mapping for refusjonsposter.
- Trykk Test tilkobling og bekreft at status viser 'Tilkoblet' med grønn indikator.
- Trykk Lagre konfigurasjon.
- Åpne en godkjent refusjon i Utleggs-godkjenningskøen og trykk Send til regnskap.
- Bekreft at synkroniseringsstatusen på refusjonen viser 'Overført' med tidsstempel.
Quick UAT — Accessibility
-
Logg inn i Admin-portalen som Organisasjonsadministrator og åpne Regnskapsintegrasjon → Regnskaps-API.
- Screen reader Sideoverskrift 'Regnskaps-API' annonseres; landmarks: hovedmeny, hovedinnhold.
- Keyboard / focus Tab-rekkefølge: hovedmeny → undermeny Regnskaps-API → konfigurasjonsskjema.
- Focus visibility Synlig fokusring pĂĄ aktivt menyelement.
-
Velg regnskapssystem (f.eks. Xledger eller Dynamics) fra nedtrekkslisten pĂĄ Accounting Config Page.
- Screen reader 'Regnskapssystem, kombinasjonsboks, Xledger, 1 av 3' annonseres.
- Keyboard / focus Piltaster opp/ned navigerer alternativer; Enter velger.
- Focus visibility Tydelig fokusring pĂĄ kombinasjonsboks; etikett knyttet til kontroll via aria-labelledby.
-
Fyll inn API-endepunkt, klient-ID, klient-hemmelighet og felt-mapping for refusjonsposter.
- Screen reader Hvert felt annonseres med etikett, type og 'obligatorisk' hvor pĂĄkrevd.
- Keyboard / focus Tab beveger seg sekvensielt mellom feltene; ingen tastaturfeller.
- Focus visibility Klient-hemmelighet-felt har maskert input med synlig 'Vis'-knapp som har egen tilgjengelig etikett.
- Touch target Vis/skjul-knapp ≥ 24×24 CSS px.
-
Trykk Test tilkobling og bekreft at status viser 'Tilkoblet' med grønn indikator.
- Live region 'Tilkoblingstest vellykket. Tilkoblet.' annonseres via polite live region.
- Contrast Status formidles av både ikon, tekst og farge - ikke kun grønn farge; tekstkontrast ≥ 4.5:1.
-
Trykk Lagre konfigurasjon.
- Focus visibility Fokus flyttes til bekreftelsesmelding etter lagring.
- Live region 'Konfigurasjon lagret.' annonseres.
-
Åpne en godkjent refusjon i Utleggs-godkjenningskøen og trykk Send til regnskap.
- Keyboard / focus Rader i køen navigeres med piltaster; Enter åpner detalj; Send til regnskap nås med Tab.
- Focus visibility Synlig fokusring pĂĄ Send-knappen.
- Touch target Send-til-regnskap-knapp ≥ 24×24 CSS px.
-
Bekreft at synkroniseringsstatusen på refusjonen viser 'Overført' med tidsstempel.
- Live region 'Refusjon overført til regnskapssystem klokken HH:MM.' annonseres.
- Zoom Statuskolonne forblir lesbar og uavkortet ved 200% zoom.
- Contrast Status 'Overført' indikeres med tekst i tillegg til farge.
Role Boundaries
4 role(s) must NOT access this feature-
Peer Mentor (Likeperson)
Funksjonen finnes ikke i mobilappen; ingen navigasjon, ingen API-tilgang. Deep-link til admin-portalen blokkeres ved pĂĄlogging (kun mobil-tilgang).
-
Coordinator (Koordinator)
Koordinator logger kun inn i mobilappen og har ingen tilgang til Admin-portalen; konfigurasjonssiden er utilgjengelig.
-
Global Administrator
Tilgang kun når Organisasjonsadministrator har innvilget tidsbegrenset støtte; uten gyldig grant returnerer siden 403 og hver handling logges i organisasjonens revisjonsspor.
-
Prospective Buyer
Ingen pålogging mot Admin-portalen; deep-link viser innloggingsskjerm uten å avsløre konfigurasjonsdata.
Expected End State
Regnskapsintegrasjonen er lagret, tilkoblingen er verifisert mot eksternt system (Xledger/Dynamics), og godkjente refusjoner kan synkroniseres med status 'Overført' inkludert tidsstempel og oppføring i revisjonsloggen.
Components (7)
Shared Components
These components are reused across multiple features
User Stories
No user stories have been generated for this feature yet.