# Settlement details report

> The settlement details report contains transaction settlement details for all transactions within a settlement period.

The settlement details report contains transaction settlement details for all transactions within a settlement period. The report is generated along with the settlement summary report. You can obtain this report through the [SFTP server](https://docs.antom.com/ac/apo/reconciliation.md#7Ntv8) or [APO Dashboard](https://docs.antom.com/ac/apo_zh-cn/reconciliation.md#rPGJ4).

# Report details

The settlement details report consists of three parts: header information, transaction details, and the end-of-file <END> that appears in the last line of the report. The header information is represented by parameter names, and the settlement details are represented by the corresponding values of the parameters.

The following table shows the parameters in the settlement details report and parameter descriptions:

| **Parameter** | **Description** |
| --- | --- |
| _settlementBatchId_ | **MANDATORY** String (64) The unique ID is assigned by the acquirer to identify a settlement period, which corresponds to the settlement batch number in the settlement summary parameter. If the acquirer does not assign _settlementBatchId_, APO will generate this ID. |
| _customerId_ | **MANDATORY** String (64) The unique ID that is assigned by the acquirer to identify a merchant. |
| _acquirer_ | **MANDATORY** String (64) The name of the acquirer that processes the transactions. The acquirer here specifically means the acquirer that provides acquiring and funds settlement services for the merchant. |
| _acquirerReferenceNo_ | **OPTIONAL** String (64) The unique ID assigned by the non-Antom acquirer for the transaction. This parameter is specified when the transaction is settled by the non-Antom acquirer. |
| _referenceMerchantId_ | **OPTIONAL** String (64) The unique ID of the sub-merchant that directly provides services or goods to users, is assigned by the primary merchant to its sub-merchant. The value of this field needs to be the same as that of the _referenceMerchantId_ field in the original payment or authorization request. |
| _referenceStoreId_ | **OPTIONAL** String (64) The unique ID of the store that belongs to the merchant, is assigned by the primary merchant to its sub-merchant. |
| _transactionId_ | **MANDATORY** String (64) The unique ID that is assigned by APO to identify a transaction. The value of this parameter follows these rules: - When _transactionType_ is `PAYMENT`, `CANCEL`, or `AUTHORIZATION`, the value of this parameter is identical to that of _paymentId_. - When _transactionType_ is `CAPTURE`, the value of this parameter is identical to that of _captureId_. - When _transactionType_ is `REFUND`, the value of this parameter is identical to that of _refundId_. - When _transactionType_ is `DISPUTE` or `DISPUTE_REVERSAL`, the value of this parameter is identical to that of _disputeId_. - When _transactionType_ is `VOID`, `REFUND_REVERSAL`, `SETTLEMENT_FEE`、`COLLATERAL_WITHHOLDING`, `RESERVE_WITHHOLDING`, `RESERVE_RELEASE`, `COLLATERAL_RELEASE`, the value of this parameter is APO's internal ID. |
| _originalTransactionId_ | **OPTIONAL** String (64) An identifier for the original transaction. - When _transactionType_ is `PAYMENT`, `CANCEL`, or `AUTHORIZATION`, the value of this parameter is empty. - When _transactionType_ is `VOID`, the value of this parameter is identical to _paymentId_ of the original authorization. - When _transactionType_ is `REFUND`, the value of this parameter is identical to _paymentId_ of the original payment or authorization. - When _transactionType_ is `CAPTURE`, the value of this parameter is identical to _paymentId_ of the original authorization. - When _transactionType_ is `DISPUTE`, the value of this parameter is identical to that of _paymentId_ of the original authorization. |
| _transactionRequestId_ | **MANDATORY** String (64) The unique ID that is assigned by the merchant to identify a transaction request. The value of this parameter is identical to the value of _paymentRequestId_ for a payment, or the value of _refundRequestId_ for a refund. When _transactionType_ is `DISPUTE`, the value of this parameter is empty. |
| _referenceTransactionId_ | **OPTIONAL** String (64) The unique ID assigned by the merchant that directly provides services or goods to users, to identify a transaction. The value of this parameter is identical to that of _referenceOrderId_ for a payment. When _transactionType_ is `CANCEL`, `CAPTURE`, or `DISPUTE`, the value of this parameter is empty. |
| _paymentMethodType_ | **MANDATORY** String (64) The payment method for processing the payment. The valid values are: - Kakao Pay: `KAKAOPAY` - NAVERPAY: `NAVERPAY` - Toss Pay: `TOSSPAY` - Alipay: `ALIPAY_CN` - WeChat Pay: `WECHATPAY` The value of this parameter is identical to that of _paymentMethodType_ in the original payment or authorization request. |
| _pspName_ | **OPTIONAL** String (64) The name of the digital wallets, such as GCash. The value of this parameter is identical to that of _pspName_ in the original payment or authorization request. |
| _transactionType_ | **MANDATORY** String Transaction type. Possible values are: - `PAYMENT`: indicates a payment process. - `REFUND`: indicates a refund process. - `CANCEL`: indicates a cancellation process. - `AUTHORIZATION`: indicates an authorization process. - `CAPTURE`: indicates a capture process. - `VOID`: indicates a void authorization. - `DISPUTE`: indicates a dispute process. - `REFUND_REVERSAL`: indicates a reversed refund because the payment method is unable to correctly process the refund. The funds are returned to your account. - `SETTLEMENT_FEE`: indicates the settlement fee charged by the acquirer. The fee details are represented by the _settlementAmountValue_ and _settlementCurrency_ parameters. - `DISPUTE_REVERSAL`: indicates a reversal of a successfully defended dispute. - `COLLATERAL_WITHHOLDING`: indicates the withholding of collateral funds. - `RESERVE_WITHHOLDING`: indicates the withholding of reserve funds. - `RESERVE_RELEASE`: indicates the release of reserve funds. - `COLLATERAL_RELEASE`: indicates the release of collateral funds. |
| _paymentTime_ | **MANDATORY** String (64) The date and time when the corresponding transaction reaches a final status of success, in the format of `YYYY-MM-DDTHH:MM:SS+hh:mm` as defined in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html). |
| _settlementTime_ | **MANDATORY** String (64) The date and time when the settlement file is generated, in the format of `YYYY-MM-DDTHH:MM:SS+hh:mm` as defined in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html). |
| _productCode_ | **MANDATORY** String The type of payment product that is contracted between APO and the merchant. Valid values are: - `AGREEMENT_PAYMENT`: indicates Tokenized Payment. - `CASHIER_PAYMENT`: indicates One-time Payments. The value of this parameter is identical to that of _productCode_ in the original payment or authorization request. |
| _transactionAmountValue_ | **MANDATORY** String (16) The transaction amount in major units of the corresponding currency (For example, USD for dollars, and JPY for yen). When the Interchange++ pricing model is used, the interchange fee charged by the issuing bank and the scheme fee charged by the card scheme may be charged in subsequent settlement batches, and the value of this field is 0 in this case. |
| _transactionCurrency_ | **MANDATORY** String (3) The currency of _transactionAmountValue_, specified by a 3-letter currency code as defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). |
| _settlementAmountValue_ | **MANDATORY** String (16) The net settlement amount in major units of the corresponding currency (For example, USD for dollars, and JPY for yen). |
| _settlementCurrency_ | **MANDATORY** String (3) The currency of _settlementAmountValue_, specified by a 3-letter currency code as defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). |
| _quoteCurrencyPair_ | **OPTIONAL** String (16) The currency pair of the settlement currency and the transaction currency, which is provided by the foreign exchange partner. The two currencies are separated with a slash and use a 3-letter [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) currency code, such as `EUR/USD`. The value of this parameter is empty when the settlement currency is the same as the transaction currency. |
| _quotePrice_ | **OPTIONAL** Decimal (20) The quotation of the exchange rate between two currencies in the currency pair specified in the _quoteCurrencyPair_ parameter. The value of this parameter is empty when the settlement currency is the same as the transaction currency. |
| _feeAmountValue_ | **OPTIONAL** String (16) The amount of the processing fee that is charged by the acquirer. The value of this parameter is in major units of the corresponding currency (For example, USD for dollars, and JPY for yen). |
| _feeCurrency_ | **MANDATORY** String (3) The currency of _feeAmountValue_, specified by a 3-letter currency code as defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). |
| _originalTransactionRequestId_ | **OPTIONAL** String (64) The original payment request ID of the transaction when the transaction type is `REFUND`, `CANCEL`, or `CAPTURE`. Otherwise, the value of this parameter is empty. |
| _acquirerTransactionType_ | **OPTIONAL** String This indicates the original type of transaction as recorded by the acquirer. |
| _acquirerCustomerId_ | **OPTIONAL** String (64) The unique ID of merchant account asssigned by the acquirer. |
| _acquirerBatchId_ | **OPTIONAL** String (64) The unique ID assigned by the acquirer to a specific batch of settlement. |
| _cardBrand_ | **OPTIONAL** String (256) The brand of the card. This parameter is specified when _paymentMethodType_ is `CARD`. The value of this parameter is identical to that of _cardBrand_ in the original payment or authorization request. |

