• Home
  • About Me
  • Contact Me
  • Downloads
  • White Papers
  • Web Sites
  • Post List
  • Articles
  • FAQ

Olof Simren - Microsoft Dynamics 365 Business Central Blog

  • Home
  • About Me
  • Contact Me
  • Downloads
  • White Papers
  • Web Sites
  • Post List
  • Articles
  • FAQ

Processing of Shipments

March 9, 2015 Posted by Olof Simren General, Inventory, Miscellaneous, Warehouse 60 Comments

There are four ways to process shipments of inventory in Microsoft Dynamics NAV. Which way to choose depends on the business requirements and what processes that are most suitable.

I typically discuss the different options early in the analysis phase of an implementation to establish the preferred method as soon as possible (if it is not obvious which one to apply that is). It is important to get it right early since the procedures, work instructions, potentially modifications and printouts all will depend on the method chosen (and you don’t want to change your mind half way through the project).

Below is a description of each of the four methods in Dynamics NAV together with their pros and cons. The illustration is something that I typically do on a white board during the sessions when this is discussed (now I guess I can just refer to this blog post, and almost eliminating myself 🙂 ). The ‘Ship’ in red indicates from what page the shipment is posted.

Processing of Shipments

Note: Note that ‘Order’ refers to all types of orders that can be shipped; sales orders, purchase return orders and transfer orders. The configuration for how to process shipments are made on the location card with the two fields require shipment and require pick.

Location-Card-Dynamics-NAV

Option 1: Shipping from Order

Shipping directly from the order is the simplest way of shipping something in Dynamics NAV. You basically just open the order, enter the quantity to ship on the line(s) you want to ship and then post it. The biggest downside of this used to be that the person doing the shipping had to be working on the order pages (screens) and therefor had the potential to accidentally modify the orders and see data not needed to be seen. Now, since the newer clients are role tailored this is less of an issue since you can easily make simplified order pages by removing unnecessary action items and fields for a certain profile. It could look something like below where all prices etc. are removed from the lines and functions not needed removed from the ribbon.

Simplified-Sales-Order-Dynamics-NAV

With the role tailored client you can also easily create things like shipping queues (based on order lines) for the users to know what is due to be shipped (see previous blog post Add Order Lines to Navigation Pane).

If you want a printout for an employee to pick the parts then there is a picking instruction report that could be used. This simply prints the order with the lines without showing, for the picker, irrelevant information such as pricing and taxes. It can also be designed to include internal notes, packaging instructions, etc..

Picking-Instruction-Dynamics-NAV

The downside of this method is that you can only ship one order at a time and there is no real good way of seeing what is available to ship. The user shipping also typically needs to operate on three different screens; sales order, transfer order and purchase return orders.

Another potential downside is if you are using bins; since with this method you can only really ship from one bin at a time per sales order line. So a scenario where you have the same item in multiple bins might complicate the shipping process a bit since you need to move some items first to be able to ship them all at once.

An upside is that you can not only ship inventory this way but also resources, item charges and g/l accounts.

Posting of the shipment is done from the header of the order. Doing a post and print will print the packing slip that goes with the items (which are normally something you want to do).

Post-and-Print-Sales-Order-Dynamics-NAV

Option 2: Shipping from Inventory Pick

The second option is to use an inventory pick to ship the inventory in Dynamics NAV. The main advantages with this is that the user processing the shipments are using a simplified interface (the inventory pick) which is the same no matter what type of order that is shipped.

It also allows for Dynamics NAV to determine what should be shipped since the inventory picks are not created if the item is not available in inventory to pick. The typically way of using the inventory pick is to run the create inventory pick batch job a couple of times a day with a filter indicating how far ahead items should be picked (something like; create picks for everything that is available to pick that should be shipped up until tomorrow).

Create-Inventory-Picks-Dynamics-NAV

Note that the above filter on the shipment date applies to the shipment date in the header of the orders; if you are entering orders with multiple lines on different shipment dates then this might need to be tweaked a bit.

Dynamics NAV then goes through the released orders and if there is anything to be shipped within the date filter then an inventories pick will be created and printed if the item(s) are available in inventory. The employee can then just grab the picks from the printer and start processing them (and potentially use something like the shop floor barcode system to post it as picked using a scanner).

You can also create the inventory pick directly from an order, this could for example be useful if an order should be expedited and picked directly (without waiting for the next time the above batch job runs).

The other advantage with inventory picks if you are using bins is that you can split a line and therefor pick from multiple bins at the same time. In fact if you have the same item in multiple bins Dynamics NAV will suggest that you first pick from the items default bin and thereafter from other bins in alphabetical order where the item is available. Which is quite nice.

Inventory-Pick-Split-Line-Dynamics-NAV

If you pick items that are lot and/or serial number tracked then the lot and/or serial numbers will show up on the lines of the inventory pick. This is something that users often see as a convenient thing (they don’t need to use the item tracking lines form) and you can also have Dynamics NAV to suggest the lots for you during the creation of the inventory picks using FEFO (first expiration date first out).

Inventory-Pick-with-Lots-Dynamics-NAV

Inventory picks are easy to work with and a good way to processing shipments. The biggest downside with inventory picks in my mind is that you are only processing one order at a time (although making a modification that will combine sales orders going to the same destination into a single inventory pick is not that hard to accomplish).

Posting the inventory pick then posts the related order lines. Post and print will print the packing slip to go with the items.

Post-and-Print-Inventory-Pick-Dynamics-NAV

Option 3: Shipping from Warehouse Shipment

The third option in Dynamics NAV is to ship using warehouse shipments. Unlike the inventory picks you can combine multiple order lines on a warehouse shipment and it can be created in advance without having the inventory available in stock.

A warehouse shipment is supposed to represent something like a container shipment or a FedEx truck that arrives once a day and picks up multiple packages. Such a shipment can then be prepared in advance using a warehouse shipment. The function ‘use filters to get source documents’ where conditions like the shipping agent, shipment method, etc. can be predefined is typically used to combine order lines that are going to be shipped together this way.

