Articles on: nShift Checkout - WooCommerce
This article is also available in:

nShift Checkout - WooCommerce / MANUAL

nShift Checkout - WooCommerce

Latest version: 2.1.58 that was released on 2024-02-16

Tested with Wordpress 6.4.1

System requirements

PHP 7.3+
WooCommerce: 5.6.0+
Wordpress: 3.9.0+


Shipping selector widget for ordering or shopping cart at checkout
Create reserved shipments
Create booked shipments
Create shipping labels
Create tracking links
Include tracking links in order emails
Change shipping option after incoming order
Print multiple shipping labels as one document
Process deliveries on several orders simultaneously

Before we start

To be able to use this extension you will need a Unifaun Online Plus account. You will also need the and DeliveryCheckout an OrderConnect add-on.

Create your Unifaun DeliveryCheckout account

If you don’t have any Unifaun Online account today, you will be able to create one during the setup of this plugin or contact our support. Note: You don't need to pay any starting fee for the OrderConnect add-on if you create your account via the plugin or our support.

Questions and support regarding nShift

Questions or support regarding nShift services or settings at nShift account, please contact nShift directly. Use e-mail: [email protected] or phone: +46-31-725 35 50

Regarding this manual and instructions

This manual does not cover all possible angles of nShift DeliveryCheckout, just the extension. All configurations regarding carriers, options and add-ons is made inside your nShift account. If you have any questions about the extension, please feel free to contact us at [email protected]..


Follow instructions below to properly install the plugin according to your license.

Note: In order to be able to install the plugin legally you first need to contact Oktagon to receive a license. We also need the name of the domain (incl. dev, test, staging etc) for licensing purpose.

After you have purchased our plugin, you will receive an email with a download link. You also get license information that you need to use to download the extension. Download the extension and save it on your computer.
Login to your WooCommerce administration dashboard and click Extensions > Add New, select the downloaded file and click Install.
Activate the extension in the list of installed extensions


After you have installed this plugin you need to follow these steps.

For companies in Nordic countries
**Note:** The Unifaun onboarding is at the moment only available for companies in Nordic countries.

Log into the Wordpress admin dashboard as administrator and click the link "Please setup your shipping by using our installation guide." or by clicking WooCommerce > nShift Checkout Installation Guide in the menu.
Click "Get started" and follow the guide to setup plugin.

For companies outside the Nordic countries
Contact nShift Checkout Support and create an account and generate API credentials.
Insert your API credentials at WooCommerce > Settings, nShift Checkout (next to Shipping Classes)
Start the installation guide, see above

We also have a tutorial "How to use nShift Checkout" with english subtitle.

Manual setup (for advanced users)

