When defining the order towards Klarna there are fields to use for tax handling. This article will present how to use these correctly and what validations there are.
To offer customers a clear view of total order amount, it is recommended to always include any tax amounts in the order details shared with Klarna. To ensure that all calculations are done correctly, tax validation is offered by Klarna.
Below you can find in-depth descriptions of how this validation is done, to ensure your own validation is aligned with Klarnaās.
Based on that customer expectations and tax legislation is different in Europe, Australia and US, our recommendation of how you should report taxes to our API is different for these markets. See section below for the market-by-market recommendation.
If you are using Klarna in any European market it is recommended that:
{
"order_amount": 62400,
"order_tax_amount": 12480,
"order_lines": [
{
"type": "physical",
"reference": "19-402",
"name": "Battery Power Pack",
"image_url": "https://www.exampleobjects.com/logo.png",
"product_url": "https://www.estore.com/products/f2a8d7e34"
If you are using Klarna in the United States it is recommended that:
Tax amount is transmitted as an additional order line.
US sample create session call with tax:
{
"purchase_country": "US",
"purchase_currency": "USD",
"locale": "en-US",
"order_amount": 21000,
"order_tax_amount": 1000,
"order_lines": [
{
"type": "physical",
"reference": "19-402",
If you are using Klarna in Australia it is recommended that:
AU example
{
"order_amount": 62400,
"order_tax_amount": 12480,
"order_lines": [
{
"type": "physical",
"reference": "19-402",
"name": "Battery Power Pack",
"image_url": "https://www.exampleobjects.com/logo.png",
"product_url": "https://www.estore.com/products/f2a8d7e34"
There are two ways to implement taxes in klarnaās products. The global way of having it as a part of every single item and summarize on order level. As well as the US standard of having it as a separate item.
The global way validates taxes at order and item level.
At order level, the calculated total amount including tax must be within error tolerance value ±Items Quantity.
sum(items total tax amount) - sum(items) <= total tax amount <= ( sum(items) total tax amount sum(items)) At item level the value of calculated tax rate must be within error tolerance ±1. All itemās validation must be valid to create an order:
(calculated tax rate - 1) <= tax rate <= (calculated tax rate + 1)
where:
calculated tax rate = 100 * total tax amount / (total amount - total tax amount)
Order with 2 items accepted:
{
"order_amount": 62400,
"order_tax_amount": 12480,
"order_lines": [
{
"quantity": 1,
"reference": "19-402",
"name": "Battery Power Pack",
"image_url": "https://www.exampleobjects.com/logo.png",
"product_url": "https://www.estore.com/products/f2a8d7e34"
Validation at order level
(11900 + 580) - 2 <= 12.480 <= (11900 + 580) + 2
12480 - 2 <= 12.480 <= 12480 + 2
ACCEPTED
Validation at item level
Calculated tax rate = (119 * 100) / (714 - 119)
Calculated tax rate = 20
2000 - 1 <= 2500 <= 2000 + 1
REJECTED
If the order is not valid the response will include the field or value incorrect.
The sales tax might change from the point the order is created to the time the order is shipped (ie order placed on 28th of the month, but doesnāt ship until the 3rd of the next month)