Warehouse smart picking algorithm – How a dairy manufacturer optimized their warehouse operations with SAP Warehouse Management

The main objective of the current case study is to present the general principles that can be applied and contribute to the improvement of warehouse functionality. Multiple daily work processes take place in a warehouse, and for that reason, we are going to focus on a particular step: “The creation of transfer orders for an outbound delivery”. The creation of the transfer orders is the key process that not only contributes to the productivity of the warehouse but also plays a critical role in supplying the right products to the end customer on time.

Many companies seem to be organized, but this is not their actual image.  Multiple companies have major issues such as the delivery of the wrong products, wrong quantity that is being delivered, delivery of broken products, slow picking process during the collection of the requested products, and many other. Unfortunately, all these problems have one result: The waste of money. One solution for these types of problems is the correct way to create of transfer orders.

A leading company in the dairy industry requested our support in managing its warehouse. The pickers should be able to build pallets in their factory quickly and efficiently, without wasting time. In addition, they wanted things to be grouped in such a way that what was at the bottom was not a fragile product. The solution that we are going to describe has taken place in SAP Warehouse Management (WM) environment by StepOne S.A.


SAP Warehouse Management (WM) environment by StepOne S.A.


There are multiple strategies that a warehouse can use for the picking process. The picking process is the step where the products are being collected to supply them into the deliveries. The way that the collection takes place is based on the algorithm (set of rules) that creates the transfer order.

Normally the warehouse management system is based on the FIFO strategy (First In – First Out). This is also the strategy that leading companies in dairy production use, the principle of priority.

As you can imagine, for a company that produces edible items, the system must create transfer orders for the delivery in the best way. To avoid one of the issues that we mentioned above, a proper algorithm is required. 

The company has described the desired process of this step (transfer order creation) and based on this description and our considerable consulting, a new algorithm of “sorting and splitting” has been developed to achieve it.

Let’s have a high-level look at the new picking algorithm. The process will take place for each outbound delivery. The system based on the delivery requirements and the currently available stock elaborates 3 different types of picking:

  • Picking Intact Pallet
  • Picking Layer Pallet
  • Picking Carton


Picking Intact Pallet

The pallets are stored in specific storage locations, based on the customizing of the warehouse, and their collection has the following characteristics:

  • The system creates a transfer order and prints a picking list (a list of products that contains the customers’ demand) for the intact pallets. These actions take place for a specific delivery that contains pallets. The desired result for each pallet per storage type, that has been requested from the customer, is to be collected from the same person (picker).
  • If the pallets are more than one, the picking order is taking place based on the data of the storage. Customization has been configured based on the picking priority of each warehouses’ storage bin.
  • The picking strategy of the system is based on the FIFO strategy (First in – First Out), also known as “the older lot”. During the picking process, the user picks first the intact pallets and afterward any pallet based on “the older lot”.

Picking Layer Pallet

The picking strategy will be the same as the one we mentioned previously, based on “the older lot”. One more thing we must mention here is that the picking is taking place firstly from “picking bins” and afterwards from “storage bins”. Both types of bins must have the available stock that covers the requested customer desire. After the above determination, the system will do the packing and finally it will create the transfer orders (one transfer order per picking pallet). The sequence of the products that are being collected is the one that is going to be loaded on the pallet (imagine the first product, that the picker picks, goes to the bottom of the pallet – this could be a very heavy material and above it afterward might be placed a lighter product).

 The main concerns of the packing strategy that has been developed and is related to each transfer order of the picking layer pallets is as follows:

  • Stable pallets with a low center of gravity as much as it’s possible.
  • Intact pallets, avoiding lower layers to be compressed from higher layers for example based on the weight factor (the heavier must be on the lowest layer).
  • Tall pallets, as much as high they can be.

The distance that the picker must go through to compose the pallet is very important, but it comes 2nd in priority list.

Furthermore, the following features need to be considered during the algorithm creation:

  • Locations of Warehouses
  • Product distribution into the picking bins
  • Roundings that took place per layer type
  • Customizing of particular system / custom parameters
    • Special indicator for each material / group of materials for the layer
    • Number of cartons per layer
    • Height and weight for each type of carton
    • Max height of a pallet
    • Max weight of the last layer (top of the pallet)
    • Special indicators that can allow the overloading


The picking strategy algorithm:

Considering the above features, an algorithm has been developed in the system. Let’s have a look at it:

  • The system starts from the nearest path and tries to make as many pallets as it can. The material that the system tries to find is the one with the smallest layer index and the nearest collection point.
  • The remaining quantities that the system fails to compose in a pallet, leave them as open / pending.
  • The system continues in the next corridor to make as many pallets as can and the quantities which didn’t used for the pallet remain as open / pending.
  • With the above open / remaining / pending quantities the system tries to compose a pallet and the remaining quantities it leaves them as open/pending.
  • This logic continues for all the corridors of the warehouse room and then for all the other rooms of the warehouse including each time the previous one.
  • Finally, if any quantities have been left over outside of the pallet, the system combines them into one pallet of cartons. This pallet is being processed by the picker and it is the one which the picker decides if it will remain as it is or it is going to be distributed to the top of the other pallets. If the case is the last one based on the action of “human factor”, the picker must update the system with his actions manually.

Last but not least, we must mention also the following steps of the algorithm:

  • During the composition of each layer, calculations related to the height and weight take place.
    • If neither the height nor the weight has not exceeded the limits, new layers continue to be combined
    • If the height and the weight have exceeded the limits, then the system returns the top layer of the pallet and closes it.
    • Only if the height has exceeded the limits, then the system returns the top layer of the pallet and closes it.
    • Only if the weight has exceeded the limits, then 2 distinct cases exist
      • If the current layer of the material allows overloading, the system continues to build a new layer (with lighter material)
      • If the current layer of material doesn’t allow overloading, then the system returns the top layer of the pallet and closes it.


  • Additionally, during the layer composition, if the material gets out of stock or has reached the desired request of the customer, then the left-over open layer is going to be filled by a material that is at the same material group as the one we mentioned at the beginning. This only happens during the pallet composition in the same or different corridors.


Picking Carton

This category contains the open / remaining / pending quantities that cannot combine a pallet. On this occasion the following statements have been applied:

  • Transfer order created for all the open / remaining / pending quantities
  • The picking process will take place based on the picking priority of each warehouse’s storage bin.

Finally, those materials in which the customization is missing (for example the Special indicator for each material or the group of materials for the layer, etc.) will also be included in this type of category.


As we can see, the picking process is vital for a warehouse. A well-organized and smooth execution of this process is very important not only for the warehouse itself but also for the company. The costs that can occur might be disastrous based on the low speed of the collection of products.

In this article the warehouse builds every pallet with maximum products, including the minimum movement from the picker and all these have been prepared from the system automatically.

There are many ways for a company to face up and win in such matters. Every company has a different approach that depends on the desired results. For that reason, estimation and methodologies take the first place among the conversations to achieve the best results. Usually, the way products are stored in the warehouse is a crucial parameter for the design solution. Lastly, significant benefits can be reached with the proper product grouping, or the grouping based on the customers’ deliveries.

In conclusion, in order to strike a balanced solution for your warehouse’s daily processes you need automation mechanisms, as described above, that can be provided from SAP WMS and the experience of a consulting team such as StepOne S.A.

We are willing to share your concerns and help you find the best solution.

Do not forget that “time is money”.