Filter-to-Get-Source-Doc-Dynamics-NAV

The warehouse shipment then becomes a document for the warehouse employees to use to gather the items and preparing them for when the container or FedEx truck arrives, at which everything on the warehouse shipment should be processed.

Warehouse shipments are also very common to use to represent a single order or a couple of orders that are being delivered to the same destination and therefor combined into a single shipment. When this is done you typically want to add the destination information (e.g. customer number, ship-to code, etc..) to the header of the warehouse shipment (kind of simulating an inventory pick). This requires a minor modification to the system but is probably one of the most common modifications to Dynamics NAV. The reason for wanting to add this to the header is to make sure there is an easy way to find the warehouse shipment since it with this method has the potential to have many warehouse shipments open at the same time. Another reason to do this is to program something that would prevent a user to mix order lines going to different destinations on a single warehouse shipment. This modification could look like below;

Warehouse-Shipment-With-Destination-Dynamics-NAV

Many years ago I also developed a batch job that goes through all released order lines within a date filter and combines then into individual warehouse shipments based on the destination and shipping agent. This has over the years turned into a very useful way of applying the warehouse shipment functionality (especially if you have order lines that are going to ship at different dates). This solution might be something that I will publish in the downloads section here on my blog in the future. The batch job looks something like below where you set the horizon for shipments using and ending date and the criteria to combine orders into single warehouse shipments.

Create-Whse-Shipments-Batch-Job-Dynamics-NAV

Without a feature like this the warehouse shipments need to be created manually, either in the warehouse shipment page or from each individual order using the create warehouse shipment functions.

The warehouse shipment lines have a one to one relationship with the order lines and you can only ship from one bin at a time per line. If you have a floating inventory with the same items in multiple bins you then need to gather them in one bin before making the shipment.

On warehouse shipments the lot and serial numbers are entered in the item tracking lines page (everyone’s favorite 🙂 ) related to the line (you don’t have then directly on the lines like you have on the inventory picks).

Posting a warehouse shipment then posts the related order lines. Post and print will give you the packing slip to go with the shipment (you get one packing slip per order).

Posting-Warehouse-Shipment-Dynamics-NAV

Option 4: Shipping from Warehouse Shipment using Warehouse Picks

The forth option could be seen as a combination between option 2 and 3. You have the warehouse shipments to be created just like with option 3 and in addition to this you use a warehouse pick created based on the warehouse shipment(s) to pick the items and gather them in a shipping area before they gets posted as shipped. This option works both with and without the ‘directed put-away and pick’ functionality (also sometimes referred to as advanced warehousing or WMS).

Registering the warehouse pick moves the items between the bins and updates the warehouse shipment lines as picked. Posting the warehouse shipment then posts the related order lines.

The real power of this method is that you can have multiple warehouse picks for a warehouse shipment which in turn can contain multiple orders and therefor optimize the picking process (for example by picking same items cross multiple orders or picking based on zones). The warehouse picks can be created directly from a warehouse shipment or through the pick worksheet. Below are some of the options that you have during the creation of warehouse picks from the pick worksheet.

Create-Warehouse-Pick-Dynamics-NAV

Just like the inventory picks, a warehouse pick is only created for items that are available to pick. A warehouse pick is ‘registered’ not ‘posted’, it only moves the items from their bins to the shipping area and no ledger entries are created (nothing in the g/l or item ledger, only some warehouse entries to record the move between bins).

Register-Warehouse-Pick-Dynamics-NAV

Posting the warehouse shipment then posts the related orders as shipped. Doing a post and print will print the packing slip at the same time. Same as previously described in option 3.

The downside with this option is obviously the number steps that has to be performed to process a shipment. This is especially painful when undoing shipments or making changes to orders where the warehouse shipments and picks has been created. If you don’t see the benefits of combining orders and optimizing picks this way then I would recommend one of the other options for processing shipments.

Note that the way to process shipments is something that you define per location and it is therefore something that can be different for different locations within the same company in Dynamics NAV.

Share this:

  • Share on Facebook (Opens in new window) Facebook
  • Share on X (Opens in new window) X

Related


Discover more from Olof Simren - Microsoft Dynamics 365 Business Central Blog

Subscribe to get the latest posts sent to your email.

Tags: Inventory PickPickSales OrderShipmentWarehouseWarehouse PickWarehouse Shipment
60 Comments
Share
11

About Olof Simren

I am a Microsoft Dynamics NAV and 365 Business Central Expert, I started implementing Microsoft Dynamics NAV in 2002, back then it was called Navision Attain. Throughout the years there has been many exciting implementations in different parts of the world, all of them with different challenges but with one common theme; manufacturing. As a consultant, I bring over 20 years of experience in implementing Microsoft Dynamics NAV and 365 Business Central within manufacturing and distribution companies. The services I offer includes project management, consultation, development and training. Feel free to contact me if you need help with anything related to Microsoft Dynamics NAV or 365 Business Central. I work through my company Naviona where I team up with other skilled Microsoft Dynamics NAV and 365 Business Central Experts.

You also might be interested in

Assemble to Order with Inventory Picks and Movements

May 20, 2015

One of the nicer things about the assembly functionality in[...]

Sales Quote without Customer

Jul 11, 2016

Do you know that you can create sales quotes without[...]

Batch Creation of Warehouse Shipments

May 10, 2015

In one of my previous blog posts about processing shipments[...]

60 Comments

