All Collections
API
Microsoft Dynamics NAV
Implementation of Shipmondo's integration module for Microsoft Dynamics NAV
Implementation of Shipmondo's integration module for Microsoft Dynamics NAV

Print shipping labels directly from your Dynamics NAV ERP system with Shipmondo's free integration solution / NAV add-on.

Nicklas Nguyen avatar
Written by Nicklas Nguyen
Updated over a week ago

Shipmondo has developed a free NAV add-on for Microsoft Dynamics NAV, which allows you to book shipments and print shipping labels directly from the Microsoft Dynamics NAV ERP system.

In this guide, we're showing how to implement the add-on in Microsoft Dynamics NAV and how you easily can adapt the solution to support your company's workflow.

To start the implementation process, contact your Microsoft Dynamics NAV partner and they can help handling the installation and adapting the add-on to your business' needs.

Guide for implementation and setup

Shipmondo's integration module communicates with our RESTful API and fas a modular form, which makes it easy to extend and adapt to a certain workflow in your company.

Below is the description of the basic setup of the module, as well as a simple implementation of a print button under sales orders in Dynamics NAV.

The setup takes approx. 30 min. and you will then be ready to set up the first shipment and print a shipping label on the labelprinter directly from Dynamics NAV.

1 Loading of NAV object package into Dynamics NAV

Contact our customer service and specify which version of Microsoft Dynamics NAV you or your customer are using, and our customer service will send you the correct object package and related files.

Install the included Newtonsoft Json.NET library by following this guide (the Newtonsoft.Json.dll file is included with the zip file you received from our customer service). Click on this link for detailed instructions for installation of Newtonsoft Json.NET for Dynamics NAV.

Load the NAV object package into your Dynamics NAV development environment (the objects are placed in the number series 90001..90008).

Compile the objects.

2 Set up the Shipmondo API key

Open Pakkelabels Profile List (NAV page 90005).

Create a new profile.

Enter the API user and API key from your Shipmondo account.
Click here to see how you can retrieve your API access information.

Enter the sender information that you wish to appear on your shipments and shipping labels under Sender.

If you have several businesses (e.g. if you're running multiple webshops with different names), you can create multiple profiles with different sender information.

3 Set up carrier products with Shipping Agent and Shipment Method in NAV

The next step is to set up shipping agent and shipment method in Dynamics NAV (standard NAV fields that can be accessed through i.a. Customer Card or under Sales Orders) with the carrier products from Shipmondo.

This setup ensures that the right carrier product is being booked for your sales orders in Dynamics NAV.

See the below example of a shipment method setup. Note that you need to repeat the setup for each delivery carrier/method if you're using multiple carriers/delivery methods for shipping your orders. 

Open Pakkelabels Shipment Method List (NAV page 90007).

Create a new shipment method.

Under NAV Shipping Agent and Shipment Method you need to specify both your shipping agent (carrier) and shipment method code. 

In the example below, we wish to set up the shipping agent code "GLS" and shipment method code "PAKKESHOP".

Product code:


Under Shipmondo Carrier Product you have to specify the Product Code from your Shipmondo account.
The product code for GLS Shop Delivery is "GLSDK_SD".

The product code is the value that is included in the API call for shipment creation and helps to identity the correct carrier and carrier product at Shipmondo.

There's a unique product code for each carrier product.

To find the overview of available carrier products and product codes, log in to your Shipmondo account and go to Settings > API > API product and service overview. Otherwise try using the API call Products (click here for more info).

Weight

It's possible to specify a standard weight for shipments for each shipment method, but if you have information regarding weight on your items in Dynamics NAV, it's also possible to adjust the solution so that the precise weight is used for booking the shipment.

Own shipping agreement

It's up to you to manage whether you wish to create shipments through your own freight agreements or through the freight agreements that Shipmondo has to offer.

Using own freight agreement requires that it's activated on your Shipmondo account. Click here to find more info on use and activation of own freight agreements.

Notifications and personalized messages

It's possible to opt for some additional services during shipment creation through the API.

Our integration module supports e-mail/SMS notifications and personalized messages out of the box, but it's possible to expand the solution to support other services, such as extended coverage insurance if needed.

Click here to find more info about additional services.

4 Label printer setup

For automating your label printing process, install Shipmondo Print Client on a computer or a server with access to the label printer. It needs to be running in the background.

When Shipmondo Print Client is installed, you'll be able to connect your Shipmondo account with the printer(s) that you wish to use.

Shipmondo Print Client is a piece of software that stays in the background and ensures communication between Shipmondo and the printer by transferring print jobs to your label printer.

Follow this guide for installation of Shipmondo Print Client and printer setup.

Once the Shipmondo Print Client is installed and you've added your printer(s), click on Get List of Printers in your Pakkelabels Profile and your printer list will be updated. You can now choose the printer you wish to use under Printer Name.

If you have multiple printers, you need to create multiple Pakkelabels profiles for each of them. You can also assign a specific Pakkelabels profile to each Dynamics NAV user and thus control which user sends which print jobs to which printer.

5 Print your pakkelabels from Sales Orders in Dynamics NAV

In steps 1) to 4) we reviewed the basic setup of the Shipmondo integration module and how to connect a label printer to the solution.

Now we're showing how to implement a print button under a specific sales order in your Dynamics NAV.

We have deliberately chosen not to include the print button in our object package, as different companies have different needs/workflows. Different companies might also have their own customized Dynamics NAV solutions, which makes it difficult, if not impossible, for us to make a plug'n play solution for this particular action.

The integration module is built modularly, which means that it's quite easy for a Dynamics NAV developer to implement/place the print button at a desired page in Dynamics NAV.

See the example below that's showing how to implement a print button under Sales Orders in Dynamics NAV.

1. Create a button under Sales Order (Object Page 42) in Dynamics NAV and call it e.g. "Print shipping label".

2. Insert the following two lines of code under OnAction () for the created button.

PakkelabelsMgnt.SetProfileID('1');
PakkelabelsMgnt.PrintShippingLabel("Document Type","No.");

Pakkelabels Profile is an instance Table 90005.

The print button is now implemented.

You can now create a shipment and print your shipping label directly from a sales order in Dynamics NAV, with a single click on the "Print shipping label"-button.

Further development and adaptation

You can access all functions and services at Shipmondo through our API.

This means that you can use our solution as a base and build and develop it to create the solution that suits your specific business needs.

In order to help you save time, Codeunit 90005 Package Label Mgnt. of the Dynamics NAV object package contains a number of help functions/code examples with calls to our API, which you can use as a starting point.

In addition, we recommend looking at our API guides, which contain descriptions of concrete best practice examples on how to use different API calls.

Advanced shipments

Our NAV integration module doesn't support "advanced" shipments (shipments with e.g. DHL Express, FedEx, UPS, etc.), but the module can easily be adapted to support those as well.

The reason for this is that these carriers have special requirements for the booking, which makes it impossible for us to make a plug'n play solution.

E.g. DHL Express requires that the package dimensions are included in the booking call, and an electronic pro forma invoice must be filled out for shipments outside the EU.

Since the way this data is stored in Dynamics NAV may vary from from customer to customer, a customer-specific implementation must be made.

To support this process, we've provided a guide with examples on how to book advanced parcel types through our API.

Click here for a more detailed guide.

Did this answer your question?