Reconciliation & settlement

Two records of the same money, compared line by line.

NATIO knows what it orchestrated. Each provider knows what it processed and what it settled. Reconciliation puts the two side by side, classifies every difference, and leaves an auditable record of the comparison — so finance stops rebuilding it in a spreadsheet each month.

How a run works

Import a provider report, match it against NATIO transactions.

A reconciliation batch takes a provider file for a period, matches each row against the transactions NATIO recorded, and produces a result per row plus totals per category.

Matching keys
The provider reference first, then your NATIO reference where the file carries one. Column names are normalised, so provider_reference, reference or txn_id all map to the same field.
Amounts
Integer values are read as minor units, decimal values as major units and converted. Currency is compared as well as amount.
Statuses
Provider vocabularies are normalised — settled, captured, approved, paid all mean successful; declined, voided, rejected all mean failed — before the two sides are compared.
Scope
Only settled money is expected in a provider file: a NATIO transaction that never succeeded is not reported as missing.
Today and next
CSV import is available now in the dashboard. Direct provider API imports are the next step; the matching engine is unchanged by where the rows come from.
Provider report · CSV
provider_reference,natio_reference,amount,currency,status,processed_at
dma_5f21c4,pay_7Kq2mN9xR4vL8wP1tY3z,10000,USD,settled,2026-09-21T14:02:11Z
dma_5f21c9,pay_2Vc8hT4pL1nQ6zR9mK0w,4500,USD,settled,2026-09-21T14:44:57Z
dma_5f2200,,25000,USD,settled,2026-09-21T15:10:02Z
What a batch records
  • The file, the provider account and the period it covers
  • A count per result category, and the total rows compared
  • Each row with both sides: NATIO amount and status, provider amount and status
  • A link from every row back to the payment and its timeline
  • Who imported it, and when
Results

Five outcomes, and what each one usually means.

A reconciliation result is not just a flag. Each row keeps both sides of the comparison — the NATIO transaction and the provider row — so the difference can be investigated without opening two systems.

ResultWhat it meansTypical cause
MATCHEDThe provider row and the NATIO transaction agree on reference, amount, currency and status.Nothing to do.
MISSING_PROVIDERNATIO recorded a successful transaction that the provider file does not contain.Usually a cut-off or a file covering a different window; otherwise a case for the provider.
MISSING_NATIOThe provider reports a transaction NATIO has no record of.Check for traffic sent outside the platform, or a reference the file does not carry.
AMOUNT_MISMATCHThe references match but the amounts — or the currencies — differ.Partial capture, partial refund or a currency conversion applied by the provider.
STATUS_MISMATCHThe references and amounts match but the outcomes disagree, for example successful in NATIO and pending or failed at the provider.Usually a late provider notification; the transaction is re-checked against the provider.

Every batch keeps its file name, its period, who imported it and its totals. Results link back to the payment, so an exception ends at a timeline rather than at a dead end.

Four layers

Payment, provider transaction, settlement, merchant account.

Most reconciliation pain comes from treating these as one number. NATIO keeps them apart and shows how they relate.

Payment
What the customer was asked to pay: one amount, one currency, one lifecycle, possibly several provider attempts.
Provider transaction
What the provider actually processed: its own reference, its own fee, its own status, on its own clock.
Settlement
What the provider transferred and when: a batch covering a period, with gross, fees and net, and the transactions it covers.
Merchant account
What arrived in your bank account, from the licensed provider, under the provider's own settlement terms.
01

Processed vs settled

Per currency, what NATIO orchestrated against what providers report as settled, so the gap is visible instead of implied.
02

Settlement batches

Each batch reported by a provider, with its period, gross amount, fees, net amount, status and the transactions it covers.
03

Fees where they occur

Provider fees are stored per attempt and per settlement, so cost per provider is a fact from your own data rather than an estimate.
Custody

NATIO does not hold your money.

This is a design decision, not a temporary state, and it shapes everything on this page.

Funds flow
Money moves between the merchant and the licensed providers connected to the platform. Those providers settle directly to the merchant's account under their own terms.
What balances show
The balances endpoint reports what providers have processed and settled for you. It is a view of provider-reported figures, not a NATIO-held balance; the payload states custodian: false.
What NATIO is
A payment orchestration and technology infrastructure layer. NATIO is not a bank, an acquirer, a payment institution or an e-money institution, and does not perform regulated payment services itself.
Why it matters here
Because the money is settled by the provider, the provider's report is the authority. Reconciliation exists to prove that NATIO's record and that authority agree.

Who does what

  • Merchant
    Sells, sets routing policy, holds the commercial relationship with each provider.
  • NATIO
    Orchestrates the request, records every decision, normalises provider data, reconciles and reports.
  • Licensed providers
    Process, acquire, hold funds where applicable, and settle directly to the merchant.

Reconcile a sandbox batch.

Run test payments, export the demo provider report, import it, and watch the matching engine classify every row.