Table 1. Parameters and descriptions in the settlement details report

> **Note**: Use the header parameters to parse the transaction details report. The parameter order in the report downloaded from the SFTP server and APO Dashboard may not match the parameter order displayed in Table 1.

# Report samples

The following samples show settlement details reports in different scenarios.

## Sample 1 (Standard report)

On the transaction day of April 23 to April 25, 2025, the merchant with an ID of 21111100000xxxxx had many transactions, including a payment and a refund. After APO settled with you and you received the bank receipt, APO generated a settlement details report in CSV. The details of the report are as follows:

```plaintext
settlementBatchId,customerId,acquirer,acquirerReferenceNo,referenceMerchantId,referenceStoreId,transactionId,originalTransactionId,transactionRequestId,referenceTransactionId,paymentMethodType,pspName,transactionType,paymentTime,settlementTime,productCode,transactionAmountValue,transactionCurrency,settlementAmountValue,settlementCurrency,quoteCurrencyPair,quotePrice,feeAmountValue,feeCurrency,originalTransactionRequestId,acquirerTransactionType,acquirerCustomerId,acquirerBatchId,cardBrand
"202505051967158148 ","2111110000022047 ",ALIPAY,," ","2188120010652099 ","20250425194010800100188060290748359  ",,"amsdmpay_cw391890_20250424_225244_111   ","amsdmorder_cw391890_20250424_225244_111  ",NAVERPAY,NAVERPAY,PAYMENT,2025-04-25T13:57:37+08:00,2025-05-06T05:18:17+08:00,CASHIER_PAYMENT,300,KRW,0.2,USD,USD/KRW,1453.592185,-0.01,USD,,,"2188120010652099   ","202505051967158148   ",
"202505051967158148 ","2111110000022047 ",ALIPAY,," ","2188120010652099 ","20250423194010801300188600268137104  ","20250423194010800100188600289907865  ","amsdmrefund_wgl02015622_20250422_195200_030  ","amsdmorder_wgl02015622_20250422_194430_371   ",ALIPAY_HK,AlipayHK,REFUND,2025-04-23T10:52:00+08:00,2025-05-06T05:18:17+08:00,CASHIER_PAYMENT,-0.6,HKD,-0.08,USD,USD/HKD,7.79879473,0,USD,"amsdmpay_wgl02015622_20250422_194430_371   ",,"2188120010652099    ","202505051967158148   ",
"202505051967158148 ","2111110000022047 ",ALIPAY,," ","2188120010652099 ","20250424194010801300188270270966417  ","20250424194010800100188270290203976  ","amsdmrefund_lutong_lu_20250423_210524_073    ","amsdmorder_lutong_lu_20250423_205848_036 ",DANA,Dana,REFUND,2025-04-24T12:05:24+08:00,2025-05-06T05:18:17+08:00,CASHIER_PAYMENT,-300,IDR,-0.02,USD,USD/IDR,17083.87736,0,USD,"amsdmpay_lutong_lu_20250423_205848_035 ",,"2188120010652099    ","202505051967158148   ",
"202505051967158148 ","2111110000022047 ",ALIPAY,," ","2188120010652099 ","20250424194010801300188390267527168  ","20250424194010900000188390289997008  ","amsdmrefund_lutong_lu_20250423_200020_618    ","amsdmorder_lutong_lu_20250423_195540_531 ",ALIPAY_HK,AlipayHK,REFUND,2025-04-24T11:00:21+08:00,2025-05-06T05:18:17+08:00,AGREEMENT_PAYMENT,-0.3,HKD,-0.04,USD,USD/HKD,7.79789019,0,USD,"amsdmpay_lutong_lu_20250423_195540_531   ",,"2188120010652099    ","202505051967158148   ",
"202505051967158148 ","2111110000022047 ",ALIPAY,," ","2188120010652099 ","20250424194010800100188030290274601  ",,"amsdmpay_lutong_lu_20250423_222658_767  ","amsdmorder_lutong_lu_20250423_222658_767 ",DANA,Dana,PAYMENT,2025-04-24T13:28:38+08:00,2025-05-06T05:18:17+08:00,CASHIER_PAYMENT,300,IDR,0.02,USD,USD/IDR,17083.87736,0,USD,,,"2188120010652099  ","202505051967158148   ",
<END>,,,,,,,,,,,,,,,,,,,,,,,,,,,,
```

