Klarna Shipping Assistant for WooCommerce
Klarna Shipping Assistant for WooCommerce is not compatible with Klarna External Payment Methods or Subscription based payments.
Introduction
- The plugin can be downloaded here.
Requirements
- Your Klarna account needs to be activated for Klarna Shipping Assistant with TMS before using this plugin.
- Requires WooCommerce together with Klarna Checkout for WooCommerce to be used.
- Klarna Shipping Assistant is used for handling the shipping methods in your store. However, it is still required to have at least one native WooCommerce shipping method active for each shipping zone you enabled KSA.
- HTTPS is not required on your site, but strongly recommended.
Installation
To install this plugin you first need to have Klarna Checkout for WooCommerce installed. You install this plugin just like any other WordPress plugin:
- Download and unzip the latest release zip file.
- If you use the WordPress plugin uploader to install this plugin skip to step 4.
- Upload the entire plugin directory to your /wp-content/plugins/ directory.
- Activate the plugin through the ‘Plugins’ menu in WordPress Administration.
Configuration
- Navigate to WooCommerce > Settings > Payments and select Klarna Checkout.
- Make sure that the checkbox Shipping methods in iframe is ticked in the Shipping settings section.
- Save the payment gateway settings.
- Navigate to WooCommerce > Settings > Shipping.
- For every shipping zone you have created you need to add Klarna Shipping Assistant as a new shipping method.
-
Make sure that the Klarna Shipping Assistant shipping method is the first shipping method in the list of available shipping methods for the zone that you are configuring.
If everything is working fine you should be able to see the shipping methods provided by your TMS in the KCO iframe now:
Each TMS system has its own configuration process to connect to Klarna.
Shipping data in WooCommerce order
When an order has been created in WooCommerce, the name and price of the selected shipping method in the KCO iframe is added to the order.
The entire shipment data sent from Klarna for the order is also stored in the WooCommerce order, as an order meta field with the name _kco_kss_data
. This data is stored as a json object with the following structure:
{ "id": "id-1000", "name": "Pickup Box", "price": 500, "tax_amount": 0, "tax_rate": 0, "preselected": false, "shipping_method": "BoxUnreg", "delivery_details": { "carrier": "instabox", "class": "economy", "product": { "name": "MyPack", "identifier": "10" }, "pickup_location": { "id": "loc-2", "name": "Coop Loet", "address": { "street_address": "Storgatan 59", "postal_code": "97232", "city": "Luleu00e5", "country": "se" } } }, "tms_reference": "100" }
Tax settings
Since Klarna takes over the shipping cost fully with Klarna Shipping Assistant it is important that the tax settings in WooCommerce that apply to shipping matches what you have in the TMS system.
For example, if you have 25% tax applied to shipping costs in the TMS system, this tax needs to exist in WooCommerce. It is also recommended to set the tax calculations for shipping to only use this tax class to prevent any issues when using multiple different taxrates in WooCommerce.
First you need to create the tax that you want to use for the shipping method.
After this you will want to set this tax class as the only one that can be applied to shipping.
If you have "Shipping tax class based on cart items", it could cause a mismatch between the Klarna order and the WooCommerce order due to different taxes being applied to the shipping price in Klarna then to WooCommerce.
Subscription support
Subscriptions are not supported.
Tracking ID & Tracking URL reporting to Klarna
The Tracking information is sent to Klarna when the order is set as "Completed" in WooCommerce through the Klarna Order Management plugin. In order to send the Tracking data in this sequence to Klarna you will need to save the Tracking ID and the Tracking URL of the shipment to the order as a post meta before the order is set as "Completed" in WooCommerce. The post meta key we are expecting is
_kss_tracking_id
and
_kss_tracking_url
.
No booking of shipments
This plugin enables the possibility to display the shipping options provided by your TMS in the Klarna Checkout iframe. However, the actual booking of the shipment in your transport administration system is not handled in this plugin. There are a lot of TMS services available and every system has their own API. That's why we don't to connect to a specific TMS in this plugin.