Skip to main content
This page explains how the numbers in your settlement reports are produced and how to get the data out of the Merchant Portal. Field definitions, CSV layouts and SFTP paths live in Reconciliation reports.

How is each amount calculated, and why is my fee one cent off?

Each detail row is calculated per transaction, in the settlement currency: The one-cent gap comes from the rounding rules, which differ by column: On a 2-decimal account fees and taxes round up, so a figure you compute with ordinary half-up rounding can land a cent below the report. On a 6-decimal account the fee is rounded half up at 6 decimals instead — see Settlement Calculation Explained. A chargeback fee is taken as reported for that case, not recalculated from your fee rate, so it never matches a rate × amount formula. The summary TOTAL is the detail rows summed and rounded once at the end: TOTAL = ROUND2(Σ detail Settlement Amount).

Do I get the original payment fee back when I refund?

If your contract includes a returned fee, the refund row carries it back as a positive component of that row’s Settlement Amount, pro-rated against the original transaction:
The settlement-currency figure is pro-rated the same way, using ROUND2. A partial refund returns only the matching share; a full refund returns all of it. With no returned fee in your contract, the row has no such component.

Why does Forex Currency Pair have a value when my order currency matches the settlement currency?

Fees and taxes can be billed in a third currency. The pair is resolved by priority — the first condition that matches wins: Forex Rate is empty whenever Forex Currency Pair is empty.

Settlement History or Settlement Batch — which one should I use?

Instructions still in their initial state are not listed. Batches are packed by settlement currency, so one batch and one set of files cover every order currency inside it, with the forex rate shown per transaction; date fields are labelled (UTC+8). Settlement Original Amount is the net amount summed in the order currency; Settlement Target Amount is the same money after conversion — identical when both currencies match, and empty until conversion completes rather than missing data.

What can Customized Export give me, and where do I download it?

All columns of the chosen type are emitted; there is no per-column selection. In a daily summary, Order Amount is payment − refund − chargeback, not gross payments. A day is one row when the transaction currency equals the fee currency; when they differ, or several fee currencies exist, the day splits into one row per fee currency, with the tax currency folded into the fee currency. Summarising needs a single settlement currency, so where several are involved the export is split into separate files. Detail exports are paginated at 60,000 rows per file and run asynchronously — start the export, then collect the file from the Reports module. The full option set, span limits and column layouts are in Settlement Reports Module.

What is in the batch transaction detail file?

Download it from a batch to reconcile transaction by transaction against your settlement account entries. It is named SETTLEMENT_{MID}_{settlement success date YYYYMMDD}_{SETTLEMENT_REFERENCE_ID}.csv, Its columns are built to join against your own records: the settlement reference and date, your own order / payment-request / refund-order identifiers, the Waffo order and refund identifiers, the transaction type (payment or refund), the transaction success time, and the order, fee, tax and settlement amount/currency pairs. For the exact column headers and their formats, always read Reconciliation reports and Settlement file specification rather than hard-coding names from this page.

There is no settlement file today — did settlement fail, or did the file fail?

By default, no settlement means no file: GENERATE_ON_VALID_SETTLEMENT produces details and summary files only when a valid settlement occurred. To always receive a file, so “nothing to settle” is never confused with “file generation problem”, ask support to switch your account to GENERATE_ALWAYS. You then get a header-only file on every scheduled settlement date, deferred ones included, named with an all-zero batch id placeholder:
Those placeholders are a delivery signal only — no Settlement Batch record is created in the Merchant Portal, which is how you tell them apart from a real settlement.