Service Layer high complexity backend
2
Dependencies
1
Dependents
11
Entities
0
Integrations

Description

Core backend service orchestrating expense export to external accounting systems. Manages transactional batch exports with all-or-nothing semantics, idempotency via external reference IDs on reimbursement records, and dry-run validation mode. Delegates protocol-specific work to the accounting adapter layer.

Feature: Accounting API

accounting-api-service

Responsibilities

  • Orchestrate batch export of approved reimbursements to accounting backends
  • Enforce transactional semantics: commit all line items or roll back entire batch
  • Attach external reference IDs to reimbursement records for idempotent re-exports
  • Support dry-run mode that validates payloads without committing data
  • Write all export events to the audit log for compliance traceability

Interfaces

exportBatch(organizationId, reimbursementIds)
dryRunExport(organizationId, reimbursementIds)
getExportStatus(exportId)
retryFailedExport(exportId)
listExports(organizationId, filters)
markReimbursementsExported(reimbursementIds, externalRefId)
rollbackExport(exportId)
getExportableReimbursements(organizationId)
validateMappings(organizationId)
scheduleExport(organizationId, cronExpression)

Relationships

Dependencies (2)

Components this component depends on

Dependents (1)

Components that depend on this component