Skip to content
Rechnungskit

Connect Klarna

Updated

You connect Klarna directly with the API credentials from the Klarna merchant portal. The special thing about Klarna: it offers no webhooks, so Rechnungskit fetches new data automatically.

Klarna · fetch instead of webhook
From the Klarna payment to the DATEV export
Klarna
Klarna merchant portal
Settlement datapayments (captures), refunds, lost buyer disputes
Payoutswith fees per transaction and the Klarna commission
Rechnungskit
  1. Fetch every 4 hoursnew transactions as soon as Klarna provides them. Right away: "Sync now"
  2. Matchingthrough the order number your shop plugin stores at Klarna
  3. Daily reconciliationevery payout split up and checked against the payout amount
Result
E-invoiceonce the order is matched; for a refund, the cancellation invoice
Fee per paymentunder Payments in the fee column
DATEV payments batchits own Klarna clearing account
Klarna offers no webhooks, so there is no webhook URL for you to enter.

Setup

Checklist
Which credentials you need
Live credentialsusername and API key from the merchant portal, under Settings → Klarna API credentials
right
Playground credentialsconnect Klarna's empty test environment, where your real payments never appear
wrong
Webhook URLdoesn't exist at Klarna; Rechnungskit fetches the data itself
not needed
Rechnungskit detects live or playground automatically when you connect.
  1. In the Klarna merchant portal, open the Klarna API credentials under Settings and create new credentials. You get a username and an API key.
  2. Enter both under Connections → Connect at Klarna. Rechnungskit checks the credentials directly against the Klarna API. Important: use the credentials of your live account, even if you are only testing Rechnungskit. Rechnungskit only reads and never initiates payments. Playground credentials connect Klarna's empty test environment, where your real payments never show up.
  3. Rechnungskit detects automatically whether you entered live or Playground credentials (Playground is Klarna's test environment).

That is all. There is no webhook URL to enter, because Klarna does not support webhooks.

How the data comes in

Why Klarna payments arrive later
From purchase to invoice
  1. PurchaseVisible in the merchant portalright away, but not yet in the settlement data
  2. One to several daysKlarna processes for payoutdepending on your contract's payout schedule
  3. At most 4 hours laterNext fetchor right away through "Sync now"
  4. MatchedInvoice is createdwith the order number from your shop
This is normal Klarna behavior, in live accounts too, and not a fault.
  • Every 4 hours Rechnungskit fetches new Klarna transactions: payments (captures), refunds and lost buyer disputes. Important: Klarna only provides a payment in this settlement data once it has been processed for the payout; right after the purchase it is not visible there yet (see Limits).
  • Instant fetch: the button "Sync now" (under /payments or Connections → Connect) fetches transactions and payouts on demand, for example right after connecting or for testing.
  • Once a day the payouts are reconciled as well: each Klarna payout is split into its parts (payments, refunds, fees per transaction, Klarna commission) and checked against the payout amount.
  • Your payout schedule does not matter: with weekly or monthly Klarna payouts too, all included payments are imported in full, because every payout brings its own transactions.
  • The order is matched by the order number your shop plugin stores at Klarna.

What happens automatically

  • Each Klarna payment produces the matching invoice as soon as the order is matched.
  • Refunds create the cancellation invoice (Storno) automatically.
  • A buyer dispute lost at Klarna is treated like a returned direct debit: the item reopens and lands in the tasks for clarification, with no automatic cancellation invoice.
  • Klarna fees are shown per payment (fee column and detail view under /payments) and go into the DATEV export separately, on their own clearing account.
Special cases
What happens on Klarna events
Refund
Klarna reports a return for a matched payment
Resultcancellation invoice automatically
Buyer dispute lost
Klarna takes the amount back
Resultitem reopened, task, no cancellation
Partial captures
The order ships in several steps
Resultone payment per capture, differences as a task
Klarna via Mollie, Stripe or Unzer
The payments already come in through that provider
Resultthis connection is not needed

In the DATEV payments batch, a Klarna payment books by default as Klarna clearing account to customer account (SKR03 1365, SKR04 1465). Rechnungskit books the fees of a payout collectively as bank charges (SKR03 4970, SKR04 6855), and the payout as bank against clearing (SKR03 1200, SKR04 1800).

The export nets a Klarna fee correction against the fees of the same payout. If Klarna refunds fees, the fee booking goes down; if Klarna charges more, it goes up. Payouts that Rechnungskit fetched before 12 September 2026 are read from Klarna once more, because fees and returns were stored with the wrong sign back then. Payouts in locked DATEV batches or locked periods stay as they are.

Example · SKR04 · debit an credit · amounts made up
A Klarna payment in the DATEV export
Payment with payoutAccount an contra account
Invoice1200 an 4400 €119.00 · revenue batch
Payment1465 an 1200 €119.00 · clearing to customer
Fees6855 an 1465 €3.57 · total per payout
Payout1800 an 1465 €115.43 · bank to clearing
Afterwardscustomer €0.00, Klarna clearing €0.00
Buyer dispute lostAccount an contra account
Invoice1200 an 4400 €119.00 · revenue batch
Payment1465 an 1200 €119.00
Reversal1200 an 1465 €119.00 · receivable open again
Afterwardscustomer €119.00 open, invoice valid, no cancellation
In SKR03 the accounts are 1400 (customer), 8400 (revenue 19 %), 1365 (Klarna) and 4970 (fees), with the bank on 1200. "1465 an 1200" is the German booking notation: debit account an (to) credit account. All accounts are defaults; your tax advisor changes them in the DATEV settings.

Limits

  • Klarna provides payments with a delay, in live accounts too: a Klarna payment is visible in the Klarna merchant portal right away, but it only appears in Klarna's settlement data (the only data source Klarna offers to systems like Rechnungskit) once Klarna has processed it for the payout. Depending on the payout schedule in your Klarna contract, that can be one to several days after the purchase. This is normal Klarna behavior, not a fault. As soon as Klarna provides the data, Rechnungskit imports it with the next fetch, after 4 hours at the latest.
  • If you don't want to wait for the next fetch once the data is available, use "Sync now".
  • The Playground environment (test) has the same delay, sometimes longer; it does not always create test payouts.
  • If an order ships in several steps (partial captures), each capture becomes its own payment; differences from the order total land in a task for clarification.
  • If Klarna runs through Mollie, Stripe or Unzer for you, you don't need this connection: the payments already come in through that provider.

Where to find it in the app

Rechnungskit is not a tax advisory or law firm. This article explains general principles and does not replace advice from a tax advisor (Steuerberater, § 5 StBerG) or a lawyer (§ 3 RDG). Rechnungskit is built for businesses based in Germany and prepares documents, tax rates and bookings automatically. How your specific case is treated remains your decision, ideally together with your tax advisor or a lawyer.

de en