Ensure accurate payment reconciliation with Klarna’s settlement process, leveraging detailed reports, fee adjustments, and secure API or SFTP access for seamless financial management.
The Settlements API is the recommended approach for managing large volumes of settlement reports.
Subscribe to the Settlement Report Created webhook to be notified whenever a new report is available. The webhook contains direct links to both the JSON and the CSV reports.
amount reflects the base amount and tax_amount is listed separately. Both are deducted from the statement. For example, if a fee line shows a amount of -20 and a tax_amount of -4, the total deduction from the statement will be 24.tax_amount field to ensure VAT is calculated correctly.If CSV format is preferred, step 2 and 3 can be replaced with a call to the Get Settlement Report
More information on the requests involved in settlements, and the data contained within the detailed settlement file are available in the API Reference
Link copied!
Klarna-hosted SFTP is a alternative option for handling settlement reporting if Klarna's Settlements API and webhooks cannot be used. You may still subscribe to the Settlement Report Created webhook to receive notifications when Settlement reports become availalbe in the SFTP.
Using your Klarna API credentials (Account credentials), you may generate SFTP credentials. These credentials include a username and password, which must be stored securely by you.
Klarna's SFTP does not support alternative authentication strategies such as Oauth at this time.
The Klarna SFTP details are:
| Production | Test | |
|---|---|---|
| Address | merchants.sftp.klarna.com | sftp.playground.klarna.net |
| IP* |
|
|
| Protocol | SFTP | SFTP |
| Port | 4001 | 4001 |
*If your security infrastructure requires allowlisting, you must allowlist all listed IPs.
If you have multiple Klarna Network Acquiring Partner Accounts (i.e. you maintain multiple Acquiring entities), you can access all reports tied to the same Partner Account ID from one directory, regardless of the specific acquiring entity.
Every Settlement Report in the SFTP follows a specific file-naming convention:
<file_name_prefix><payment_reference_prefix><payment_reference><currency>_<timestamp>.<format>
| Element | Description |
|---|---|
| Optional. See “Settlement report file name prefix". |
| Optional. See “Payment reference prefix (payouts) |
| Klarna-generated payment reference. |
| ISO 4217 code (for example, SEK, EUR, USD). |
| UTC timestamp of report generation (start of day, for example 20251015Z) |
| Report export format (for example, csv). |
Examples:
With both prefixes: ACME_ABCD123456789_SEK_20251015Z.csv
ACME:file name prefixABCD: payment reference prefix (4 characters for SEK-only accounts)123456789: Klarna-generated payment referenceWith only a file name prefix: ACME_123456789_SEK_20251015Z.csv
With only a payment reference prefix:ABCD123456789_SEK_20251015Z.csv
ABCD: payment reference prefixWith no prefixes: 123456789_SEK_20251015Z.csv
^[A-Za-z0-9_-]{1,200}$All data contained within the SFTP file will mirror the .csv output of the following API request:
GET /settlements/{settlement_id}/csv
The example provided in the API documentation is the source of truth for structure, formatting, field names, and content of the Settlement Report delivered via SFTP.
In the exceedingly rare case that a settlement files fail to upload to the SFTP, Klarna requeues the file for manual intervention. These failures are handled within your contractual SLA with Klarna.
Link copied!
You may choose to receive immediate notifications when certain settlement events occur. The structure of the payload will vary based on the event type, however the metadata will always follow the structure documented in the Configure Klarna Webhook section.
All settlement webhooks contains these data points:
| Parameter | Definition |
|---|---|
| The unique identifier of a settlement. |
| Total amount of this settlement. |
| The currency of the transaction. |
| Unique account identifier assigned by Klarna to the Acquiring Account. |
| Reference for the Acquiring Account. |
When a settlement is done, the first webhook will probably be the settlement.payout.processed, shortly followed by settlement.report.created and settlement.report.uploaded-to-sftp. A day or so later, the payout status webhook will be sent.
More information on settlement webhooks are available in the API specifications.
| Use case | When | Additional payload | Event name |
| Settlement Report available on API | When the settlement data from Merchant Ledger has been imported and is available in any format in the API. |
|
|
| Settlement Report sent to SFTP | When the settlement reports have been uploaded to the SFTP |
|
In addition to the common data points shared by all settlement webhooks, the payout webhooks also contain:
| Parameter | Definition |
|---|---|
| The unique identifier of a payout. |
| The date when Klarna initiated the payout. It usually takes one banking day until the funds are credited to your bank account. |
| A reference to the bank account to which the payout is done. |
| The payment reference used for the payout, will be shown on the bank account statement. |
| Use case | When | Additional payload | Event name |
| Settlement payout processed | The payout has been processed by Klarna and will shortly be executed. |
| |
| Settlement payout confirmed | The payout confirmed by our banking partner. Note that in rare cases an intermediary or the recipient’s bank may still reject it. If that happens, it will be marked failed and we’ll send a failure webhook. |
| |
| Settlement payout failed | The payout failed. See status_reason for the specific cause. |
|
|
Link copied!
Both JSON and CSV report formats contain the same data and field names.
The CSV format (whether retrieved from Klarna SFTP or via API
The JSON format makes the summary and the itemized transactions available as separate API requests:
For documentation of the field names, description and examples, please look at the API specifications for Get settlement details
The transaction types are documented in the API in the Transactions definition