Log into the WooCommerce dashboard as administrator and click WooCommerce/Settings.
From the Shipping zones page, make sure you on2.1.57ly have one default shipping zone, it must be the equivalent to “Locations not covered by your other zones”. Click “Manage shipping methods” on this zone
Create a new shipping method of the type “nShift Checkout”
Save changes if you made any
Change setting under WooCommerce > Settings > Shipping > Shipping Options, set Shipping destination = Default to customer shipping address, then click Save changes
Now click “nShift Checkout” in the the menu below the tabs (next to Shipping Classes)
Make sure “Enabled” is checked
Leave Debug unchecked. It should only be checked if you are trying to solve problems with your deliveries.
Enter API Key Id: Your nShift REST API Key Id from nShift interface.
Enter API Secret: The nShift REST API Key Secret.
Enter User Id: Your username to nShift interface.
Enter Quick Id: Your id to your consignor in nShift interface.
Login in on and click Maintenance > DeliveryCheckout then click search-button to see a list of your Delivery checkout ID:s or click New freight checkout-button to create a new one.
Go back to the WooCommerce dashboard and pair your last id. Delivery Checkout Id = (generated by and then continue to configure the plugin.
Check "Create Stored Shipments" if you want to store shipments at UnifaunOnline, with the possibility of changing them there before they are finalized.
Automation Enabled, check this if you want to automatically process shipping for your orders.
Automation Order Status, if you want to use Automation (step 10) you need to set which order status that will start the automation. “Processing” is standard.
Default Package Type, choose your package type. Unspecified package (PK) is standard.
Custom Package Type, leave blank or add your custom package type.
Scroll down to “Options Sender Reference Prefix” and change the prefix if you want to. The Shipping label will show order number as standard but with the prefix “msudco_”. You can change the prefix if needed. If you leave it blank it will show the standard prefix Edit the Sender reference prefix here.
Options Parcel Contents, here you can choose if the shipping label will show the name of category, product name or leave the content field empty. Category is standard.
Product categories show category of the product, ex Shirts
Product names shows name of content, ex Blue Cotton Shirt XL
Empty leaves Contents field blank on shipping label
Below the heading “Customs” there are a couple of settings.
HS Code Attribute: If you store HS Code as a product attribute, use this setting
HS Code Field: If you store product HS Code as a custom field, use this setting
… same for the other fields
If you don’t select any option for Value it will use product price as value.

In order to use automatic customs declaration you will also need to use the nShift Checkout Configurator. Save settings and continue by clicking WooCommerce > nShift Checkout > Configurator

At this page enter a name for your configuration like “Customs to Norway” and click ‘Add’-button. Now it should appear in the list below, click on it’s title.

Select which service and receiver country that should get automatic customs declarations and then select which documents to create. After that click Save. When you get a matching order it should get automatic customs declarations now.

For return shipments you need to visit the WooCommerce > nShift Checkout > Configurator

At this page enter a name for your configuration like “Return within Sweden” and click ‘Add’-button. Now it should appear in the list below, click on it’s title.

Select which service and receiver country that should have return shipments enabled and select what return shipment service to use. If you want to automatically create return shipments when processing a order check the checkbox for that. After that click Save. When you get a matching order it should get return shipments features available.

Scroll down to the bottom and click “Save”-button.
If you now visit WooCommerce > nShift Checkout Testing you can see if the integration is working.


In the WooCommerce dashboard, click WooCommerce / Settings / Shipping (tab) / nShift Checkout (menu below tabs). Scroll down to “Automation Enable”.

Then choose:

Status = Enable
Order Status = Processing (is standard)
Package Type = Unspecified Package (is standard)
Click the Save at the bottom.

Now your incoming orders will be shipped automatically when their order-status matches the settings you have chosen above.

Orders and printing

When using Automation.
If you turned on Automation you can see all orders in the WooCommerce dashboard by clicking WooCommerce/Orders in the main menu. The Automation has already created the package, tracking number and booking of carrier by auto. All you need to do is mark all orders and choose “Print Shipping Labels” from the Actions dropdown above the list of orders. This will create a pdf with all shipping labels for the chosen orders.

When using regular WooCommerce order processing
You can see all orders in the WooCommerce dashboard by click WooCommerce/Orders in the main menu.
Click on the order/orders you want to edit.
If you just checked one order click “Process”-button on the right side. If you checked many different orders go to the “Bulk action”-dropdown and choose “Process shipping”.
Print your labels by click “Label” in the nShift Checkout column or go to the “Bulk action”-dropdown and choose “Download shipping labels”.

Changing shipping-option on order
If you need, for some reason, change the shipping-option on an order you can do that by clicking "Change shipping-option" button in the "nShift Checkout" box to the right when visiting an order in Wordpress admin. After you have selected a new shipping-option just click "Save new shipping-option" to save it.


2.1.58 [2024-02-16] Fix for crash when WooCommerce is inactive

2.1.57 [2024-02-06] Various bug fixes

2.1.56 [2023-12-01] Fixed reading of plugin HPOS setting

2.1.55 [2023-11-30] Using Wordpress transients for cache storage

2.1.54 [2023-11-30] Support for HPOS, made tracking-links hard to guess

2.1.53 [2023-09-06] Improved admin css

2.1.52 [2023-02-09] Work on preventing duplicate prepared shipments

2.1.51 [2023-02-06] Bulk printing now works in PHP 8.1

2.1.50 [2023-01-20] Fixed widget placement in Svea Checkout 2.0, Improved onboarding styling

2.1.49 [2023-01-13] Added quantity parameter to checkout arguments

2.1.48 [2022-11-09] Improved titles on pick up agents

2.1.47 [2022-10-05] Improved shipping cache handling

2.1.46 [2022-09-19] Added optional support for fallback shipping method

2.1.45 [2022-05-23] Fix for error when saving settings first time

2.1.44 [2022-03-28]
Fix for rare race condition issue with Klarna Checkout

2.1.43 [2022-02-24]
Improved Oktagon design of widget when using hierarchical checkout
Added option to display nShift logo in checkout
Optimization of checkout CSS

2.1.42 [2022-01-24]
Improved the Oktagon Design of the widget, now with map support

2.1.41 [2022-01-21]
Fixed bug with wrong arguments for shipping options when changing shipping option on existing order
Fixed bug with order line with shipping method name when updating custom parcels

Sending shipping classes as arguments in checkout as shipping_class_SLUG

Improved update procedure

General improvements

Improved support for Instabox
Improved support for WPML

When changing shipping option in checkout the finish order button in default checkout is locked until loading has finished

Added optional feature to show tracking-links on my account order pages

Renamed plugin to Oktagon nShift Checkout
Fixed bug with widget language setting after running setup wizard
Added optional collection of anonymous statistics

Added option to format prices in widget via WooCommerce
Added option to treat API prices as including VAT

Usergroups argument is now the groups of the current user instead of all users on the system

Improved support of localized product to package associations

Shipping method is now only available when there is at least one available shipping option
Improvements in widget state session validation

Fixed support for hierarchical checkouts and method title change

Timestamp and dates are now using Wordpress timezone

Improved cache invalidation when changing DeliveryCheckout
Added feature to change shipping-option on order

Added support for Transsmart customers

Added advanced option to move widget in checkout

Changing option in widget changes shipping method name

Added goodsDescription to return-shipments

Added goodsDescription to all shipments

Added possibility for third-party scripts to listen to widget

Improvements to installation guide

Added installation guide
Added support for map
Added support for different designs of widget

Added setting to change shipping and billing address when using custom pick up

Added support for Svea Checkout

Localization support bug fixed

Added support for return-shipments
Major refactor of code

Added a optional print button on orders-list that works in Google Chrome browser

Added contact field to all shipments

Fixed customs grossWeight calculation and customs total weight calculation

Added support for new Wordpress Jquery version in Onboarding

Added support for Norwegian tracking links

Added declarantDate and invoiceNo to all customs declarations

Added a configurator tool to enable optional automatic customs declarations

Added option to-email field for custom pick up

Added Unifaun Onboarding to plug-in

Fixed bug with no pre-selected option in checkout if all options are hierarchical
Fixed bug with forced api language not being respected

Added support for hierarchical options
Stability improvements

Added Unifaun status request after checkout

Added support for extra JSON shipment data

Added option for including tracking links in e-mails

Added support for orders with multiple packages

Improved support for third-party customizations

Agent info, carrier-id and service-id is now stored on order if available

Selects first widget option if no option is selected

Fixed bug with tax setting

Improved Swedish translations in cart
Added shipping cost total to checkout template

Added Swedish translations for checkout

Fixed bug where custom region selector did not show when not having title enabled

Added support for custom region selector again

When only using options from DeliveryCheckout, first is pre-selected

Breaking changes, makes sure to upgrade in test-environment first!
Added support for official widget
Resolved various session bugs

Added translation support for enter your zip-code

Fixed potential issue with minimum weight below 1

Improved debugging features
Added button to remove order selected agent

Fixed bug with parcel contents not being included

Automatically flattens hierarchical shipping options from API

Agents and add-ons are not displayed before custom has entered a checkout address

Added option for pickup booking

Added force language option

Added automatic weight and unit conversions

Fixed some bugs with Klarna Checkout

Added support for automatic updates

Only sends quickId for agent for PLAB services

Added option to disable API cache

Pick-up agents are displayed with address1 and city as well

Changed so first agent is pre-selected

Fixed bug where custom region was lost when changing country

Improved inter-country custom pick up

Only shows city in custom region selector when outside Sweden

Improved Klarna v3 country support

Added optional city selector in Klarna Checkout v3
Added ajax spinner when loading custom shipping options
Added more filters to customize custom pickup flags

Fixed issue were methods was lost when clicking Get Options

Added optional country selector to Klarna Checkout v3
Added options for customizing pick to Klarna Checkout v3

Fixed localization support

Fixed bug in country code conversion from Klarn
Added filter to enable customizing of placeholder: "mediastrategi_unifaundeliverycheckout_zip_placeholder"

Added support for localizations

Added support for third-party argument customization with mediastrategi_unifaundeliverycheckout_shipment_arguments filter
Added support for Klarna Checkout v3 country codes

Added support for shipment states

Added support for free shipping coupons

Added support for third-party logic for available() and shipment data with "mediastrategi_unifaundeliverycheckout_api_shipment" and "mediastrategi_unifaundeliverycheckout_shipment_available".
Added support for address2 field

Fixed tax presentation in cart

Fixed bug with tax calculation on shipping fee

Improved appearance of settings
Added a request and response debugger
Added support for WPML language codes

Fixed issue were changing order items and pressing return would process order
Made sender reference prefix optional

Added support for stored shipments
Improved order debug meta data

Improved support for WooCommerce below 3.4
Improved support for multi-site
Better API error-handling

Added information for fire-walls
Added support for PHP 5.6

Added support for sending shipments via Web-TA

Hid shipping options in Cart
Always shows pick-up locations and add-ons if available
Improved support for older WooCommerce

First release, works with Klarna Checkout and regular checkout, supports custom pick location and add-ons.

Updated on: 16/02/2024

Was this article helpful?

Share your feedback


Thank you!