Leave your reply.
  • Aristides (Ari) Smith
    · Reply

    March 15, 2015 at 11:46 AM

    Hello Olof, I enjoyed your detailed blog and will suggest that a very important step is being missed between order processing and picking, that is Transport Management. Typically, a transportation management solution (TMS) “sits” between the order processing and picking phases. It’s purpose is to select the most optimized method of routing a single or group of orders. identifying the most cost effective carrier, costing out the freight cost for accrual purposes and then finally releasing the outbound orders to the output pool for picking.

    • Olof Simren
      · Reply

      Author
      March 15, 2015 at 9:20 PM

      Hi Ari,
      Thanks for your comment!
      I understand what you are saying, but not sure I agree on the word ‘typically’. 9 out of 10 places I go to don’t have requirements like that.
      But it is good to know that you guys have a solution like that for NAV.

      /Olof

  • Agnes F.
    · Reply

    April 13, 2015 at 9:51 AM

    Hi Olof,
    How can we create 2 warehouse shipments from 1 sales / transfer order line, supposing that the order is to be split to 2 separate shipments?

    • Olof Simren
      · Reply

      Author
      April 14, 2015 at 7:05 AM

      Hi Agnes,
      An order line can only be on one warehouse shipment at a time.
      If you want to do this you need to split the order line into two, or alternative first process a partial shipment on one whse. shipment then delete the whse. shipment line and add the remaining quantity to the second whse. shipment. Maybe not ideal, but that is the way it is.

      /Olof

      • Aristides (Ari) Smith
        · Reply

        April 14, 2015 at 9:00 AM

        The other part to this question is how can multiple account payables freight bills be processed for the same order number but for multiple different transportation providers. Dynamics TMS for NAV automatically creates multiple A/P transaction records for each “split” while maintaining the integrity of the original SO, PO or TO.

  • Nacho Porcar
    · Reply

    May 28, 2015 at 11:52 AM

    Hello Olof, i like your blog so much.
    Please, I am migrating now our company Dynamics NAV version from 5.0 to NAV2015 and we are analyzing just this matter: “Procesing of shipments”
    In NAV5.0 we are using Option 1: Shipping from Order but our company needs to consolidate big orders before to send it and what we do is to create an amount of ficticious shipments to then undo in a consolidated shipment. A very “dark” process. This is because our orders are international and we need to send the orders complete, the shipment date will be one or two months after the order date. Our process is confussing. My database is full of undone shipment lines.
    In NAV2015 i am thinking on deploy Option 4: Shipping from Warehouse Shipment using Warehouse Picks, but I am afraid of my other light orders with fewer lines (shipped to our country) will be delayed so much because of the complexity.
    All that i need is one method to do picking and not to ship the goods until the order is completed. For the other hand we need agility with the one-lined orders.
    What would you recommend me based on my words? Please, Olof, some advice of you will be very apreciated by me. Thank you.

    • Olof Simren
      · Reply

      Author
      May 28, 2015 at 1:33 PM

      Hi Nacho,
      Many thanks for your comment!
      Well, if you want to be able to pick products (and register it in a system) before you ship them in the system then option 4 is probably the way to go (kind of the only option in standard NAV).
      There are many ways to streamline this process. In my past I have done a couple things for this;
      1. Added functionality that creates a warehouse pick at the same time as the warehouse shipment (I believe I called it ‘instant pick’ and it was a function on a sales order), this was done for a customer that had a warehouse where people also could show up and by products like in a retail environment.
      2. The second thing that I have done was automate the posting of the warehouse shipment when the pick was registered. This kind of worked together with the first mod.
      3. A batch job to create the warehouse shipment, this is described in another blog post actually.
      So, I guess if you want to have a two-step process where you first register picks and the post a shipments then option 4 is the way to do it and if you think it is a cumbersome process for certain type of orders then you can look into optimizing it with modifications.
      /Olof

      • Nacho Porcar
        · Reply

        May 29, 2015 at 2:19 AM

        thank you so much Olof 🙂
        your answer is very helpful for me

  • Kavisha
    · Reply

    September 14, 2015 at 5:12 AM

    Hi All

    I have a qyery, At the time of Picking the items, if I want to alot a new No. for the Picking Lot. How can we do that from Whse shipment.
    for example- I have to ship 15 Qty of item ABC

    Item ABC has 20 Qty with Lot No. “67890” in the Warehouse. Now I want system to instruct me the LOT no. to be the same”67890″ on Picking List but Must allow me to breakbulk to another new Lot No. “67891” for shipping.
    Please suggest.

    • Olof Simren
      · Reply

      Author
      September 14, 2015 at 10:53 AM

      Hi Kavisha,
      I am not sure exactly what you are asking, but if you have the lots in inventory you can select both of them on the warehouse shipment using the Item Tracking Lines.
      If you only have one lot in inventory and you want to split it into two lots then you need to do that through the Item Reclassification Journal or with a Production Order before you select the lot numbers on the warehouse shipment. There is no way to split a lot in inventory into two lots on a warehouse shipment.
      You are using the term ‘breakbulk’, in NAV this is something else, and is referring to breaking larger units into smaller units (like opening 1 box of 10 pcs to get 10 pcs in inventory).

      /Olof

  • Kristoffer
    · Reply

    September 14, 2015 at 11:03 AM

    Hi Olof,

    A very good overview you have made here.

    We use alternative 4 with advanced warehousing/wms, but have a challenge with the pick worksheet.

    We use «get warehouse documents» in the pick worksheet to make picks, but warehouse documents that already have a pick is also showing in this list, which make it quite difficult for us to assemble picks.

    There seems to be missing a document/pick status on the warehouse shipment document that says «pick created», which we could filter on. We were thinking of using codeunit 41 to make a function that we could filter on (i.e. %withoutpicks that filter on warehouse shipments numbers that do not have picks), but then again the filterstring have a maximum of approximately 750 characters, and the characters in our order volumes exceed this in any given day.

    As we see it, it should be a column which you could filter on so that you are able to show how many warehouse shipments that are missing picks in your rolecenter as well. Actually, we have the same problem with released orders, you have nothing to filter on which tells you which released orders that dont have warehouse shipments. So it is difficult for our warehouse manager to have a good overview.

    Is this something you maybe have looked at before, and have a very easy solution for?

    /Kristoffer

    • Olof Simren
      · Reply

      Author
      September 15, 2015 at 4:07 PM

      Hi Kristoffer,
      Thank you for your comment.

      What I have done in the past is to add a function called ‘Get All Whse. Documents’ to the Pick Worksheet that grabs all the warehouse shipments and populates the pick worksheet with lines that does not have a related warehouse pick yet (so it kind of refreshes the entire pick worksheet).
      The warehouse employee(s) then runs this function to get an overview of what is missing warehouse picks, then applies a filter if required and creates the warehouse picks.
      This is something that has turned out to work well, and I have used in in multiple places.

      For the orders, I always use this batch job for creating warehouse shipments;
      https://www.olofsimren.com/batch-creation-of-warehouse-shipments/
      Then you don’t have to be worried about missing creating a warehouse shipment for an order (as long as the order entry person has remembered to release it 🙂 ).

      With the two above modifications the process for the warehouse can become like this (as an example);
      1. Run the ‘Create Whse. Shipments’ batch job (maybe twice a day, filter on order lines to be shipped within the next couple of days).
      2. Run the ‘Get All Whse. Documents’ function in the pick worksheet (this then shows all whse. shipment lines that needs picks created).
      3. Created the whse. picks using the standard NAV functionality (whatever is left in the list are backorders, things that are not available to pick).
      4. Pick and register the wharehouse picks.
      5. Package the items and post the shipment.

      Hope this was useful… Maybe a slightly different approach…

      /Olof

  • Vijay Mishra
    · Reply

    December 17, 2015 at 3:43 AM

    I really found it very useful. Thanks for helping me to find solution out of the box.

  • Erik P. Ernst
    · Reply

    December 23, 2015 at 9:47 AM

    Hi Olof,
    Very helpful blog post. Thanks! All this WMS stuff has previously been something I have tried to avoid. But can’t anymore.
    My client is in the fishing industry, and they mostly uses standard boxes for shipping. The number of KG per box (units per parcel) may vary from lot to lot. And they may be only half full.
    How would you go handling this?
    /Erik

    • Olof Simren
      · Reply

      Author
      December 23, 2015 at 11:02 AM

      Hi Erik,
      Good question.
      If it is just a matter of how it gets packaged during the shipping process then maybe look into doing a modification that allows the packaging people to define what goes in what box (introduce something like parcel records that are created during packaging). Or get an add-on that can handle this. The standard NAV feature that keeps track of inventory by units in the WMS part assumes that each unit is the same size.
      In a lot of places you just ship a number of kilos and don’t care about how many boxes it goes into and what is in each box. This is at least my experience.

      If this is a requirement that also convers a production process and requires inventory to be tracked in this way then an option is to use the lot numbers to track the boxes. So, if the output of a production order is 100 kg of fish (lot ABCD) in 3 different boxes you create three lots like this;
      ABCD-1, 40 kg
      ABCD-2, 40 kg
      ABCD-3, 20 kg
      The base unit of measure for the item is then kg, the number of lots represents the number of boxes, and the quantity for each lot is the amount of fish in the box.
      You can then count the inventory like this, move it around, ship it, etc..
      I used to work with a process manufacturing solution that did something similar to this, and it worked quite well.

      This is what I could think of right now, hope it makes sense. 🙂

      /Olof

  • Brian
    · Reply

    March 31, 2016 at 3:49 PM

    What is the best setup to Sell by cases and ship by pallet. I wanted to be able to create a pallet ID and label that contains the number of cases on the pallet. Can this be done for instance? If there are 32 cases per pallet and we sell a line item of 100 cases that means that we will be shipping 3 full pallets of 32 cases each and 11 partial pallet of 5 cases. Can this be accomplished if there is only 1 line item with a qty of 100 cases?

    • Olof Simren
      · Reply

      Author
      April 3, 2016 at 9:18 PM

      Hi Brian,
      For that part I would look into using the lot tracking functionality.
      Using lot tracking you can assign a pallet ID (as a lot number) to the inventory when it is received/produced.
      Each lot in inventory for that item then represents a pallet and when you ship it you select what lots (pallets) you shipped (which then can be full or partial pallets).
      This kind of assumes that you are not already using lot numbers for the inventory.

      /Olof

      • Brian
        · Reply

        April 7, 2016 at 11:34 AM

        Thanks for your reply! We are already using Lot tracking, however since our finished goods inventory is made to order our Lot numbers represent the entire output created from a production run, which in most cases is multiple pallets. Since we sell by Cases or sales order line may show 1 line with 120 cases. If we produce the item at 42 cases per pallet, that means we are shipping 2 full pallets of 42 and 1 partial pallet of 16. (This is done procedurally in the warehouse).

        They way we would pick and ship in the past was by line item, therefore we’d pick and ship 120 cases (1 time). We are now trying to introduce bar codes to each pallet and scan to pick and ship by pallet. So how can we do this? This means we need to record 3 picks and 3 ships – for each pallet in this example.

        Thanks for your help!!

        • Olof Simren
          · Reply

          Author
          April 7, 2016 at 11:59 AM

          If the output of the production are pallets I would look into if the pallet IDs can be incorporated into the lot numbers.

          Example with you case;
          Output of production order with 168 cases creates the following lots;
          ABC-123, 42 cases
          ABC-124, 42 cases
          ABC-125, 42 cases
          ABC-126, 42 cases

          Where the ABC is the lot produces and the -123 are the pallets.
          You create a pallet label printed from NAV, so each pallet gets a label with the lot number as barcode.

          Selling 120 cases will then generate a pick with three lines (according to FIFO, if you use the FEFO option for the picks);
          ABC-123, 42 cases
          ABC-124, 42 cases
          ABC-125, 36 cases

          The person doing the picking then scans each pallet to confirm it (and they will have to know to not pick the full ABC-125 pallet).

          This is how I would approached it by trying to utilize the standard functionality as much as possible.
          Anything else I believe would require modifications.

          /Olof

          • Brian

            April 7, 2016 at 1:34 PM

            Thank you. I like this option. Would there be a means of maintaining the qty in the pallet? For instance if we removed 6 cases from Pallet ABC-125 in order to ship a partial pallet, would we be able to create a new label for that pallet with a qty of 36 cases and just scan for shipping? We are also looking to barcode all items as well so each case would have a barcode.

          • Olof Simren

            Author
            April 8, 2016 at 9:44 AM

            NAV will maintain the quantity in a pallet automatically this way. If you pick and ship 6 cases from ABC-125 then NAV will know that there is only 36 left on ABC-125.

            What I normally do for customers that are using lot numbers is to change the code so that a ‘Lot No. Information’ record (table 6505) is always created for each lot. This record have an ‘Inventory’ field that is a calculated field that shows the quantity of the lot (a pallet in this case). You then create a pallet label based on those records (which can show the quantity on the pallet).

            Creating the label is a customization, but it should be fairly easy if you have the ‘Lot No. Information’ record. You then just need to reprint it each time you pick a partial pallet.
            Doing the scanning would probably also be a customization (or an add-on), and you could theoretically have NAV to reprint the label automatically during the pick process.

            The other option I have seen (which is a more manual option) is to print a label like this:

            Pallet ABC-125
            Initial Qty: 42
            New Qty: _____ Date: ____ Sign: ____
            New Qty: _____ Date: ____ Sign: ____
            New Qty: _____ Date: ____ Sign: ____
            New Qty: _____ Date: ____ Sign: ____

            Then you manually fill in the remaining quantity with a marker when you pick a partial pallet (so you know if you can take the full pallet next time a pick is directed to it).
            Not really a fancy software solution :-), but I have seen it work like this.

            /Olof

          • Brian

            April 8, 2016 at 10:55 AM

            Thank you! You are a life saver. Where is the Lot No. Information Table (6505) created and what code do I need to change to create a record for each lot?

          • Olof Simren

            Author
            April 8, 2016 at 11:47 AM

            In Codeunit 22, function CheckItemTrackingInfo. Add the below code (no warranties 🙂 );

            END ELSE BEGIN
            IF SerialNoInfo.GET(
            ItemJnlLine2.”Item No.”,ItemJnlLine2.”Variant Code”,TrackingSpecification.”Serial No.”)
            THEN
            SerialNoInfo.TESTFIELD(Blocked,FALSE);
            IF TrackingSpecification.”New Serial No.” <> ” THEN BEGIN
            IF SerialNoInfo.GET(
            ItemJnlLine2.”Item No.”,ItemJnlLine2.”Variant Code”,TrackingSpecification.”New Serial No.”)
            THEN
            SerialNoInfo.TESTFIELD(Blocked,FALSE);
            END;
            END;

            //>> !!! New Code !!!
            // Insert Lot No. Information
            IF NOT LotNoInfo.GET(ItemJnlLine2.”Item No.”,ItemJnlLine2.”Variant Code”,TrackingSpecification.”Lot No.”) THEN BEGIN
            LotNoInfo.INIT;
            LotNoInfo.”Item No.” := ItemJnlLine2.”Item No.”;
            LotNoInfo.”Variant Code” := ItemJnlLine2.”Variant Code”;
            LotNoInfo.”Lot No.” := TrackingSpecification.”Lot No.”;
            LotNoInfo.INSERT;
            END;
            //<< !!! New Code !!!

            IF LotInfoRequired THEN BEGIN
            LotNoInfo.GET(
            ItemJnlLine2.”Item No.”,ItemJnlLine2.”Variant Code”,TrackingSpecification.”Lot No.”);
            LotNoInfo.TESTFIELD(Blocked,FALSE);
            IF TrackingSpecification.”New Lot No.” <> ” THEN BEGIN
            LotNoInfo.GET(
            ItemJnlLine2.”Item No.”,ItemJnlLine2.”Variant Code”,TrackingSpecification.”New Lot No.”);
            LotNoInfo.TESTFIELD(Blocked,FALSE);

          • Arjun

            January 25, 2020 at 9:59 AM

            Hi,

            How to set pick register by user. When i click on the pick register it’s showing “manual pick not allowed “. How to solve this problem

  • Karim
    · Reply

    April 12, 2016 at 8:12 PM

    Hi Olof.

    Thanks for the post very interesting.

    In the case of directed pick and put away. What’s the best process to manage at the shipping dock the consolidation of multiple warehouse picks coming from different zone.

    Basically ensure that after doing a wave pick to bring an item to several order, the packer knows physically which qty goes to which warehouse shipment line.

    Thanks for your share

    • Olof Simren
      · Reply

      Author
      April 14, 2016 at 5:08 PM

      Hi Karmin,
      Not sure if it is the ‘best process’ (kind of depends on the case) but maybe start with having the order numbers available for the picker to group the items during the pick (I have for example seen pickers with carts that had something like 8 sections on them, the picks where then created with a max of 8 orders per pick, sorted by bin but with an order number on each line).
      Then when the items are brought to the shipping area you can ‘marry’ them with the other items that are being picked from other zones using a report in the format of a checklist that is based on the warehouse shipment lines (the report would then be grouped by order), or you have a page in NAV that displays a list like this.
      Not sure if this helps or not, but those are my thoughts at least. 🙂 I think there are as many ways of doing this as there are companies.

      /Olof

  • Ken
    · Reply

    April 24, 2016 at 1:19 PM

    Hi Olof,

    I really like your tips. Just a few questions, with option 4, what do we do to reopen a Sales Order after
    1. a warehouse shipment has been created, but a warehouse pick has not.
    2. Both warehouse shipment and pick have been created.
    3. Both warehouse shipment and pick have been created, and partial pick registered.
    4. Both warehouse shipment and pick have been created, partial pick registered, and partial shipment posted.

    This is because some items on the sales order are not available or enough so we want to replace those out of stock items with new items on the sales order and release it to the warehouse again.

    Also, how do we undo posted warehouse shipment? This happens because we post ship in the system before the physical items are transported out. Then the order is canceled (An invoice is not created).

    Upon undoing shipment, which bin will the items be placed back in?

    Thank you.

    • Olof Simren
      · Reply

      Author
      April 25, 2016 at 11:12 PM

      Hi Ken,
      To reopen and change the items on a sales order you will have to delete any warehouse documents first.
      If a warehouse shipment have lines from multiple orders you only need to delete the lines for the order you want to change.
      Warehouse shipment lines that have been picked (either fully or partially) can also be deleted, the items then remains in the shipping bin and will have to be moved back separately.
      So for all the cases (1,2,3 and 4) you need to ‘clean up’ whats been created in the warehouse side of the system before you can change an item on a sales line. If this is a frequent thing and it becomes cumbersome, then maybe a modification should be considered to more easily do this.

      You undo a shipment using the undo shipment function on the posted sales shipment. Before you do this you need to delete the posted warehouse shipment and the registered pick(s).
      I believe the items goes back into the bin that happens to be on the posted sales shipment line.

      I hope this helps.

      /Olof

  • Henrik Ohm
    · Reply

    June 30, 2016 at 5:34 PM

    PLEASE SELL YOUR BLOG TO Microsoft AND KEEP DOCUMENTING. THIS IS THE ONLY REAL GUIDES TO BE USED. Once Again thank you for your good Work. MS have no clue on the real World processes still – sadly.

  • Mike
    · Reply

    August 1, 2016 at 5:17 AM

    Hello
    I am interested to know how to close a transfer order that has had partial shipment made and received and the remaining amount will no longer be shipped. So there is an open TO with a quantity to ship and no further shipping documents will be created so the TO remains released with no further action to be made with it. How can it be closed or the outstanding quantity reduced?
    Rgds
    Mike

    • Olof Simren
      · Reply

      Author
      August 1, 2016 at 11:17 AM

      Hi Mike,
      In standard NAV you will have to reopen the transfer order, change the quantity on the lines to they match the quantities that have been shipped/received and then delete the transfer order.
      I am saying ‘standard NAV’ since if you are doing a lot of shipments where the quantities sometimes are below and sometimes are above then it is common to modify the system to allow shipping tolerances (either by doing a customization or using an add-on). Same applies to sales orders.

      /Olof

      • Kris
        · Reply

        August 1, 2016 at 11:24 AM

        Hi,

        Do you have to change the quantities before you delete the document? We just delete the orders after deleting the corresponding warehouse activity documents (we use “wms”). The quantity that is posted => shipped/invoiced should not be affected by this.

        /Kris

        • Olof Simren
          · Reply

          Author
          August 1, 2016 at 11:52 AM

          Hi Kris,
          You are right, you can probably just delete the entire transfer order without first changing the quantities.
          Good point, thanks for you comment. I guess I was thinking of a custom solution. 🙂

          /Olof

  • Mitchell
    · Reply

    October 17, 2016 at 11:43 PM

    This blog is really cool. I have bookmarked it. Do you allow guest posting on your page ?
    I can write hi quality articles for you. Let me know.

    • Olof Simren
      · Reply

      Author
      October 19, 2016 at 8:27 PM

      Hi Mitchell,
      I don’t, my plan is to keep doing the posts myself. Thanks for checking though.

      /Olof

  • Daniel Lennartsson
    · Reply

    January 19, 2017 at 11:14 AM

    Hi Olof

    Have you experienced the problem were you are working with Lot Nr & Expiring Dates?
    In my case I have crated 2 Sales Orders with Assembly Orders (and assemble to order).
    I Create the Pick for the first Warehouse Shipment and pick Item with Expiring date = 10/10/2018
    I then Pick this to the To-Assembly Zone
    If I now want to create a pick for my second Warehouse Shipment I don’t get anything to pick from NAV because my second Lot has an expiring date later than the one in the Assembly Zone.
    As you can see this is a problem and I’m wondering if you have any experience from it?

  • Ron
    · Reply

    March 10, 2017 at 3:54 AM

    Hi, Olof.

    What if undo shipment is disabled in our process. what is the best way to return the shipment?

    Thank you!

  • Ming
    · Reply

    August 10, 2017 at 6:13 AM

    Hi Olof,

    Is it possible to only have “Take” Action Type (without “Place”) in the Warehouse Pick?

    Thank you.

    • Olof Simren
      · Reply

      Author
      August 16, 2017 at 7:44 AM

      Hi Ming,
      Not without making some kind of modification that ‘hides’ the place lines.

      /Olof

  • Citlali Chavez
    · Reply

    August 22, 2017 at 11:40 AM

    Hello

    I have a question when we are receiving truck orders NAV is saying “toe SL1564103 is packein Package P103257” but we are not packing we are trying to receive the truck orders, it just started happening for all truck orders, any idea why? and how can we solve it?

    Thank you very much for your time

    • Olof Simren
      · Reply

      Author
      September 12, 2017 at 9:32 PM

      Hi Citlali,
      Based on the message you are receiving I think you are using some kind of add-on or customization. I don’t have any ideas of what this could be.

      /Olof

  • Roberto
    · Reply

    September 8, 2017 at 5:27 PM

    I’m recently starting to use NAV WMS,
    It is possible to create 2 picking activities before shipping ???
    Something like staging,
    First step to take and place the goods and put it in a intermedary bin, and after a verification activity, then take and place the goods to final shipping bin ??

    • Olof Simren
      · Reply

      Author
      September 12, 2017 at 9:37 PM

      Hi Roberto,
      I don’t think so, the warehouse pick moves it to the shipping bin, if you want that to move it to something like a staging bin instead (and then to the shipping bin in a separate step) you will have to do a modification to NAV. Sounds like it would be fairly small modification though.

      /Olof

      • Roberto
        · Reply

        September 12, 2017 at 11:56 PM

        Hi Olof,
        Thanks a lot for your reply !!
        Any sugestion on how to Begin to design it ?
        It will be greatly appreciated !!

        • Olof Simren
          · Reply

          Author
          September 13, 2017 at 8:03 AM

          Maybe add a ‘Shipping Staging Bin’ to the Location Card, then change the logic of the warehouse picks to use that one on the ‘Place’ lines.
          For the second step you probably want to do some kind of warehouse movement or reclassification.

          /Olof

  • Trushar
    · Reply

    December 19, 2017 at 4:35 AM

    Hi Olof,

    Good Reference matirial.

    However I am interested in process of picking product and loading it in to Van or Trolly(like DHL) to deliver it to customer’s door step.

    In NAV, Where could I see all Trolly loaded with number of Quantities OR any module where i can Register number of Quantities delivered in VAN.

    • Olof Simren
      · Reply

      Author
      December 23, 2017 at 10:37 AM

      Hi Trushar,
      If you are referring to packages and tracking what items that goes into what package, then that’s typically solved with either customization or an add-on (there are a lot of them for this).
      If you are loading trucks with items then a truck can be a ‘warehouse shipment’, I have customers that are shipping and loading trucks that way and this method works well (that was kind of the intention of the warehouse shipment functionality when it was introduced back in the days). What you can do is to prepare a truck load by creating a warehouse shipment and fetching the orders that will be loaded onto the truck, then you create pick(s) to gather the products. When the truck shows up it gets loaded and the warehouse shipment gets posted.

      Hope this helps.

      /Olof

  • Tarek
    · Reply

    February 23, 2018 at 3:32 AM

    Great article Olof.

    I’m also some serious worries when having to print critical documents from volatile document such a Warehouse Shipment.

    I’m currently working on a project where I’ve been asked to create a packing list from there Warehouse Shipment,
    where we could potentially get multiple order on one shipment.

    My question is how can I reprint a packing list after the Warehouse Shipment is posted,
    imagine a technical printing problem arise or I post my Warehouse Shipment before the packing list was printed.

  • joey
    · Reply

    March 11, 2019 at 10:41 PM

    if my warehouse shipment not yet post , can i unregister the pick item ?

    • Olof Simren
      · Reply

      Author
      April 4, 2019 at 8:25 AM

      Hi Joey,
      You can delete the warehouse shipment and manually move the inventory back to where you picked it from.

      /Olof

  • Malcolm
    · Reply

    March 20, 2019 at 3:04 AM

    Hi Olaf,

    Thank you for the interesting read. I am not new to NAV but new to using the pick function, and seem to have some issues that I am unsure of.

    Mt scenario is as follows;
    Location has ‘Require ship’, ‘Require Pick’ and ‘Bin Mandatory’ on. The client tracks some items by lots with expiration dates, and they want to turn on reservations.

    When I create the warehouse shipment from my SO, and then try create the pick, I always get an error that there is nothing to handle, and have spent many hours now trying to research that.

    If I use the same setups in my locations but turn off the ‘Bin Mandatory’ option, then it seems to work. Do I have to turn on advanced warehousing then to get this to work as needed or is there a different way for me to be able to pick with Bins without advanced warehousing?

    I am also wondering if I actually need the warehouse shipment part and should just try doing inventory picks instead.

    Thank you for your assistance on this, and thank you for your great blogs.

    Regards,
    Malcolm

    • Olof Simren
      · Reply

      Author
      April 4, 2019 at 8:24 AM

      Hi Malcolm,
      It should work as you have it configured, there should be no need to turn on advanced warehousing.
      There could be many reasons why your pick is not being created such as;
      – Picks already created for other orders for what you have in inventory.
      – Lots are expired.
      – Inventory reserved against other orders.
      – Inventory being in wrong bins.
      – Etc…
      Reviewing the data and potentially debugging is the way to determine why.
      Using warehouse shipment together with warehouse picks or just inventory picks is something that needs to be determined by the business requirements. If they don’t see a need for a warehouse shipment then I would recommend using it without to keep things simple.

      /Olof

  • Newbie
    · Reply

    April 2, 2019 at 10:16 PM

    This sounds easy but would rather get other views on how to deal with this in Business Central/NAV. Needing to create pallets with eaches on them direct from manufacturing. Items are being made for a specific customer and I’ll need a label with unique pallet number. I saw the idea about using lots but I was hoping BC had some other feature I can use instead of lots incase we want to use them later for their intended purpose… Olof some good reading from you !

  • meemz
    · Reply

    June 1, 2019 at 7:01 AM

    Hi Olof, this is a great blog post amongst many of yours thank you!

    I have a question though, we are using Option 4, i.e. Warehouse Shipments and Warehouse Picks. On our Sales orders there is a mixture of physical stock items and also non stock items like freight and GL account lines. The freight lines are actually Items of Type=Service.
    The problem is when we Post the Warehouse Shipment as Ship and Invoice we would want the Sales Order to completely post all the lines, however it only posts the physical stock lines that were on the warehouse shipment. Added to this, for some reason when the Warehouse Shipment posts, it also blanks all the GL and Service item lines Qty to Ship and Qty and Invoice fields on the sales order. This becomes quite frustrating as we then need to go back to each sales order and repopulate the Qty to Ship and Qty to Invoice fields.
    Do you know if this is a bug?
    I have tested this in Cronus NAV 14.0.29530.0 with the same problems which is one of the latest releases so cant really understand why this would be by design?

    • Olof Simren
      · Reply

      Author
      June 4, 2019 at 5:23 AM

      Hi Meemz,
      This is how standard NAV/BC works. You will have to change the code to have the system also post the other lines on the order at the time of posting the warehouse shipment. I have done that a lot of times. Typically you will have to decide what to do if you ship partials; like should the freight be posted during the first or second shipment if you do a partial.

      /Olof

  • meemz
    · Reply

    June 5, 2019 at 2:23 AM

    Thanks Olof, ok yes we will have to do a modification to post the order lines. For this scenario, they want the freight lines posted in the first shipment. Where there are any backorders, there is usually not any additional freight charges.

  • Niklas Oleg
    · Reply

    June 14, 2019 at 8:33 PM

    Hello Olof!

    Thanks for a great blog!

    We are currently on option 3 in business central online but when choosing post and print on a warehouse shipments with multiple source-documents, I only get the shipment document on one of the documents. For example, when I post four diffrent source documents to four different customers I want all the documents to be printed separately, insted I just get one of them.

    Why can that be? Am I missing a standard setup/function in NAV/BC?

    Have a great day!

    • Olof Simren
      · Reply

      Author
      July 5, 2019 at 7:58 AM

      Hi Niklas,
      This sounds like a bug to me, I would recommend getting with your Dynamics partner and have them look into this.
      As far as I know you should the printout for each of the shipments.

      /Olof

  • Stuart
    · Reply

    March 30, 2023 at 9:10 AM

    Hi,
    We have customers that require details of the delivery note (shipping note) to book in delivery, they then give us a delivery date and use the Shipping note number (ssxxxxxx) as a reference. If we create the Shipping note by posting the WH Shipment it posts and prints with whatever date we give it (or today). Because it is posted the items are now “despatched”, not on stock and will be invoiced, but they are still in the warehouse until the boking in date given by the customer. How can we get the shipping note information printed for the customer without posting the Warehouse shipment? If we could we could amend the shipping date to the actual date given by the customer and the stock, and invoicing would have the correct timings of creation. Have you seen this before/
    thanks

  • John Sewagaba
    · Reply

    October 1, 2025 at 8:14 AM

    Hi Olof,

    Greetings to you in the name of JESUS Christ.

    I have followed through your blog in regard to WMS on NAV/Business Central, and was intrigued to ask if it is possible in advanced warehouse configuration to exclude picking of all LOT Nos that are to expiry in 3 months from the date of creating warehouse pick

    Will appreciate your guidance.

