Accounting API Service
Component Detail
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.
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
Related Data Entities (11)
Data entities managed by this component
Accounting Export
24 fields
core
Expense
23 fields
core
Expense Type
20 fields
configuration
Organization
17 fields
core
Reimbursement
17 fields
core
Accounting Exports
23 fields
core
Audit Logs
14 fields
audit
Expenses
31 fields
core
Organization Settings
27 fields
configuration
Organizations
25 fields
core
Reimbursements
21 fields
core