Skip to main content

Reconciliation Service

Purpose

Match external financial records against internal ledger entries and resolve discrepancies.

Responsibilities

  • Import external statements
  • Automated matching algorithms
  • Exception management
  • Resolution workflow
  • Reconciliation reporting

Non-Responsibilities

  • Ledger posting (Ledger Service)
  • Payment processing

APIs

MethodEndpointAuthDescription
POST/api/v1/reconciliation/runsOPERATIONSStart reconciliation
GET/api/v1/reconciliation/runs/{id}OPERATIONSRun status
GET/api/v1/reconciliation/exceptionsOPERATIONSList exceptions
PUT/api/v1/reconciliation/exceptions/{id}OPERATIONSResolve exception

Database

TableKey ColumnsDescription
reconciliation_runsid, source, status, started_atRun metadata
reconciliation_itemsid, run_id, external_ref, internal_ref, statusMatch results
exceptionsid, item_id, type, status, resolutionDiscrepancies

Kafka

Produces: ReconciliationCompleted Consumes: LedgerTransactionCreated

Dependencies

Sync: Ledger Service Async: Batch processing via Spring Batch

Failure Handling

  • Unmatched items → INVESTIGATION state
  • Large discrepancy → alert operations team

Scaling

Batch-oriented. Scale via Spring Batch partitioning.

Security

OPERATIONS role required. Audit all resolution actions.

Observability

Metrics: reconciliation_match_rate, reconciliation_exceptions_total.