[📎Settlement details report-Sample 1.csv](https://idocs-assets.marmot-cloud.com/storage/idocs87c36dc8dac653c1/yuque/idocs/2025/csv/437c84e6-3fde-46d6-aa31-86448254c1c3.csv)

In this example, the first transaction on April 25, 2025 was made in KRW and needs to be settled in USD, so the value of _quoteCurrencyPair_ is `USD/KRW`. The exchange rate was 1 USD = 1453.5922 KRW, so the value of _quotePrice_ value is `1453.5922`.

-   **Information about the payment:**

-   _transactionId_: The transaction ID is 202504251940108001001880602907xxxxx, which is the same as the value of _paymentId_ in the original payment.
-   _transactionAmountValue_: The transaction amount is `300` (KRW), which corresponds to 0.21 (USD).
-   _feeAmountValue_: The processing fee charged by the acquirer is `-0.01` (USD).
-   _settlementAmountValue_: The net settlement amount, which is the transaction amount minus fees. In this example, the value of this parameter is the value of _transactionAmountValue_ minus the value of _feeAmountValue_, which is `0.20` (USD).

In this example, the second transaction on April 23, 2025 was made in HKD and needs to be settled in USD, so the value of _quoteCurrencyPair_ is `USD/HKD`. The exchange rate was 1 USD = 7.7988 HKD, so the value of _quotePrice_ value is `7.7988`.

-   **Information about the refund:**

-   _transactionId_: The transaction ID is 202504231940108013001886002681xxxxx, which is the same as the value of _refundId_ in the original refund.
-   _transactionAmountValue_: The transaction amount is `-0.6` (HKD), which corresponds to \-0.08 (USD). That is, the refund amount is 0.08 (USD).
-   _settlementAmountValue_: The net settlement amount, which is the transaction amount minus fees. In this example, the handling fee charged for the original payment is not returned in the refund, so the net settlement amount is `-0.08` (USD).

## Sample 2 (No transaction)

```plaintext
settlementBatchId,customerId,acquirer,acquirerReferenceNo,referenceMerchantId,referenceStoreId,transactionId,originalTransactionId,transactionRequestId,referenceTransactionId,paymentMethodType,pspName,transactionType,paymentTime,settlementTime,productCode,transactionAmountValue,transactionCurrency,settlementAmountValue,settlementCurrency,quoteCurrencyPair,quotePrice,feeAmountValue,feeCurrency,originalTransactionRequestId,acquirerTransactionType,acquirerCustomerId,acquirerBatchId,cardBrand
<END>,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,
```

[📎Settlement details report-Sample 2.csv](https://idocs-assets.marmot-cloud.com/storage/idocs87c36dc8dac653c1/yuque/idocs/2025/csv/225cd678-707e-48e6-a949-2f1d7fb30a04.csv)

> **Note**: When there is no transaction, the SFTP server will not generate transaction details reports. If you need the empty report that has no transaction, you can contact APO technical support to configure it in the SFTP server.