> ## Documentation Index
> Fetch the complete documentation index at: https://waffo.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Settlement Reports Module

> How the Settlement Reports module in the Merchant Portal works: choosing a payment-date or settlement-date dimension, the export types and their date-span limits, which currency selector applies, how Order Amount and Fee Amount are defined in a summary, when an export splits into a zip, and how to read the export task list.

[Settlement Reports & Exports](/docs/en/support/settlement-reports-faq) explains how the amounts are
calculated. [Settlement File Specification](/docs/en/support/settlement-file-specification-faq) is the
column-by-column contract for the delivered files. **This page is about the module itself** — where it
lives, which options it offers, and which limits stop an export before it starts. For scheduled email
delivery of the same reports, see
[Report Delivery & Email Subscription](/docs/en/support/report-delivery-and-subscription-faq).

## Where do I generate a settlement report?

**Settlement → Settlement Reports.** One page carries both halves of the job:

| On the page | What it does |
| - | - |
| **Customized Export** button | Opens the export form: dimension, date range, export type, currency, language |
| The list below it | Every export task you have started, with its status and a download link |
| **Email Subscription** tab | Recurring email delivery of the same reports, where enabled for your account |

You do not need a settlement batch to start from. Batch-by-batch downloads still exist on each
Settlement Batch detail page, and the transaction list has its own export — the Settlement Reports
module is the one to use when your reconciliation period does not line up with a single batch.

## Should I export by Payment Date or by Settlement Date?

This is the single most consequential choice on the form, and it decides **which transactions can
appear at all**:

| Dimension | Scope | Use it when |
| - | - | - |
| **Payment Date** | Transactions by the date they were paid — **including transactions that have not settled yet** | You are closing a calendar period and need everything transacted in it, settled or not |
| **Settlement Date** | Only what has actually settled, by the date it settled | You are reconciling against money received in your settlement account |

The form says so explicitly when you pick Payment Date: *Includes estimated data for completed
transactions pending settlement.*

This is the answer to the classic month-end problem. With a settlement cycle of T+N, transactions from
the last days of a month have not settled when you close the books on the 1st. Exporting by
**Settlement Date** will legitimately not show them. Exporting by **Payment Date** will.

## Which export types are there, and what is the date-span limit for each?

| Export type | Grain | Maximum span |
| - | - | - |
| **Daily Settlement Summary** | One row per date and transaction currency | **31 days** |
| **Transaction Settlement Detail** | One row per order, with settled and pending data together | **3 months** |
| **Selected Period Summary** | Totals for the whole selected range | **12 months** |

Selecting a longer range is refused when you submit, before any task is created — so a rejected export
is not a failed export, and there is nothing to retry. Shorten the range and submit again. Future
dates cannot be selected at all.

## Which currency does the export filter on?

It depends on the export type, and the label on the field tells you which:

| Export type | Field label | Meaning |
| - | - | - |
| Daily Settlement Summary | **Order Currency** | Filter by the currency your customers paid in |
| Transaction Settlement Detail / Selected Period Summary | **Settlement Currency** | Filter by the currency you were settled in |

Leaving it as **All Currencies** is valid in both cases. Changing the export type clears whatever you
had selected, because the option list is a different one.

## What language are the report headers in?

The export form offers a **Report Language** — `English`, `中文`, `にほんご` — displayed in each
language's own script rather than translated into your interface language. It applies to the report
you are generating, not to the Portal, and it is independent of the interface language you use.

| Export type | Header language |
| - | - |
| **Transaction Settlement Detail** | The Report Language you selected |
| **Selected Period Summary** | The Report Language you selected |
| **Daily Settlement Summary** | English — the selector is not shown for this type |

Column **values** — currency codes, status values, identifiers — are the same in every language;
only the header row and the section labels change. If you parse the file by header name, pin the
language on your subscription or export rather than matching on translated text.

## What is in the Transaction Settlement Detail report?

One row per transaction event, **settled and not-yet-settled together**, keyed by the `Settlement
Status` column (see below). The two kinds of row populate different columns:

| Row kind | Populated | Left empty |
| - | - | - |
| `SETTLED` | `Settlement Batch Id`, `Settlement Date`, `Forex Rate`, `Fee Amount`, `Tax Amount`, `Settlement Amount` and their `(Settlement Currency)` variants | Every `Est …` column |
| `UNSETTLED` | `Est Settlement Date`, `Est Forex Rate`, `Est Order Amount (Settlement Currency)`, `Est Fee Amount`, `Est Tax Amount`, `Est Settlement Amount` and their `(Settlement Currency)` variants | The actual settlement columns |

