Posted on behalf of Lars Frandsen.
Many distribution centers are seeing order profiles trending toward smaller orders with fewer lines, and lower quantities per work line. This leads to distribution centers being tasked with the piece pick process, which is also known as broken case or less-than-case picking.
The piece picking process is one of the most complex and labor-intensive processes for picking orders. To reduce travel time in the warehouse, multiple orders can be grouped into small batches.
Usually the picker will use a multi-tiered picking cart, and maintain a separate tote or carton on the cart for each container on a sales order.
In Microsoft Dynamics AX 2012 R3, cluster picking functionality supported the piece picking operations described above.
To support a piece picking operation zone in the warehouse, the work order needs to match the content of a tote or carton
This blog describes how to utilize the containerization wave method to calculate the type of container that will be needed, the items and quantities that go into each container, and the number of containers needed for each sales order. This blog will also outline the process of combining the containers with work breaks to create picking work for each tote or carton on the cart, and then group the work into pick clusters.
Different piece picking methods can be selected to reduce the cost of each type of picking operation. This blog does not provide an exhaustive list of piece picking methods. They can be found by searching the Internet for piece picking methods.
Depending on the source, you will find that the terms cluster picking, batch picking, multi-order picking, and cart picking are used interchangeably.
This blog uses the definition of cluster picking that can be found in this publicly available white paper, on this website, and in this compendium.
A blog post on containerization has been created, it is expected to be familiar with the area:
Other details about the topics that are covered in this post can be found by using the following links:
Set up containerization [AX 2012]Read: http://technet.microsoft.com/EN-US/library/dn553190.aspx
Create a wave template [AX 2012]Read: http://technet.microsoft.com/EN-US/library/dn553177.aspx
Set up cluster picking [AX 2012]Read: http://technet.microsoft.com/EN-US/library/dn553213.aspx
Create a work template [AX 2012]Read: http://technet.microsoft.com/EN-US/library/dn553184.aspx
Set up filters and filter groups [AX 2012]Read: http://technet.microsoft.com/EN-US/library/dn553176.aspx
Contoso DC distributes goods directly to a chain of retail stores. The retail stores must order full cases.
However, Contoso DC also manages the fulfillment of orders received from the chain's Internet shop. The typical customer in the Internet shop is a consumer, and the order profile is typically a sales order with a few lines and less-than-case quantities. Therefore, Contoso DC has dedicated an area of the warehouse to the picking and packing of these orders. The cluster picking method is used in this area.
Contoso DC sells electronic parts, including computer parts that are easily damaged. Computer parts need to be picked with care into separate boxes.
At the same time, Contoso also sells other products that are packed into standard cardboard boxes.
Before starting the scenario, make sure that you have a warehouse that is set up to use Warehouse management processes, and all related setups are in place so that a sales order can be released to warehouse and work can be created. Entities such as a wave template, work template, mobile device menu structure, and so on, will be updated in this scenario.
The setups for this scenario include the following:
We will complete these steps, and then test that we can create a sales order and that work is created as expected (step 1 through 4). Then we'll create cluster picking structure using the mobile device and to complete scenario (step 5 and 6).
To open the Filters form, use the following path: Warehouse management > Setup > Filters > Filters.
Items must specify physical dimension as well as filter codes. Add two codes to the Code1 filter field, as shown in the following illustration.
Note: Remember to set up a filter wildcard in Warehouse management > Setup > Warehouse management parameters before attempting to set up filter codes on products.
Filter codes for products are set up under Product information management > Common > Released product > Warehouse management FastTab.
We then find or create products accordingly. You will start from the Released products list page. To open the list page, use the following path: Product information management > Common > Released products.
We will need to configure three products for the scenario, as described in below table. You can use existing products or create new products as appropriate.
Physical Dimension (Width, Depth, Height)
Filter Code 1
HDMI Cable 6'
1 x 1 x 1
HDMI Cable 12'
2 x 1 x 1
The filter codes for the products are set on the Warehouse Management FastTab.
The physical dimensions button to open the dialog is located on the Manage Inventory tab.
Finally, add on-hand quantities of these items in your warehouse.
Moving on to set up the boxes to pack goods in, the packing container will use following settings.
Physical Dimension (Length, Width, Height)
5 x 2 x 2
All of the boxes used in this example have the same size and weight properties. We define one type of container to represent this.
The tare weight of the container is 1, and it can hold a maximum weight of 21. Note that when entering data on the form the "Containerization maximum volume" field is not auto-populated. For this example we'll enter the maximum value of 21 (LxWxH). To open the Container type form, use the following path: Warehouse management > Setup > Containers > Container type.
Containers are logically grouped into container groups. We'll need one container group for this example. A piece pick container can only be filled to 50%. Transportation is hard on the items, and they want to make sure they have plenty room for bubble wrap and other forms of protective packaging.
To open the Container groups form, use the following path: Warehouse management > Setup > Containers > Container groups.
Enter the values as shown in the illustration above, and then click Close to close the form.
Container build templates are used as rules for the containerization process when creating work. For example, they're used as inventory mixing rules and other packing strategies. To open the Container build templates form, use the following path: Warehouse management > Setup > Containers > Container build templates.
Again, we need only one template for this scenario. The setups are the same for all items.
Note the Wave step code (1). This is a crucial value for linking this template to the wave template that we use to create work.
Sorting on this form is used to group the sales lines before applying the settings on the container build template. The temporary work transactions are correctly grouped when the wave is processed, which is the key to success when working with containers.
For this simple example, we will first sort the temporary work transactions using the field Code 1 in the warehouse item table, the field Shipment ID on the temporary work transaction, and then by Location. The sorting controls the optimal creation of containers.
In the Container build template form, click Edit query. Configure the query as shown in the illustration below. Do not change the default values on the Range tab.
We can now specify how we want the containers to break. Because we need to place the sensitive items in separate containers, we need to break by Filter Code.
In the Container build template form, click Mixing Logic Breaks to open the and create a new break by assigning filter Code 1, as shown in the illustrations below.
Close the dialog boxes and the form. We have now completed our setups for containers.
To invoke the wave containerization logic you need to add the containerization method to the wave template. This is where the Wave step code (1) assigned to the Container build template above is put to use. Select the shipping wave template for your warehouse, and update it as shown below. To open the Wave template form, use the following path: Warehouse management > Setup > Waves > Wave templates.
Now we can update the work template. As with the container build template, we will group and break the work that is created so that each contanier is linked to one work order header. In other words, we must break work into each seperate container.
First, find the work template that you use for sales orders in your warehouse. To open the Work templates form, use the following path: Warehouse management > Setup > Work > Work templates.
Click Edit query and create sorting by Container ID, as shown in the illustration below. Do not change the default values on the Range tab.
After the sort order is defined and the query is saved, the Work Breaks button is available on the Work template form.
Set up the grouping as shown in the illustration above. Make sure to select the Group by this field check box.
We're almost there! We now only need to configure a menu item for the mobile device so that we can use the device for cluster picking processes in our warehouse. To open the Cluster profiles form, use the following path: Warehouse management > Setup > Mobile device > Cluster profiles.
First we'll create a cluster picking profile using the values shown in the illustration below. You can define sorting for the cluster profile by clicking Set up cluster.
Close the Cluster sorting and Cluster profiles forms.
This cluster profile must be associated with a mobile device menu item that is configured to use existing work. To open the Mobile device menu items form, use the following path: Warehouse management > Setup > Mobile Device > Mobile Device Menu Items.
Create a menu item for Cluster Picking. Use the cluster profile that we just created, and the remaining settings as shown in the illustration below.
Finally, we need to add this menu item to the main menu for the mobile device. This will enable the warehouse worker to perform cluster picking. To open the Mobile device menu form, use the following path: Warehouse management > Setup > Mobile Device > Mobile Device Menu.
Now we can test the setup and execute the scenario. The sequence is as follows:
After step 6 has completed, the cartons are ready to be shipped.
First, create a sales order with three lines, as shown in the following table.
Reserve and release the order to the warehouse. Here's a tip. If you set the reservation to 'Automatic' on the Accounts receivable parameters form, you don't have to reserve each of the lines manually. This will save some time when you test your setup.
So what should happen? Our containers can hold physical dimensions 10 and weight 10, so we expect the breaks to split this into four containers.
Max Weight: 10
Max Physical Dimension: 10
Product: Mobile PhoneQty: 8Total Weight: 16Total Physical Dimension: 8
Break into 2 containers: Qty: 5 + Qty: 3
Container breaks by filter code, the items cannot be mixed in same container
Product: HDMI Cable 12'Qty: 7Total Weight: 7
Total Physical Dimension: 12
Break into 2 containers: Qty: 5 + Qty: 2
These items have same filter code and can be mixed
Product: HDMI Cable 6'Qty: 5Total Weight: 5
Total Physical Dimension: 5
Qty: 5Mix with Qty: 2 from above
Let's verify that work and containers are created accordingly. First, open the Shipment details for the sales order. This can be done from any of the order lines, as shown in the illustration below.
The container structure is displayed on the Transportation tab.
We expect to have one work header for each container. You can view this on the Shipments form by clicking Work details on the Shipments tab.
Note: Because each item is stored in a different location, the last container must be picked from two locations. We want to optimize the picking process to avoid returning to the same location twice. In this case, we might have to revisit the location of product HDMI Cable 12', depending on how the work gets directed to the warehouse worker. To optimize this, we will use the Cluster picking feature.
Now we are ready to continue the next steps of the scenario. First we build the cluster picking structure (a set of boxes to pick to) and assign the work orders for each. Because you are trying this out in a test environment, you will have access to the work IDs directly in the rich client. You can copy the field value of the work ID and paste it into the mobile device.
Typically, the warehouse worker will not have access to the rich client. Instead, he or she will be using a handheld scanner to create the cluster picking structure. This can be done by scanning from a printed report, for instance the Work report.
Printing this report can be done via a batch job, so that all open piece picking work is available in the morning to start executing. Also, each of these reports can then be attached to or placed in the corresponding box and follow the goods throughout the remaining processes. To open the Work form, use the following path: Warehouse management > Reports > Work.
To print the relevant work on one page per container, use the Work report and set up the query to print only work that has not been started (work status: Open).
The report includes one page for each work order header.
With the work ID available, we can start building the clusters and performing the work. Open the mobile device and go to the menu item Cluster Picking. The steps in the cluster picking process are as follows:
To build the clusters you enter or scan the work ID for each box. In our case we have four containers and work IDs.
Click Done after assigning all positions.
At this point the cluster picking structure is created and can be viewed by using the following path: Warehouse Management > Inquiries > Work clusters.
On the mobile device, the next screens will ask you to pick the items. Notice that the picking is done by location and not by work ID. In this simple example, we have sorted the locations by their ID in ascending order. This is highly customizable. Also notice that at some point we will be asked to pick all 7 of the HDMI 12' Cables and then sort them into two containers.
As the warehouse worker puts the items on the cluster pick cart, the positions must be validated to ensure that the correct quantities go into the correct box (this was enabled when configuring the cluster profile).
Notice that all picking work for this specific item is completed while the warehouse worker is physically at the location. The positions are in this case are equivalent to boxes that we pick items into. We confirm that five items go into Position 3 and 2 go into Position 5.
When we complete the rest of the picks, we will end up on the final put screen, where we are instructed to put all items at the Baydoor location.
After clicking OK, a message confirms that picking is completed for the cluster.
If you open the Work clusters form again you will see that it is empty. This is because all work has been completed. Click Show closed work to see the work we have completed.
Lars Frandsen, Senior software engineer
Karina Normann Jakobsen, Senior program manager
Thank you for the detailed walk-through.
Hi Lars and Karina,
You are exactly describing a scenario that is relevant to most Retail customers in these days and very common to omni channel retail. DC that supplies the Retail stores with goods (using carton quantities) as well as online store which generates sales orders as you describe with smaller quantities.
And you are correct, customers define a separate section of the warehouse that is purely used for online order fulfilment as it allows for broken carton quantities and uses different boxes for delivery to consumers compared to store deliveries. When implementing AX R3 with advanced WMS during the design process the issue that is most complicated is the replenishment of "dedicated area of the warehouse to the picking and packing of these orders".
How would you address the replenishment issue? The solution you describe starts after the goods have been moved from the DC to the dedicated area. We have setup picking and packing using containerization (manually) and it works perfect without any customization. What I can't figure out is how to get the goods into the dedicated area using the advanced WMS functionality. Constraints in the 'dedicated area' are:
- you don't have enough space to store all goods for a whole day of picking in that area; a requirement is to run multiple replenishments depending on the online sales that are coming in during the day
- popularity of products sold through the online store changes frequently as it depends highly on current promotions run on the online store
The only solution I can come up with is to setup a second online warehouse with advanced WMS and replenish it through transfer orders. Unfortunately there is no way to use AX MRP out of the box functionality to create these orders. A customization is required to calculate the demand for the online warehouse.
I was wondering if it is possible to keep this within one warehouse? Ergo use the replenishment functionality within advanced WMS for the dedicated pick warehouse.
Hi Uwe! Thanks for the nice feed-back and I am really glad to hear you tell me the scenario is relevant in the Retail segment.
I am not sure I understand all the issues you are trying to explain to me.
Have you looked into the 2 demand based replenishment strategies we have. Load replenishment and wave replenishment to see if they are a fit. They will take into consideration the actual demand and not use min/max configuration?
I assume you are pointing out, that you would like to see a detailed blog on the various replenishment methods?
Let's say we use only one warehouse.
Firstly could you describe how the dedicated area in the warehouse is separated from the main inventory warehouse? Would you use zones for this?
The problem we discovered is that the advanced WMS uses reservations. We have stock in the dedicated online zone and this is suddenly reserved against a transfer order if there is no stock in the 'main' warehouse. If we use just zones to separate the work templates an error is generated that there is no stock.
We can't use min/max configuration as the composition of sales orders constantly changes, I agree with that.
When using wave replenishment the demand is not aggregated across the multiple sales lines. We end up with many replenishment requests for the same product. Is there are setting / configuration that would combine the demand quantity when a range of sales orders is released?
I believe there is some more work to be done on the MRP site of things as well. The MRP run should exclude the dedicated warehouse from its calculations.
Uwe + Marianne
hmmmm...I see your point with the reservations. You are correct a transfer order will reserve on all inventory dimensions above location and zone is not part of this game.
This means the use of zones will not do the trick here.
From AX point of view, the reservation needs to be in place, when the work order is created. Unfortunately the support we have for reserving as part of this process is somehow limited. It was extended for CU8, but we still have more work to do in that area.
The question is ofcourse if you client really needs the reservation early or if the fact, that you choose to reserve early is just a consequence of the lack of ability make reservation as part of work creation.
Might be a customization to consider for your client. I will not come with any enhancement in this area I the near foreseeable future.
If your customer wants the reservation established when the source document line is created, then this could speak to, that seperating the physcial warehouse into multiple logical warehouses is the right solution.
But this then also means, that you need to use MRP for replenishing your piece picking area.It is doable, but slightly cumbersome.
I am sorry, my knowledge of MRP is very limited, so I cannot speak to all the detailed setting.
But if we try to think out of the box, will it somehow be possible to mark some of the on-hand inventory for store refill and some of the on-hand inventory for replenishing the piece picking area?
If this was an option, the inventory status could be used for separation. Inventory dimension is above location in the reservation hierarchy and hence the transfer order would not be able to steal the inventory marked for the e-commerce business.
But it would mean, the reserve inventory would need different statuses if wave/load replenishment is used.
The stuff you bring up about the replenishment sounds like poor design to me. Please report this using our support channels.
The issue I see is requiring a warehouse worker to build the cluster. I want the cluster to be automatically built based on, for example, the next five orders released to the warehouse. I would like to drive this process by something off of the sales order header such as mode of delivery...something that might dictate cluster picking for UPS orders as opposed to single order picking for LTL.
Good reading. I have a question that is indirectly related. The system generates work based on the work break setup. Is there a way to then combine the work after the work has started. For example, the worker picks the items on the first work and then decides that he has more space on the target LP to pick the second work. I cannot find a way to keep using the same target LP. It seems like I should be able to combine the work (there is a combined work id on the work record. I just don't know how this is used).
I am implementing cluster picking. My work templates appear to be set up correctly. I am using 2 work templates, one for staging and one for sales picking. The system auto gens the cluster ID. When I try to enter a work ID against it I get the error on the RF side saying "current work is frozen". What am I missing here?