Skip to main content
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:

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.
TransactionType holds the payment product type in CSV, not the record type. In CSV, TransactionType holds the payment product type, 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.

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.
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 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 to set it up.

API

The settlement API is documented here.
Last modified on October 15, 2026