Identifier, order, payment-method and timestamp columns (`Order Id`, `Merchant Order Id`,
`Payment Request Id`, `Original Order Id`, `Order Amount`, `Order Currency`, `Transaction Type`,
`Event Type`, `Payment Method Type`, `Payment Method`, `Payment Option`, `Payment Request Datetime`,
`Payment Date`, `Payment Time`, `Product Name`) and the currency columns (`Fee Currency`,
`Tax Currency`, `Settlement Currency`) are shared and carry no `Est` prefix in either case; a
`Comments` column marks refund-reserve settlement rows. So a single file answers both "what did I
get paid" and "what is still owed", and an `Est` figure turning into an actual figure between two
exports is the settlement running, not a data change.

## In a summary, how are Order Amount and Fee Amount defined?

These two definitions cause more reconciliation disputes than any other, because neither is a gross
figure:

```
Order Amount = payment − refund − chargeback

Fee Amount   = payment fee (successful and failed transactions)
             + refund fee
             + chargeback fee
             + chargeback alert fee
```

Consequences worth stating plainly:

* **`Order Amount` is net.** Refunds and chargebacks are already subtracted. Comparing it to your own
  gross sales figure will always differ by exactly your refunds and chargebacks.
* **`Fee Amount` can include fees on transactions that did not succeed**, if your contract prices
  failed attempts. Those rows carry a fee with no order amount, which is correct rather than a data
  error.
* Payments are positive; refunds, chargebacks and chargeback alerts are negative.

## What columns does the Daily Settlement Summary have?

Ten, in this order:

| # | Column |
| - | - |
| 1 | `Payment Date` |
| 2 | `Currency` |
| 3 | `Order Amount` |
| 4 | `Fee Amount` |
| 5 | `Tax Amount` |
| 6 | `Order Amount (Settlement Currency)` |
| 7 | `Fee Amount (Settlement Currency)` |
| 8 | `Tax Amount (Settlement Currency)` |
| 9 | `Settlement Currency` |
| 10 | `Settlement Amount` |

Every original-currency column is paired with its settlement-currency equivalent, and tax is one
column whichever tax it is — there is no separate VAT or withholding-tax column. Only the
settlement-currency columns are addable across rows — amounts in different order, fee and tax
currencies are never summed in their original currencies.

## Why does one date produce several rows in a daily summary?

Because a day is only one row when the transaction currency and the fee currency are the same. When
they differ, or when several fee currencies were involved on that day, the day splits into **one row
per fee currency**. VAT and withholding tax currencies are folded into the fee currency rather than
splitting the row further.

So a day with orders in one currency but fees billed in two produces two rows for that date, whose
settlement-currency columns add up to the day's total.

## Why did my export come back as a zip?

Two independent reasons, and either alone is enough:

| Trigger | Result |
| - | - |
| The result spans **more than one settlement currency** | One file per settlement currency, packed into a zip. Summarising requires a single settlement currency, so they cannot share a file |
| The result exceeds **60,000 data rows** | Split into sequentially numbered files (`_001`, `_002`, …), packed into a zip |

A single-currency result under the row limit downloads as one file with no zip and no sequence suffix.

## What do the export task statuses mean?

| Status | Meaning |
| - | - |
| **Pending** | The task is queued or the file is still being built |
| **Success** | Ready — the Report column becomes a download link |
| **Failed** | Generation did not complete. Start the export again |

Exports are asynchronous by design: you start one, leave the page, and collect the file later. The
list shows the export date, the status, the export type and the file. General behaviour of the export
queue, including link expiry, is covered in
[Exports & Report Downloads](/docs/en/support/export-center-faq).

## What does the Settlement Status column on an export mean?

It tells you whether a given transaction had settled as at the export, and it has **four** values —
not two:

| Value | Meaning |
| - | - |
| `SETTLED` | The transaction has settled. Actual settlement figures are populated |
| `UNSETTLED` | The transaction has not settled yet |
| `UNDEFINED` | The transaction is mid-flight — for example a refund still in progress — so neither answer is meaningful yet |
| `NOT_APPLICABLE` | Settlement does not apply: the order was closed, a refund failed, or the record is a customer dispute |

Reading `UNDEFINED` or `NOT_APPLICABLE` as "not settled" will overstate what is still owed to you.
Filter on `UNSETTLED` explicitly rather than on "not `SETTLED`".

## I still see a Settlement Estimation menu. Which one should I use?

If your account still has it, Settlement Estimation shows pre-settlement estimates on their own, with
their own 31-day export. It is superseded in practice by exporting from **Settlement Reports with the
Payment Date dimension**, which returns settled and not-yet-settled transactions in one file so you
do not have to export twice and merge.

Which menus your account sees is set per merchant. If you would rather work from the single unified
export, ask your account manager.

***

Numbers not matching between two exports of the same period?
[Contact support](mailto:support@waffo.com) with both export dates and the dimension you chose —
Payment Date versus Settlement Date explains most of these.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.