Infrastructure high complexity backend
1
Dependencies
1
Dependents
3
Entities
0
Integrations

Description

Pluggable adapter layer abstracting protocol and schema differences between accounting backends. Provides a shared interface with concrete implementations for Xledger (Blindeforbundet) and Dynamics/Visma (HLF), handling authentication, payload mapping from Meander's expense schema to journal entry format, and error normalization.

Feature: Accounting API

accounting-adapter

Responsibilities

  • Define a common adapter interface for all accounting system integrations
  • Implement Xledger adapter with OAuth2 authentication and XML/JSON payload mapping
  • Implement Dynamics/Visma adapter with API key authentication and journal entry mapping
  • Normalize errors and responses from heterogeneous accounting APIs
  • Handle retry logic and rate limiting per provider

Interfaces

authenticate(credentials)
mapToJournalEntry(reimbursement, accountCodeMapping)
submitBatch(journalEntries)
validatePayload(journalEntries)
getSubmissionStatus(externalRefId)
cancelSubmission(externalRefId)
testConnection(credentials)
getAvailableAccountCodes(credentials)
refreshToken(credentials)

Relationships

Dependencies (1)

Components this component depends on

Dependents (1)

Components that depend on this component

Sub-Components (2)

Xledger Adapter
component high

Concrete adapter for the Xledger accounting platform used by Blindeforbundet. Handles OAuth2 authentication flow and maps Meander expense data to Xledger journal entry format.

  • Implement Xledger-specific authentication (OAuth2)
  • Map Meander expense schema to Xledger journal entry format
  • Handle Xledger-specific error codes and rate limits
Dynamics/Visma Adapter
component high

Concrete adapter for the Dynamics/Visma accounting platform used by HLF. Handles API key authentication and maps Meander expense data to Dynamics journal entry format.

  • Implement Dynamics-specific authentication (API key)
  • Map Meander expense schema to Dynamics journal entry format
  • Handle Dynamics-specific error codes and pagination

Related Data Entities (3)

Data entities managed by this component