FrancodesystemsFran<code>systems
PaymentsCustom integration

Holded Klarna integration

Klarna payments (pay-later, pay-in-3, financing) reflected correctly in Holded.

HoldedHolded
KlarnaKlarna

Implementation time · 5-10 días laborables

Diagnosis

The problem

Klarna is growing fast in Spain and many stores enable it without understanding the accounting flow. The typical result: they invoice in their system as if the customer had paid in instalments, but Klarna pays them the full amount. Reconciliation goes out of balance and the VAT filings come out wrong, a real fiscal risk.

Proposal

The solution

Klarna is the king of European Buy Now Pay Later. Its model (the customer receives the goods now and pays later or in instalments) has fiscal nuances: you invoice the full amount TODAY (Klarna pays you), but the customer pays Klarna in instalments. The Holded integration reflects this correctly: a full invoice to the end customer, with an accounting entry that uses an intermediary Klarna account.

Scope

What we automate

  • Authorized Klarna payment to a Holded invoice with the end customer plus an entry using the Klarna account
  • Confirmed Klarna payment capture to a payment recorded in the intermediary account
  • Weekly Klarna payouts to bank reconciliation against the received SEPA invoice
  • Klarna refund (partial or full) to a Holded credit note plus a reversal entry
  • Unpaid return by the end customer does not affect your account (Klarna takes on the risk)
  • Monthly reconciliation with the detailed Klarna settlement per order
Architecture

How we build it

Klarna webhooks (order.authorized, order.captured, order.refunded). Klarna API v3 for the details. Holded API v2 to create invoices with the correct chart of accounts (intermediary account 555X for Klarna pending settlement). The weekly Klarna payout entry closes the intermediary account.

flow.ts
webhook klarna.event
queue.enqueue(jobId)
worker.handle() // idempotent
holded.api.call() // retries with backoff
log.emit({ status: 'ok' })
FAQ

Frequently asked questions

So you invoice NOW even though the customer pays Klarna in instalments?

Yes, fiscally it is the delivery of the good or service that triggers the VAT. The customer is paying Klarna (not you) for financing that Klarna granted them. You invoice your customer as normal and Klarna pays you the full amount minus its fee. We model this with an intermediary account.

What about Klarna's fee?

It is recorded as a financial or commercial expense in Holded when it is settled. Typical account: 6691 or 626 depending on its nature. We configure it in discovery based on your chart of accounts.

Does it work with Klarna B2B?

Klarna B2B (Klarna for Business) has a different flow. We support it, but the setup differs: a B2B invoice with 30/60/90 day terms and Klarna as the collection gateway.

What about chargebacks or defaults by the end customer?

That is Klarna's problem (they take on the credit risk). Your invoice stays paid because Klarna already paid you. There is no fiscal reversal for an end customer default.

Shall we talk about your Klarna integration?

A 30-minute call, no strings. You leave with scope and a price.