Service Layer high complexity backend
2
Dependencies
0
Dependents
4
Entities
0
Integrations

Description

Adapter-based service that pushes approved expense and reimbursement data to external accounting systems (Xledger, Dynamics) after approval. Implements a common interface with pluggable adapters per target system, supporting both OAuth and API key authentication strategies.

Feature: Accounting System Integration

accounting-integration-service

Responsibilities

  • Dispatch approved expense records to the configured accounting system adapter
  • Implement pluggable adapter interface for Xledger and Dynamics target systems
  • Handle authentication (OAuth or API key) per organization config
  • Retry failed pushes with error reporting and audit logging
  • Validate expense payload completeness before transmission

Interfaces

pushApprovedExpense(expenseId: string, orgId: string): Promise<SyncResult>
getAdapterForOrg(orgId: string): AccountingAdapter
retryFailedSync(syncId: string): Promise<SyncResult>
validatePayload(expense: Expense): ValidationResult
getSyncStatus(expenseId: string): SyncStatus

Relationships

Dependencies (2)

Components this component depends on