Finance
Run Ledger Reconciliation
Reconcile billing records against the ledger and report drift. Read-only; nothing is persisted.
GET
Run an on-demand ledger reconciliation
Reconciles the tenant’s invoices against its PostgreSQL ledger entries —
and, when TigerBeetle is connected, diffs the Postgres ledger
(authoritative) against TigerBeetle transfers — returning the computed
drift report. The same check runs automatically once a day; discrepancies
are logged as
The TigerBeetle pass never fails the report — when it cannot run,
Ledger reconciliation found discrepancies.
Example Request
Response
Report Fields
Discrepancy Types
Each discrepancy carries the relevant identifier (
invoice_id,
transaction_id, or reference_id) plus expected_amount and
found_amount in minor units.
tb_skip_reason
The TigerBeetle pass never fails the report — when it cannot run,
tb_compared is false and tb_skip_reason says why:
- Not connected — TigerBeetle is not configured for this deployment (normal: PostgreSQL is the authoritative ledger)
- Above the memory guard — the tenant has more than 100,000 ledger transactions or transfers; the in-memory diff is skipped rather than risking an OOM
- Read failure — enumerating transfers or loading transaction summaries errored (the message includes the underlying error)
This
GET is computed on demand and never persisted — it only reads.
Correcting drift (e.g. with a reversing entry) is a deliberate human action.
If you want an audit trail of when reconciliation ran and what it found, use
Reconciliation Run History to run
and record a summary. See the ledger guide
and the incident runbook’s SEV1 procedure for how to act on a non-zero report.Run an on-demand ledger reconciliation