Reconciliation
Keeping your ledger and ours in agreement.
At volume, reconciliation is the difference between a clean month-end and a week of investigation. Four habits carry most of the weight.
Store the identifiers#
- Persist the
idwe return and your ownreferenceon the same record. These are the join keys. - Persist the
idempotency_keyyou generated, so a retry can find its original. - Put your order identifier in
metadata. It is echoed back on webhooks.
Only settle on final states#
Do not credit an account, release goods or mark an order paid on a 202 or on pending. Wait for a final status.
Sweep for stragglers#
Run a scheduled job that lists your own non-final transactions and calls the status endpoint for each. This catches anything a missed webhook would otherwise leave hanging.
Reconcile against the ledger#
Pull /transactions for the period and match on source_id. Every entry carries balance_before and balance_after, so a gap in your own ledger shows up as a break in the chain rather than only as a total that does not agree.
Check the balance identity holds: available should equal total_inward minus total_outward at any point. Remember that both customer payouts and settlements to your own account appear on the outward side, so a drop in available with no matching customer payout is a settlement, not a discrepancy.
A workable daily routine#
- List transactions for yesterday, filtered by currency.
- Match each entry to your own record by
source_id. - Investigate anything in our ledger that is missing from yours, and anything of yours still non-final.
- Compare your closing balance to
availableon the wallet.
Maly Tech Ltd. This guide is provided for information. Where it differs from your signed agreement, the agreement applies.