We have developed a free NAV add-on for Microsoft Dynamics NAV that makes it possible to create shipments and shipping labels directly from the financial system.
In this guide, we will walk you through how the integration module is implemented in Microsoft Dynamics NAV and how the solution can be adapted to fit the company’s workflows.
Note! This is a technical guide intended for Microsoft Dynamics NAV partners and developers.
If you use Microsoft Dynamics NAV and want to manage shipments directly from your financial system, you should contact your Microsoft Dynamics NAV partner, who can help with the implementation and setup.
Guide to implementation and setup
The Shipmondo integration module communicates with our RESTful API and is built in a modular way. This makes it possible to expand and adapt the solution to match the workflows of the individual business.
Below, we go through the basic setup of the module and show a simple example of how a print button can be implemented under sales orders in Dynamics NAV.
The setup takes approximately 30 minutes. After that, you will be ready to create your first shipment and print a shipping label directly from Dynamics NAV.
1. Import the NAV object package into Dynamics NAV
Contact our Customer Success team and let us know which version of Microsoft Dynamics NAV you or your customer is using. We will then send you the correct NAV object package and the related files.
Install the included Newtonsoft Json.NET library by following this guide. This is the Newtonsoft.Json.dll file included in the zip file you received from us. Read the guide for installing Newtonsoft Json.NET for Dynamics NAV here.
Then import the NAV object package into the Dynamics NAV development environment. The objects are located in the number series 90001..90008.
Finish by compiling the objects.
2. Set up Shipmondo’s API key
Open Pakkelabels Profile List (NAV page 90005).
Create a new profile.
Enter the API user and API key from your Shipmondo account. See how to find your API details here.
Under the Sender tab, enter the sender details that should appear on your shipments and shipping labels.
💡Expert tip: If you have multiple businesses or multiple webshops with different names, you can create multiple Pakkelabels-profiles with different senders.
3. Link the shipping product to the shipping agent code and delivery code in NAV
You must now link your shipping agent and delivery codes in Dynamics NAV to the relevant shipping products in Shipmondo. These are standard fields in NAV that can, among other things, be selected on the customer card and under sales orders.
This setup ensures that the correct shipping product is ordered when you create a shipment from, for example, a sales order in Dynamics NAV.
Below, we describe the setup for one delivery method. If you use multiple shipping agents or delivery methods, the setup must be repeated for each method.
Open Shipping label delivery methods (NAV page 90007).
Create a new delivery method.
Under the NAV shipping agent and delivery code tab, enter the shipping agent code and delivery code in Dynamics NAV that should be linked to a shipping product in Shipmondo.
In the example below, the shipping agent code is set to "GLS" and the delivery code is set to "PAKKESHOP".
Product code
Under the Shipmondo Carrier Product tab, you must enter the Product Code from Shipmondo. For GLS ParcelShop, the product code is for example GLSDK_SD.
The product code is the value sent in the API call when a shipment is created. It is used to identify the correct shipping product and associated carrier in Shipmondo.
Each shipping product has its own unique product code.
You can see an overview of available shipping products and product codes under Settings > Integrations > API shipping product and service overview when you are logged in to your Shipmondo account.
Alternatively, you can use the Products API call.
Read more here.
Weight
You can set a default weight for shipments per delivery method.
If you have product weights registered in Dynamics NAV, the solution can also be adapted so that the correct weight is automatically transferred to the shipment.
Own freight agreement
It is possible to control whether shipments should be created through your own freight agreements or through Shipmondo’s freight agreements.
If you want to use your own freight agreements, they must first be activated on your Shipmondo account. Read more about own freight agreements here.
Notifications and personalized messages
Through the API, it is possible to select various services for a shipment.
In the integration module, we have made email and SMS notifications as well as personal messages available in the setup. The solution can also be extended to support other services, such as insurance, if needed.
Read more about shipment add-ons here.
4. Set up the label printer
In order to print shipping labels to a label printer, our Print Client must be installed on a computer or server that has access to the printer.
Once the Print Client has been installed, you can add the printers that should be used with Shipmondo.
The Print Client runs in the background and communicates with Shipmondo’s server so that print jobs can be transferred to the label printer.
Read more about the Shipmondo Print Client here and follow the guide for installing the Shipmondo Print Client and adding a printer.
Once the Print Client has been installed and the printers have been added, you can click Get printer list in the menu on the configured Shipping label profile. The printer list will then be retrieved or updated, and you can select the desired printer under Printer name.
💡 Expert tip: If you have multiple label printers, you can create multiple Pakkelabels-profiles and assign each of them to a separate printer.
A Pakkelabels-profile can then be linked to a Dynamics NAV user, allowing you to control which user should print to which printer.
5. Print shipping labels from sales orders in Dynamics NAV
In steps 1 to 4, we have gone through the basic setup of the integration module and shown how a label printer is connected to the solution.
The next step is to implement a print button under sales orders in Dynamics NAV.
We have deliberately chosen not to pre-create a print button in the object package, as businesses often have different needs and workflows. In addition, many businesses have their own customisations in their NAV solution, which makes it difficult to offer a true plug-and-play solution.
Instead, the integration module is built modularly, making it easy for a NAV developer to implement and place a print button wherever it is needed in Dynamics NAV.
Below, we show an example of how a print button can be implemented under sales orders in Dynamics NAV:
1. Create a button under Sales Order and name it, e.g. Print shipping label.
2. Insert the following two lines of code under OnAction() on the created button:
PakkelabelsMgnt.SetProfileID('1');
PakkelabelsMgnt.PrintShippingLabel("Document Type","No.");PakkelabelsProfile is an instance of Table 90005.
The print button has now been implemented.
You can now create a shipment and print a shipping label to your label printer directly from a sales order in Dynamics NAV by clicking Print shipping label.
Further development and customisation
Through our API, it is possible to access almost all functions and services in Shipmondo.
You can therefore continue developing the solution and adapt it to match the needs of the business.
To make the work easier, we have included a number of helper functions and code examples with calls to our API in Codeunit 90005 Pakkelabels Mgnt. in the NAV object package, which can be used as a starting point.
We also recommend reviewing our API guides, which contain descriptions of procedures as well as concrete examples of how the various API calls are handled.
Advanced shipments
The NAV integration module does not support advanced shipments such as DHL Express, FedEx, and UPS by default, but the solution can be extended to support these.
The reason is that these carriers have specific booking requirements that make it difficult to offer a true plug-and-play solution.
For example, DHL Express requires parcel dimensions to be included in the booking, and an electronic proforma invoice must be created for shipments outside the EU.
As this information may be stored differently in Dynamics NAV from customer to customer, this requires a customer-specific implementation.
To support this, we have created a guide with examples showing how to book advanced parcels through our API.
See the examples here.