Leave a Reply

Your email is safe with us.
Cancel Reply

Subscribe to My Blog via Email

Check Out Our Apps in AppSource

My Dynamics NAV Partner

Naviona, LLC

Categories

  • Assembly (3)
  • Development (35)
  • Finance (14)
  • General (28)
  • Inventory (24)
  • Manufacturing (36)
  • Miscellaneous (27)
  • Purchase (9)
  • Sales (11)
  • Warehouse (7)

Tags

.net Add-in AI AppSource Assembly Assembly BOM Business Central CAL Capacity Consumption Contact Copilot Costs Customer Development Dimensions Excel Finance Flushing General Ledger Inventory Item Item Tracking Low-Level Code MRP NAV 2015 NAV 2016 Output Planning Production Production BOM Production Orders Purchase Orders Receipts Reporting Reports Routing Sales Sales Order Stockkeeping Unit Subcontracting Task List Warehouse Warehouse Shipment Work Center

Recent Posts

  • Business Central Configuration Audit using Vibe Coding
  • Copilot in Planning Parameter Worksheet
  • Copilot in Planning Worksheet
  • Copilot Inventory Queries
  • Record Deletion Tool for Business Central in AppSource
  • Reopen Finished Production Orders
  • XML Buffer and CSV Buffer Tables
  • Functionality Improvements in NAV 2017
  • Reversing Production Output and Consumption
  • Return Merchandise Authorization (RMA)

