› Dynamics NAV › Packing Requisition Functionality in NAV 2017 using Extension

Packing Requisition Functionality in NAV 2017 using Extension

 Chris D'silva   Leave a comment


We implemented Packing Requisition functionality for one of our Pharma Client in NAV 2016. The same functionality is replicated in NAV 2017 using Extension.

Client Requirement

The client process is such that once the goods are produced it needs to be packed as per the instructions given by the customer. These packing details needs to be send to customer and  to other parties like Shipping Agency and Customs Department. The packing details needs to be stored in the system for reference as well as for preparing some shipment documentation. The details are also useful to identify the batch number and expiry date of goods packed in particular shipper along with the gross weight and net weight.


  1. Microsodt Dynamics NAV 2017
  2. Windows Powershell ISE


In NAV, after a Sales order is created there is no provision to enter packing related details . Once the goods are produced it is directly shipped. Thus to fulfill the client’s requirement we developed the Packing List Functionality.

Customization in NAV 2016

In NAV 2016 we can directly customize standard objects and can alter the source code.

Customization in NAV 2017 with Extension.

In NAV 2017 using Extension, we extend NAV without altering the standard source code. Extensions can be installed or uninstalled, giving customers compelte control over the additional functionality that they need.

All coding with respect to adding of fields in NAV 2017 using extensions is done using the Codeunit object.

In the Codeunit object, we create functions to trigger on insertion, modification,validation of that particular field. In the properties of the function,we subscribe to the system Event and specify the Event Publisher Object. The Event Function ‘OnAfterValidateEvent’ is selected from the lookup and the Event Publisher Element is selected.


We create Packing page which should have Sales order number, customer details and shipping information. The Packing sub form is then created having details like product type, description ,total quantity.Packing Case details Page which would be the sub page of Packing Sub form having details like number of cases, the gross and net weight, batch number, manufacturing and expiry date.

The following are the steps to implement the packing functionality in NAV using extensions.

  1. We create folder as below and all original objects to be modified are first exported in the .txt format in the Original object folder.
  2. The below modified objects for the extension packing requision functionality are exported in .txt format in the Modified Folder.
  3. A menu suite is created which consist of the link to the packing list page in the Order Processing Department.
  4. Now we import all the unmodified objects and all the newly created objects are deleted.
  5. We then run Windows PowerShell ISE as Administrator, create delta file by using ‘Compare-NAVApplicationObject’ commandwhich consist of only the modified objects. We Specify the paths of the folders and run the command.
  6. The manifest file is created using ‘New-NAVAppManifest’ command which consist of the publisher name, version number and extension name in a .xml format.
  7. The navx package is created using the ‘New-NAVAppPackage’ command in .navx format
  8. The .navx package is published using the ‘Publish-NAVApp’ command
  9. The app is installed using ‘Install-NAVApp’ command.
  10. Test the extension by running RTC
  11. In Sales and Marketing select sales and receivable setup, and enter the package No. series.
  12. The Customer No. is selected from the lookup and the customer details are auto populated. We enter the product details in the sub form. The No. In the packing is sub form is selected using the lookup and the related fields of the product are auto populated.
  13. Clicking on Line of the Packing sub form we enter the packing case details.


In NAV 2017 using Extension, we extend NAV without altering the standard source code. Extensions can be installed or uninstalled, giving customers complete control over the additional functionality.

A packing list functionality provides information about the the sales order, customer,shipment information and Shipper’s details of the product.

Liked it? Share it.

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.