Articles on: nShift TMS - Magento 2
This article is also available in:

nShift TMS - Magento 2 / MANUAL

nShift TMS - Magento 2 - Manual

Latest version: 1.1.27 that was released on 2023-03-28

System requirements

Magento 2.3.6+, 2.4+


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
Single or Bulk-print shipping labels
Process deliveries on several orders simultaneously

Before we start

nShift TMS Base, Professional or Enterprise

Note: To be able to use this extension you will need a nShift TMS Account (Base, Professional or Enterprise). You will also need the TMS Magento 2-“Add-on” which you order from nShift. Just login to the nShift TMS website and choose “My Add-ons”, then choose “Integration” and find “Magento 2”, click order. You will then receive an e-mail with instructions on how to download and install the extension.

Questions and support regarding nShift TMS

Questions or support regarding nShift account or nShift TMS settings, please contact nShift support directly. Use e-mail: [email protected] or phone: +46-8-729 88 50.

Regarding this manual and instructions

This manual does not cover all possible angles of the extension, just the basics. Since many options and add-ons is depending of your choice of carrier you may have to contact us for further instructions. If you have any questions about the extensions, please feel free to contact us at [email protected].

Notes about Magento 2.4.0

Magento introduced an issue that prevents any shipping labels to be created (un-related to module), so you need to follow instructions here to patcha away the issue.


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

In order to be able to install the module you first need to contact Oktagon to receive a username and password. We also need the name of the domain (incl. dev, test, staging etc) the module is going to be installed.

Add composer repository

composer config repo.mediastrategi composer https://username:[email protected]/
composer require "mediastrategi/unifaunwebta":"1.1.*"

Install & Setup

Run the following commands to install and setup the module. Test on a staging server first. Enter username and password when prompted. (Replace en_US and sv_SE or the other languages with the ones you use.)

bin/magento maintenance:enable
bin/magento module:enable Mediastrategi_UnifaunWebTA
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:enable msunifaunwebta_cache_api
bin/magento setup:static-content:deploy en_US sv_SE
bin/magento maintenance:disable

Restart varnish (optional)

service varnish restart

We also have a tutorial "How to use nShift TMS for Magento2" with english subtitle.


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

Login to the Magento 2 dashboard

In the dashboard main menu, click Sales and choose nShift TMS > Configuration
Click “API” tab in the middle.
Write your Username, Domain and Password that you received from nShift.
Click Consignor Address tab below. Fill out the symbol for dot in the ID field and also complete address.
If you want to use logic associated with product dimensions you need to first create product attributes for width, depth and height and select the attributes in module settings.
Click Consignor Contact. Fill out Contact information.
Click save up in the right corner.
You should now see in green text that Site configuration is OK, else there will be a error message.

Creating Shipping Methods

In the dashboard main menu, click Sales and choose nShift TMS > Shipping Methods
Click “Add new shipping method”-button up in the right corner.
Name your Shipping Method in the “Title field”. Ex. DHL, PostNord or Schenker
Choose your store view (you can have different methods depending on store view). “Default Store View” is standard.
In the template field select the name of your carrier Template, ex. DHL SERVICEPOINT
Active, Yes or No. Yes means it will be seen in the checkout. And No means not seen.
Enable Automation (Yes or No). This is a new feature. Automation means that an order will be processed by auto. Shipping tracking no etc will be generated and there is no need for you to go into the order to package your products (as you normally need in Magento 2). Choose yes to turn on Automation and No to handle orders as usually.
If you choose to use Automation you also need to choose a “Package type”. This information should be provided by your choose carrier. Ex. DHL, PostNord or Schenker.
Order status, if Automation is turned on you will need to choose which order status an order must have to be processed by auto. Pending is standard.
Add-ons. Depending on your chosen carrier you can activate add-ons. See list from carrier.
Specification is where you set specifications for each Shipping Method.

For example: If you have different prices depending on country, zip code, weight etc.

If you use the same method to ship to different countries it can be set like this:

Title = Description of transport ex. “Delivery 1-3 days”

Country = Country code like SE. Can be separated by comma SE,DK,FI or * = All

ZIP = Single ZIP-code like 100 12, 10012-17569 (for range of ZIP-codes), or * = All

Weight = Set weight limits ex. 0-5, 5-10, 10-20 or * = All

Width = Set width limits ex. 0-20, 20-80, 80-150 or * = All

Height = Set height limits ex. 0-20, 20-80, 80-150 or * = All

Volume = Use *

* If there a two values entered like this A-B, the module will match row cart attribute is equal or greater to A but still below B.

