Understanding the core concepts of Formance Reconciliation will help you effectively implement and use the service to maintain financial accuracy across your payment systems.

Policies

A reconciliation policy defines which ledger accounts to compare with which cash pools. Each policy contains four required fields:

Policy Components

name
string
required
A human-readable identifier for the policy (e.g., “Stripe Settlement Reconciliation”)
ledgerName
string
required
The name of the Formance Ledger instance to reconcile against
ledgerQuery
object
required
Query parameters that define which ledger accounts to include in the reconciliation
paymentsPoolID
string
required
The UUID of the cash pool to reconcile against the ledger accounts

Reconciliation

A reconciliation compares balances between your Formance Ledger and a cash pool at specific timestamps. You provide:
  • reconciledAtLedger - timestamp for ledger balance retrieval (must be in the past)
  • reconciledAtPayments - timestamp for cash pool balance retrieval (must be in the past)
The reconciliation stores the results with status OK or NOT_OK, along with ledgerBalances, paymentsBalances, and driftBalances for any discrepancies.

Drift Detection

When balances don’t match between systems, the service calculates drift - the exact difference stored in driftBalances. All drift amounts are calculated as absolute values and stored per asset.