Categories

  • Assembly
  • Development
  • Finance
  • General
  • Inventory
  • Manufacturing
  • Miscellaneous
  • Purchase
  • Sales
  • Warehouse

Contact Us

We're currently offline. Send us an email and we'll get back to you, asap.

Send Message

Categories

  • Assembly (3)
  • Development (35)
  • Finance (14)
  • General (28)
  • Inventory (24)
  • Manufacturing (36)
  • Miscellaneous (27)
  • Purchase (9)
  • Sales (11)
  • Warehouse (7)

Tags

.net Add-in AI AppSource Assembly Assembly BOM Business Central CAL Capacity Consumption Contact Copilot Costs Customer Development Dimensions Excel Finance Flushing General Ledger Inventory Item Item Tracking Low-Level Code MRP NAV 2015 NAV 2016 Output Planning Production Production BOM Production Orders Purchase Orders Receipts Reporting Reports Routing Sales Sales Order Stockkeeping Unit Subcontracting Task List Warehouse Warehouse Shipment Work Center

Recent Posts

  • Business Central Configuration Audit using Vibe Coding
  • Copilot in Planning Parameter Worksheet
  • Copilot in Planning Worksheet
  • Copilot Inventory Queries
  • Record Deletion Tool for Business Central in AppSource
  • Reopen Finished Production Orders
  • XML Buffer and CSV Buffer Tables
  • Functionality Improvements in NAV 2017
  • Reversing Production Output and Consumption
  • Return Merchandise Authorization (RMA)

Recent Comments

  • Olof on Business Central Configuration Audit using Vibe Coding
  • Andrew Trayfoot on Business Central Configuration Audit using Vibe Coding
  • Barrett Allen on Reopen Finished Production Orders
  • Kateryna on Business Central Configuration Audit using Vibe Coding
  • Takeshi Setoya on Reopen Finished Production Orders
  • Steve on Consignment Inventory
  • Olof Simren on Copilot in Planning Worksheet
  • Omaer Amjad on Copilot in Planning Worksheet

© 2026 · Olof Simren

  • Home
  • About Me
  • Contact Me
  • Downloads
  • White Papers
  • Web Sites
  • Post List
  • Articles
  • FAQ
Prev Next