Skip to main content
Settlement Reports & Exports explains how the amounts are calculated and how to pull a report on demand. Report Delivery & Email Subscription covers how files reach you on a schedule. This page is the field-level contract: what every column means, how many decimals it carries, when it is legitimately empty, and how each file is named.

Which report files do I get, and when is each one produced?

All three are CSV, UTF-8 encoded. The two settlement reports are keyed to a settlement batch; the transaction report is keyed to a transaction day and is independent of your settlement cycle. Two behaviours follow from that split and cause most “my file is missing” tickets:
  • A day with no transactions still produces a Transaction Details file — containing the header row only.
  • A settlement date with no net settlement produces no settlement files at all, because no settlement batch exists. If you need a placeholder on every scheduled date instead, that is a per-merchant configuration — see Settlement Reports & Exports.

What are the exact file names?

  • transaction date and settlement date are YYYYMMDD in UTC+8; PDF dates are YYYYMMDD.
  • settlement currency is part of the settlement file names precisely because a batch is packed by settlement currency. If one settlement date carries two settlement currencies you receive two sets of files, distinguishable by that last component.
  • A file that has to be regenerated is not overwritten: it is written again under a new version suffix (..._v2.0_1.csv follows ..._v1.0_1.csv), so an existing download you already picked up never changes underneath you.

Where are the files delivered, and how long do they stay there?

Files are available in the Merchant Portal and, if you use SFTP delivery, under the documented transaction and settlement directories — see Reconciliation reports for the exact paths. Reconciliation reports are kept on the SFTP server for a limited period only. They remain downloadable from the Merchant Portal. If your pull job has been offline for a while, recover the gap from the Portal rather than from SFTP. SFTP access supports two login methods, username and password or key-based authentication. Key-based authentication is the recommended one.

Transaction Details — field dictionary

Payment Date and Payment Time are two separate columns on purpose: the date column is the one that determines which transaction day — and therefore which settlement — a transaction belongs to, so it can be used as a grouping key without parsing a timestamp.

Settlement Details — field dictionary

Same row grain as Transaction Details, plus the settlement result for each transaction. Tax is reported as a single Tax Amount column whichever tax it is; there is no separate VAT or withholding-tax column — see Fee & Tax Treatment.

Settlement Summary — field dictionary

One row per transaction type, plus a TOTAL row, for a single settlement currency. There is no Order Amount column in the summary. Every monetary column is already expressed in the settlement currency, which is what makes the rows addable — amounts in different order, fee and tax currencies are never summed in their original currencies.

Why does my file show six decimal places when the currency has two?

Because settlement precision is a per-merchant configuration. Your account is set to either 2 or 6 decimal places, and it is fixed once configured. On a 6-decimal account, settlement-currency amounts are written with six decimals and zero-padded to that width, so a whole number appears as 99.000000. Order Amount in the original order currency keeps that currency’s own decimals and is not padded. Fixed widths, always zero-padded when the value is shorter: On a 6-decimal account this is what makes the detail rows tie exactly to the batch: the sum of the detail Settlement Amount values equals the batch amount without a residual.

When does Forex Currency Pair have a value, and which pair?

Fees and taxes can be billed in a currency that is neither your order currency nor your settlement currency, so the pair is resolved by priority — the first condition that matches wins: Rows that carry no order amount — a billed failed attempt, or a chargeback alert — evaluate the fee currency only; a chargeback that was won evaluates the order currency only. So a row can carry a pair even when your order currency already equals your settlement currency: the FX step in that row was for the fee or the tax, not for the order. Forex Rate is empty exactly when the pair is empty.

I received a settlement file with a batch id of all zeros. What is it?

That is a placeholder, produced only if your account is configured to generate a file on every scheduled settlement date rather than only when a settlement happened:
It contains the header row and nothing else. The all-zero batch id is deliberate — no settlement batch exists, so there is no real id to put there, and no Settlement Batch record appears in the Merchant Portal. Treat it as a delivery heartbeat that separates “there was nothing to settle” from “the file did not arrive”, not as a settlement event.

Can I download a whole month of settlement details in one go?

Yes, from the Settlement Batch list. Select a range of Actual Settlement Date and download the batches together: min settlement date and max settlement date are the earliest and latest settlement dates in your selection, YYYYMMDD UTC+8. The request runs asynchronously — collect the result from the Reports module, as described in Exports & Report Downloads. For a range you want to slice differently — by payment date, by order currency, or as a daily summary rather than transaction by transaction — use Customized Export instead; its options are listed in Settlement Reports & Exports.

What formatting conventions do the PDF documents follow?

The Settlement Statement, Withdrawal Statement and Invoice share one layout and one set of conventions, so a value means the same thing in all three: The page order is fixed as well: the issuing Waffo entity’s name and address, then the document block (date and number), then your company name and address, then the business detail table.

What is in the Settlement Statement, and how is its rate calculated?

Columns are Country/Region, Transaction Amount, Fee Amount, Tax Amount, Avg. Forex Rate and Settlement Amount, with the totals stated below the table. Tax Amount is formatted like every other amount, {Tax Currency} {Tax Amount}. Avg. Forex Rate is a weighted average, not a simple mean. Each component rate is weighted by its own settlement amount:
carried to 8 decimals. Dividing total original amount by total settlement amount gives a slightly different figure, which is why recomputing it that way will not reproduce the statement.

What is in the Invoice, and why are there several attachments?

The Invoice covers fees, grouped by fee currency: Statement and Invoice emails are sent from a Waffo finance mailbox; reply to support rather than to the sender if you have a question about one. IOF is not on the Invoice. Where IOF applies to a transaction, Waffo cannot issue an invoice for it, so it is excluded from the invoice document. It still appears in the settlement calculation.
Reconciling a specific file and something still does not tie? Contact support with the file name — the settlement batch id and settlement currency in it are enough to locate the settlement.