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

# Dintero settlement report formats

> Receive Dintero settlement reports for all payment providers in PDF, XML, CSV, and JSON formats, delivered by email or available in Backoffice.

Dintero produces settlement reports in a common format for all payment providers, send it to your email and put it up in
the Backoffice.

We provide PDF-, XML-, CSV-, and JSON-versions of the reports.

**Examples:**

| Filetype | Example |
| - | - |
| PDF | [PDF](/assets/payout-report-examples/example_settlement.pdf) |
| XML | [XML](/assets/payout-report-examples/example_settlement.xml) - [XSD](/assets/payout-report-examples/dintero-settlement-1.0.xsd) |
| CSV | [CSV](/assets/payout-report-examples/example_settlement.csv) |
| JSON | [JSON](/assets/payout-report-examples/example_settlement.json) |

## CSV columns

The CSV report has one row per settled transaction event. Settlement-level values, such as `AccountId` and `SettlementDate`, repeat on every row.

* Fields are separated by `;`.
* Text values are quoted with `"`. Numbers are not quoted.
* The file is UTF-8 with a byte order mark (BOM).
* Dates use the `YYYY-MM-DD` format.
* Amounts are in the main currency unit (for example, `50` for 50 NOK), with `,` as the decimal separator. The currency is not included in the CSV.
* A settlement with no transactions produces an empty file with no header row.

> [!WARNING]
>
> **`TransactionType` holds the payment product type in CSV, not the record type.** In CSV, `TransactionType` holds the [payment product type](/docs/glossary.md), for example `bambora.creditcard`. In XML, `<TransactionType>` holds the record type, for example `settlement`, and the payment product type is in `<ProductType>`. If you move an integration between CSV and XML, map these columns explicitly.
>
> **`Amount` is the gross amount in CSV.** In CSV, `Amount` is the amount before fees and `NetAmount` is the amount after fees. In XML, `<TransactionAmount>` is the amount after fees, and so is `amount` in JSON.

### Always-present columns

For CSV reports with at least one transaction, these columns appear in this order.

| Column | Description |
| - | - |
| `AccountId` | The Dintero account ID, for example `P12345678`. |
| `MerchantName` | The business name from the account's billing settings. |
| `SettlementReference` | The provider's reference for the settlement. |
| `SettlementDate` | The date the settlement was paid out. |
| `AmountCaptured` | The captured amount. |
| `AmountRefunded` | The refunded amount, as a negative number. |
| `ChargebackAmount` | The chargeback amount. Empty when there is no chargeback. |
| `Amount` | The gross amount, before fees. |
| `Fee` | The fee. `-` when there is no fee. |
| `NetAmount` | The net amount, after fees. |
| `VatAmount` | The VAT amount. Empty when there is no VAT. |
| `TransactionDate` | The date of the transaction event. |
| `TransactionID` | The Dintero transaction ID. Empty when not available. |
| `SessionId` | The Dintero session ID. Empty when not available. |
| `TransactionType` | The [payment product type](/docs/glossary.md), for example `bambora.creditcard`. See the warning above. |
| `Reference` | The `merchant_reference` of the transaction. |
| `Reference2` | The `merchant_reference_2` of the transaction. Empty when not set. |
| `EventReference` | The `event_reference` of the transaction event, or the `capture_reference` or `refund_reference` when set. Empty when not set. |
| `CardBrand` | The card brand, for example `Visa`. Empty when not available. |
| `CardRegion` | The card region, for example `eea`. Empty when not available. |
| `CardType` | The card type. Empty when not available. |
| `Channel` | The payment channel, for example `ecommerce`. Empty when not available. |

### Conditional columns

These columns appear only when at least one transaction in the settlement has a value for them. When a column appears, rows without a value have an empty cell. When they appear, they come after the always-present columns, in this order.

| Column | Appears when | Description |
| - | - | - |
| `StoreId` | Any transaction in the settlement has a store ID. | The store ID of the transaction. |
| `PayoutDestinationId` | Any transaction in the settlement has a payout destination. | The [payout destination](/docs/checkout/split-payment/add-payout-destinations.md) of the transaction. |
| `TerminalId` | Any transaction in the settlement has a terminal ID. | The ID of the payment terminal used for an [in-person payment](/docs/checkout/in-person/overview.md). |
| `StorePayoutDestinationId` | Any transaction in the settlement has a store payout destination. | The payout destination of the store. |
| `EventCorrelationId` | Any transaction in the settlement has an event correlation ID. | The ID for matching the row to a transaction event. |

> [!TIP]
>
> Read columns by header name, not by position. Conditional columns change the position of the columns that follow them, and they can differ between two reports for the same account.

## Identify transaction rows

Each row in a report is one settled transaction event, not one transaction. In CSV this is a row, in XML a `<TransactionInfo>` element, and in JSON an entry in `transactions`.

A single Dintero transaction can have several settled events. For example, two partial captures and a refund on the same payment produce three rows. All three rows have the same transaction ID (`TransactionID` in CSV and XML, `transaction_id` in JSON). The transaction ID is therefore not a unique key for a row.

The event correlation ID is optional: XML omits the element and JSON omits the property when an event has none; CSV includes the `EventCorrelationId` column when any row has a value and leaves cells empty otherwise. The [JSON example](/assets/payout-report-examples/example_settlement.json) shows several rows with the same `transaction_id` and different `event_correlation_id` values.

## Webhooks

We provide the webhook `settlement_add` when a report has been created. See [Webhooks](/docs/checkout/webhooks.md) to set it up.

## API

The settlement API is documented [here](/api-reference/settlements/aid_settlements_list.md).


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