> ## 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.

# Reconciliation reports

> Definitions, CSV fields, file naming, and examples for Waffo reconciliation reports.

## Overview

Waffo provides transaction and settlement reports for reconciliation. It explains the definitions of the reports, how to obtain and use them for reconciliation.

> All report files are in CSV (Comma-Separated Values) format with UTF-8 encoding.
>
> Reconciliation reports older than 7 days on the SFTP server might be deleted and can still be downloaded from Merchant Portal.

## Enable SFTP access

To receive reconciliation reports through SFTP, contact Waffo technical support to enable access. Before requesting access, prepare:

* The email address that should receive SFTP account details and follow-up notifications.
* The public IP address or IP range that will connect to the SFTP server.

Waffo technical support will configure access based on this information and share the SFTP connection details when the setup is complete. After access is enabled, download files from the SFTP paths listed in each report section.

## Transaction Details Report

The transaction details report contains detailed records of all transactions on T day.

It is generated on T+1 day. If there is no transaction on T day, it generates an empty file containing a header of field names only.

**Obtaining**

* Query from Merchant Portal.
* Download through `SFTP Server\transactions\\{transaction date}\`
* File name: `transaction_details_{merchant id}_{transaction date}.csv`

  * merchant id: The unique identifier is assigned by Waffo to identify a merchant.
  * transaction date: The date on which the transaction is processed, in the format of YYYYMMDD and time zone of UTC+8.

**Fields**

<table><colgroup><col /><col /><col /></colgroup><thead><tr><th><b>Field</b></th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>Merchant Id</td><td>MANDATORY <br />String (64)</td><td>The unique identifier that is assigned by Waffo to identify a merchant.</td></tr><tr><td>Sub Merchant Id</td><td>OPTIONAL <br />String (64)</td><td>The unique identifier that is assigned by Waffo to identify a secondary merchant that directly provides services or goods to users.</td></tr><tr><td>Order Id</td><td>MANDATORY <br />String (32)</td><td>The unique identifier that is assigned by Waffo to identify a transaction or chargeback.<ul><li>When 'Transaction Type' is <code>PAYMENT</code>, it indicates a payment transaction id.</li><li>When 'Transaction Type' is <code>REFUND</code>, it indicates a refund transaction id.</li><li>When 'Transaction Type' is <code>CHARGEBACK</code>, it indicates a chargeback id.</li></ul></td></tr><tr><td>Merchant Order Id</td><td>OPTIONAL<br />String (32)</td><td>The unique identifier that is assigned by the merchant to identify a transaction. </td></tr><tr><td>Payment Request Id</td><td>OPTIONAL<br />String (32)</td><td>The unique identifier that is assigned by the merchant to identify a transaction payment request. </td></tr><tr><td>Original Order Id</td><td>OPTIONAL<br />String (32)</td><td>The unique identifier for the original transaction.<ul><li>When 'Transaction Type'<em> </em>is <code>PAYMENT</code>, it is empty.</li><li>When 'Transaction Type'<em> </em>is <code>REFUND</code> or <code>CHARGEBACK</code>, it indicates the original payment transaction id.</li></ul></td></tr><tr><td>Order Amount</td><td>MANDATORY<br />String (24) </td><td>The transaction amount in corresponding currency. </td></tr><tr><td>Order Currency</td><td>MANDATORY<br />String (3)</td><td>The currency of transaction amount, specified by a 3-letter currency code as defined in ISO 4217.</td></tr><tr><td>Transaction Type</td><td>MANDATORY<br />String (32)</td><td>The type of transaction.<ul><li><code>PAYMENT</code>: it indicates a payment transaction.</li><li><code>REFUND</code>: it indicates a refund transaction.</li><li><code>CHARGEBACK</code>: it indicates a chargeback.</li></ul></td></tr><tr><td>Payment Method</td><td>MANDATORY<br />String (32)</td><td>The payment method for processing the payment. Refer to API specifications.</td></tr><tr><td>Payment Option</td><td>OPTIONAL<br />String (32)</td><td>The payment option stands for sub method of payment method for processing the payment processing the payment. e.g. Payment option is balance when using DANA balance for the payment.<br />When there is no payment option, it is empty.</td></tr><tr><td>Payment Request Datetime</td><td>MANDATORY<br />String (32)</td><td>The datetime that Waffo receives payment request from the merchant, in the format of YYYY-MM-DD hh:mm:ss and in Time Zone UTC+8.</td></tr><tr><td>Payment Date</td><td>MANDATORY<br />String (32)</td><td>The datetime when the corresponding transaction reaches success status, in the format of YYYY-MM-DD and time zone of UTC+8.</td></tr><tr><td>Payment Time</td><td>MANDATORY<br />String (32)</td><td>The datetime when the corresponding transaction reaches success status, in the format of hh:mm:ss and time zone of UTC+8.</td></tr><tr><td>Order Description</td><td>OPTIONAL<br />String (128)</td><td>The description of the transaction.</td></tr><tr><td>Product Name</td><td>MANDATORY<br />String (32)</td><td>The payment product that is contracted between Waffo and the merchant.<ul><li><code>ONE\_TIME\_PAYMENT</code>: One Time Payment Product</li></ul></td></tr><tr><td>Merchant User Id</td><td>OPTIONAL<br />String (64)</td><td>The unique identifier that is assigned by the merchant to identify its own user.</td></tr></tbody></table>

**Example**

```Plain Text theme={null}
Merchant Id,Sub Merchant Id,Order Id,Merchant Order Id,Payment Request Id,Original Order Id,Order Amount,Order Currency,Transaction Type,Payment Method,Payment Option,Payment Request Datetime,Payment Date,Payment Time,Order Description,Product Name,Merchant User Id
1000000001,2000000001,A202407310821400761577,MO202407310821400601333,PR2024073108214006013332,,100.00,HKD,PAYMENT,ALIPAY,,2024-08-06 16:22:27,2024-08-06,16:22:28,Order Description1,ONE_TIME_PAYMENT,userId12345678
1000000001,2000000001,A202407310826263631579,MO202407310821400601333,PR2024073108214006013331,A202407310821400761577,10.00,HKD,REFUND,ALIPAY,,2024-08-06 16:22:04,2024-08-06,16:22:05,,ONE_TIME_PAYMENT,userId12345678
```

## Settlement Details Report

The settlement details report contains detailed settlement records for each transaction within a settlement period.

It is generated on the next day after receiving the bank receipt for the settlement. If there is no net settlement on settlement date, it will NOT generate settlement details report. If you need the empty report that has no transaction, please contact the technical support team to configure it.

**Obtaining**

* Query or download from Merchant Portal.
* Download through `SFTP Server\settlements\\{settlement date}\`
* File name: `settlement_details_{merchant id}_{settlement batch id}_{settlement date}_{settlement currency}.csv`

  * merchant id: The unique identifier is assigned by Waffo to identify a merchant.
  * settlement batch id: The unique identifier that is assigned by Waffo to identify a settlement within a settlement period.
  * settlement date: The date on which the settlement file is generated, in the format of YYYYMMDD and time zone of UTC+8.
  * settlement currency: The currency of settlement amount.

**Fields**

<table><colgroup><col /><col /><col /></colgroup><thead><tr><th><b>Field</b></th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>Merchant Id</td><td>MANDATORY <br />String (64)</td><td>The unique identifier that is assigned by Waffo to identify a merchant.</td></tr><tr><td>Sub Merchant Id</td><td>OPTIONAL <br />String (64)</td><td>The unique identifier that is assigned by Waffo to identify a secondary merchant that directly provides services or goods to users.</td></tr><tr><td>Settlement Batch Id</td><td>MANDATORY<br />String (64)</td><td>The unique identifier that is assigned by Waffo to identify a settlement within a settlement period.</td></tr><tr><td>Settlement Date</td><td>MANDATORY<br />String (16)</td><td>The date when the settlement file is generated, in the format of YYYY-MM-DD and time zone of UTC+8.</td></tr><tr><td>Order Id</td><td>MANDATORY <br />String (32)</td><td>The unique identifier that is assigned by Waffo to identify a transaction or chargeback.<ul><li>When 'Transaction Type' is <code>PAYMENT</code>, it indicates a payment transaction id.</li><li>When 'Transaction Type' is <code>REFUND</code>, it indicates a refund transaction id.</li><li>When 'Transaction Type' is <code>CHARGEBACK</code>, it indicates a chargeback id.</li></ul></td></tr><tr><td>Merchant Order Id</td><td>OPTIONAL<br />String (32)</td><td>The unique identifier that is assigned by the merchant to identify a transaction. </td></tr><tr><td>Payment Request Id</td><td>OPTIONAL<br />String (32)</td><td>The unique identifier that is assigned by the merchant to identify a transaction payment request. <ul><li>When 'Transaction Type' is <code>CHARGEBACK</code>, it is empty.</li></ul></td></tr><tr><td>Original Order Id</td><td>OPTIONAL<br />String (32)</td><td>The unique identifier for the original transaction.<ul><li>When 'Transaction Type'<em> </em>is <code>PAYMENT</code>, it is empty.</li><li>When 'Transaction Type'<em> </em>is <code>REFUND</code>or <code>CHARGEBACK</code>, it indicates the original payment transaction id.</li></ul></td></tr><tr><td>Order Amount</td><td>MANDATORY<br />String (24) </td><td>The transaction amount in corresponding currency. </td></tr><tr><td>Order Amount (Settlement Currency)</td><td>MANDATORY<br />String (24) </td><td>The transaction amount in settlement currency. </td></tr><tr><td>Order Currency</td><td>MANDATORY<br />String (3)</td><td>The currency of transaction amount, specified by a 3-letter currency code as defined in ISO 4217.</td></tr><tr><td>Transaction Type</td><td>MANDATORY<br />String (16)</td><td>The type of transaction.<ul><li><code>PAYMENT</code>: it indicates a payment transaction.</li><li><code>REFUND</code>: it indicates a refund transaction.</li><li><code>CHARGEBACK</code>: it indicates a chargeback.</li></ul></td></tr><tr><td>Payment Method Type</td><td>MANDATORY<br />String (32)</td><td>The payment method type for processing the payment. Refer to API specifications.</td></tr><tr><td>Payment Method</td><td>MANDATORY<br />String (32)</td><td>The payment method for processing the payment. Refer to API specifications.</td></tr><tr><td>Payment Option</td><td>OPTIONAL<br />String (32)</td><td>The payment option stands for sub method of payment method for processing the payment processing the payment. e.g. Payment option is balance when using DANA balance for the payment.<br />When there is no payment option, it is empty.</td></tr><tr><td>Payment Request Datetime</td><td>MANDATORY<br />String (32)</td><td>The datetime that Waffo receives payment request from the merchant, in the format of YYYY-MM-DD hh:mm:ss and in Time Zone UTC+8.</td></tr><tr><td>Payment Date</td><td>MANDATORY<br />String (32)</td><td>The datetime when the corresponding transaction reaches success status, in the format of YYYY-MM-DD hh:mm:ss and time zone of UTC+8.</td></tr><tr><td>Payment Time</td><td>MANDATORY<br />String (32)</td><td>The datetime when the corresponding transaction reaches success status, in the format of hh:mm:ss and time zone of UTC+8.</td></tr><tr><td>Product Name</td><td>MANDATORY<br />String (32)</td><td>The payment product that is contracted between Waffo and the merchant.<ul><li><code>ONE\_TIME\_PAYMENT</code>: One Time Payment Product</li></ul></td></tr><tr><td>Forex Currency Pair</td><td>OPTIONAL<br />String (16)</td><td>The currency pair for the settlement process in foreign exchange is denoted by separating the two currencies with a slash and using their 3-letter ISO 4217 currency codes (e.g., USD/HKD). The specific currency pairs are determined as follows:<ul><li>If the Settlement Currency is not equal to the Order Currency, the pair is indicated as <code>Settlement Currency/Order Currency</code>.</li><li>If the Settlement Currency is not equal to the Fee Currency (and the previous condition does not apply), the pair is indicated as <code>Settlement Currency/Fee Currency</code>.</li></ul><br />If none of the above conditions apply (i.e., there is no foreign exchange involved), it remains empty.</td></tr><tr><td>Forex Rate</td><td>OPTIONAL<br />String (24) </td><td>The foreign exchange rate of Forex Currency Pair for settlement process, which is provided by the foreign exchange partner.  <br />It is empty when the Forex Currency Pair is empty.</td></tr><tr><td>Fee Amount</td><td>MANDATORY<br />String (24) </td><td>The amount of the processing fee that is charged by Waffo. </td></tr><tr><td>Fee Amount (Settlement Currency)</td><td>MANDATORY<br />String (24) </td><td>The amount of the processing fee in settlement currency that is charged by Waffo. </td></tr><tr><td>Fee Currency</td><td>MANDATORY<br />String (3)</td><td>The currency of fee amount, specified by a 3-letter currency code as defined in ISO 4217.</td></tr><tr><td>VAT Amount</td><td>OPTIONAL<br />String (24) </td><td>The amount of the Value-Added Tax for this transaction if applicable. </td></tr><tr><td>VAT Amount (Settlement Currency)</td><td>OPTIONAL<br />String (24) </td><td>The amount of the Value-Added Tax in settlement currency for this transaction if applicable. </td></tr><tr><td>VAT Currency</td><td>OPTIONAL<br />String (3)</td><td>The currency of Value-Added Tax amount, specified by a 3-letter currency code as defined in ISO 4217.</td></tr><tr><td>WHT Amount</td><td>OPTIONAL<br />String (24) </td><td>The amount of the Withholding Tax for this transaction if applicable. </td></tr><tr><td>WHT Amount (Settlement Currency)</td><td>OPTIONAL<br />String (24) </td><td>The amount of the Withholding Tax in settlement currency for this transaction if applicable. </td></tr><tr><td>WHT Currency</td><td>OPTIONAL<br />String (3)</td><td>The currency of Withholding Tax amount, specified by a 3-letter currency code as defined in ISO 4217.</td></tr><tr><td>Settlement Amount</td><td>MANDATORY<br />String (24) </td><td>The net settlement amount in corresponding currency. </td></tr><tr><td>Settlement Currency</td><td>MANDATORY<br />String (3)</td><td>The currency of settlement amount, specified by a 3-letter currency code as defined in ISO 4217.</td></tr></tbody></table>

**Example**

```Plain Text theme={null}
Merchant Id,Sub Merchant Id,Settlement Batch Id,Settlement Date,Order Id,Merchant Order Id,Payment Request Id,Original Order Id,Order Amount,Order Amount (Settlement Currency),Order Currency,Transaction Type,Payment Method Type,Payment Method,Payment Option,Payment Request Datetime,Payment Date,Payment Time,Product Name,Forex Currency Pair,Forex Rate,Fee Amount,Fee Amount (Settlement Currency),Fee Currency,VAT Amount,VAT Amount (Settlement Currency),VAT Currency,WHT Amount,WHT Amount (Settlement Currency),WHT Currency,Settlement Amount,Settlement Currency
1000000001,2000000001,S2024073108214,2020-08-08,A202407310821400761571,MO202407310821400601331,PR2024073108214006013331,,100.00,100.00,USD,PAYMENT,EWALLET,ALIPAY,,2024-08-06 16:21:00,2024-08-06,16:21:00,ONE_TIME_PAYMENT,,,1.00,1.00,USD,,,,,,,99.00,USD
1000000001,2000000001,S2024073108214,2020-08-08,A202407310826263631572,MO202407310821400601332,PR2024073108214006013332,A202407310821400761571,10.00,10.00,USD,REFUND,EWALLET,ALIPAY,,2024-08-06 16:22:00,2024-08-06,16:22:00,ONE_TIME_PAYMENT,,,0.00,0.00,USD,,,,,,,-10.00,USD
1000000001,2000000001,S2024073108214,2020-08-08,A202407310821400761573,MO202407310821400601333,PR2024073108214006013333,,100.00,12.83,HKD,PAYMENT,EWALLET,ALIPAY,,2024-08-06 16:23:00,2024-08-06,16:23:00,ONE_TIME_PAYMENT,USD/HKD,7.79217921,1.00,0.12,HKD,,,,,,,12.71,USD
1000000001,2000000001,S2024073108214,2020-08-08,A202407310826263631584,MO202407310821400601334,PR2024073108214006013334,A202407310821400761573,10.00,1.28,HKD,REFUND,EWALLET,ALIPAY,,2024-08-06 16:24:00,2024-08-06,16:24:00,ONE_TIME_PAYMENT,USD/HKD,7.79217921,0.00,0.00,HKD,,,,,,,-1.28,USD
```

## Settlement Summary Report

The settlement summary report contains settlement summary for all transactions with the same settlement currency and net settlement amount within a settlement period.

It is generated on the next day after receiving the bank receipt for the settlement. If there is no net settlement on settlement date, it will NOT generate settlement summary report. If you need the empty report that has no transaction, please contact the technical support team to configure it.

**Obtaining**

* Query or download from Merchant Portal.
* Download through `SFTP Server\settlements\\{settlement date}\`
* File name: `settlement_summary_{merchant id}_{settlement batch id}_{settlement date}_{settlement currency}.csv`

  * merchant id: The unique identifier is assigned by Waffo to identify a merchant.
  * settlement batch id: The unique identifier that is assigned by Waffo to identify a settlement within a settlement period.
  * settlement date: The date on which the settlement file is generated, in the format of YYYYMMDD and time zone of UTC+8.
  * settlement currency: The currency of settlement amount.

**Fields**

<table><colgroup><col /><col /><col /></colgroup><thead><tr><th><b>Field</b></th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>Merchant Id</td><td>MANDATORY <br />String (64)</td><td>The unique identifier that is assigned by Waffo to identify a merchant.</td></tr><tr><td>Settlement Batch Id</td><td>MANDATORY<br />String (64)</td><td>The unique identifier that is assigned by Waffo to identify a settlement within a settlement period.</td></tr><tr><td>Settlement Date</td><td>MANDATORY<br />String (16)</td><td>The date when the settlement file is generated, in the format of YYYY-MM-DD and time zone of UTC+8.</td></tr><tr><td>Transaction Type</td><td>MANDATORY<br />String (32)</td><td>The type of transaction.<ul><li><code>TOTAL</code>: it indicates all transactions.</li><li><code>PAYMENT</code>: it indicates payment transactions.</li><li><code>REFUND</code>: it indicates refund transactions.</li><li><code>CHARGEBACK</code>: it indicates refund chargebacks.</li></ul></td></tr><tr><td>Transaction Count</td><td>MANDATORY<br />String (16)</td><td>The total number of transactions of specified transaction type.</td></tr><tr><td>Fee Amount (Settlement Currency)</td><td>MANDATORY<br />String (24) </td><td>The amount of the processing fee in settlement currency that is charged by Waffo. </td></tr><tr><td>VAT Amount (Settlement Currency)</td><td>OPTIONAL<br />String (24) </td><td>Amount of the Value-Added Tax in settlement currency for this transaction if applicable. </td></tr><tr><td>WHT Amount (Settlement Currency)</td><td>OPTIONAL<br />String (24) </td><td>Amount of the Withholding Tax in settlement currency for this transaction if applicable. </td></tr><tr><td>Settlement Amount</td><td>MANDATORY<br />String (24) </td><td>The total amount of net settlement for all transactions of specified transaction type.</td></tr><tr><td>Settlement Currency</td><td>MANDATORY<br />String (3)</td><td>The currency of settlement amount, specified by a 3-letter currency code as defined in ISO 4217.</td></tr></tbody></table>

**Example**

```Plain Text theme={null}
Merchant Id,Settlement Batch Id,Settlement Date,Transaction Type,Transaction Count,Fee Amount (Settlement Currency),VAT Amount (Settlement Currency),WHT Amount (Settlement Currency),Settlement Amount,Settlement Currency
1000000001,S2024073108214,2020-08-08,TOTAL,100,1.12,1.12,,90.42,USD
1000000001,S2024073108214,2020-08-08,PAYMENT,97,1.00,1.12,,111.70,USD
1000000001,S2024073108214,2020-08-08,REFUND,2,,,,-11.28,USD
1000000001,S2024073108214,2020-08-08,CHARGEBACK,1,0.12,,,-10.00,USD
```