* If there are only a single value entered like this: A, the module will match row if cart attribute is equal to A.

* If there are only a single value entered like this: A-, the module will match row if cart attribute is equal or greater to A.

* If there are only a single value entered like this: -A, the module will match row if cart attribute is below A.

Cart Subtotal = Set cart subtotal limits ex. 0-500, 500-1000, 1000-2000 or 2000-

Price = Price you want to charge the customer for transport

The shipping-method will get the the price of the matching row of Specification that has the lowest price, if no rows match the shipping-method will not be available.

Note: Do not use comma as a decimal symbol, instead use a dot in these fields

Note: Only Country can be separated by comma. All the other columns can only have one value or one range.

Click Save-button up in the right corner to save settings.
Click “Add New Shipping Method” to create new different shipping methods andfollow the steps above.

Orders and printing

When using Automation

If you turned on Automation you can see all orders in the Magento dashboard by click Sales > 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.

Note: Because you use Automation the orders may take some minutes to be seen in the order list, due to CRON.

When using regular Magento 2 order-processing

You can see all orders in the Magento dashboard by click Sales > Orders in the main menu.
Click on the order you want to edit.
Click “Ship”-button in the top menu.

Scroll down to “Shipping Options” at the bottom and click on the “checkbox” called “Create Shipping Label”, then click on the “Submit Shipment"-button.

Click “Add products to package”-button

Mark the products that you want to add to the package, then click “Add selected products to package”-button.

If you want to split an order into several packages, you can click “Add package”.
Fill out type, weight, length, width, height if you want to (only weight field is really needed). If you already added weight on the product page, it should be filled by auto.
Click “Save”-button up in the right corner.

Note: You now have two choices to print the shipping label.

Click “Shipments”-button in the left menu.
Click on the order and scroll down to section called “Shipping and Tracking Information” and click the “Print shipping label”-button.


Go to Sales > Orders in the main dashboard menu. Mark the order and choose “Print Shipping Labels” from the Actions dropdown above the list of orders to print the shipping label for this order.


How to track a shipment

To track a shipment, just click Sales > Shipments in the main dashboard menu.
Click on the order you want to track
Scroll down to the section called “Shipping and Tracking Information” and click on the link called “Track this shipment”.


[1.1.27] [2023-03-28] Support for PHP 8 and Magento 2.4.6
[1.1.26] [2022-03-01] Fixed weight unit and weight calculation in automation, fixed issue with automation setting on shipping methods
[1.1.25] [2022-01-19] Fixed bug with return shipping labels not being displayed in admin
[1.1.24] Fixed bug with product stock quantity changing when creating return shipments
[1.1.23] More improvements for easier customizations
[1.1.22] Improvements to make it easier to create customizations
[1.1.21] Fixed error in checkout dimension-logic, added option to select product attributes to be used for dimensions
[1.1.20] Added fix for a rare type issue happening on some installations
[1.1.19] Added support for third-party modules to manipulate shipment data
[1.1.18] Magento 2.4 fix
[1.1.17] Added goodsType to all requests
[1.1.16] Fixed weight, height, depth and zip-code logic
[1.1.15] Added consignee contactPerson on all shipments
[1.1.14] Added dynamic values for Extra field
[1.1.13] Added sensitive and environment configurations
[1.1.11] Improved support for Magento 2.1
[1.1.10] Added support for services that return multiple labels
[1.1.9] Fixed bug with mass order shipments
[1.1.8] Added phone field to all requests
[1.1.7] Improved error-handling when tracking without valid credentials
[1.1.6] Fixed potential bug when editing shipping methods
[1.1.5] 2.2.6 compatibility
[1.1.4] Added support for single package per shipment per method
[1.1.3] Added option to use order number as reference
[1.1.2] Added admin order columns for label and tracking
[1.1.1] Added support for printing multiple labels via API
[1.1.0] Added support for return shipments
[1.0.9] Added support for custom package types
[1.0.8] Added dimension and weight conversion, supports custom packages, stored shipments
[1.0.7] Using WebService connection-type select template in list
[1.0.6] Fixed measurement-units when creating packages manually on new shipment, fixed bug with configuration on installations that use a number for region setting
[1.0.5] Fixed measurement-units when creating packages manually for existing shipments
[1.0.4] Fixed dependency-injection notices and coding style
[1.0.3] Removed demo and test files from library
[1.0.2] Added checkout shipping validation
[1.0.1] Added library to repository

Updated on: 28/03/2023

Was this article helpful?

Share your feedback


Thank you!