Usually neither. They are answering different questions, and the trouble starts when a dashboard treats them as the same number.
Your ledger records what you captured, at the amount and currency the customer saw, at the moment your code ran. The settlement file records what the acquirer actually moved to your account: usually net of interchange and scheme fees, converted at the acquirer's FX rate on the batch date, and cut at their batch boundary, not your midnight.
So a single day can drift for at least four independent reasons: a capture that landed in the next batch, a fee schedule that changed on the first of the month, a refund settled against a different day's batch, and an FX rate applied hours after the sale.
The fix is not a better dashboard. It is a reconciliation step: match at batch level first, drop to the transaction reference where the acquirer file carries one, explain every delta with a named reason, and leave a short list of unexplained items for a human. If the same kind of item keeps landing in "other", that is a rule you have not written yet, not noise.
What granularity do you reconcile at, per transaction or per batch, and did per-transaction ever pay for itself?
Top comments (0)