9 easy steps to designing advanced warehousing processes in Dynamics 365 Supply Chain Management
- Oleksandr Baranov
- Jun 30, 2022
- 10 min read
Updated: Nov 4, 2024

Implementing warehouse management module can be a daunting task. There are so many settings, process variations, new features to choose from. No wonder that the customers turn to experienced consultants to help them figure it out.
Contoso demo data was created to showcase multiple flows with various functionalities configured, so even if you try to use Contoso demo setup as an example for your own warehouse, sometimes it's hard to understand for an inexpirienced solution specialist, what part of the configuration is mandatory, and which settings extend the process too much for your local needs.
However, it is not that hard to configure a basic minimum for the warehouse management module to test or even to operate a small distribution warehouse.
With this article, I want to provide a checklist that allows someone not familiar with the warehousing module to start up with using WHS processes on a new environment in a short period of time. I will focus on building outbound and inbound flows and minimum setup needed. I will also cover potential questions you need to ask yourself or your business owners/superusers about the process to tweak or make it more complex and mature later.
1. "Must-have" prerequisites for warehouse processes - How to enable warehouse management processes in your environment.
There are two key elements to enabling warehouse management processes in an environment: items and warehouses. Only a combination of both warehouse and item enabled for warehouse management processes lets the process follow the advanced warehousing flows.
A warehouse has a parameter "Use warehouse management processes". It can be enabled manually when a new warehouse record is created. If the warehouse was created without that parameter or if you want to upgrade an existing warehouse to this parameter, you can use the Warehouse management -> Setup -> Enable warehouse management processes -> "Enable warehouse setup" page.
Storage dimension groups are a global entity that governs which storage inventory dimensions are available for an item. In addition, there's also a similar parameter "Use warehouse management processes". It means, that for an item to follow the advanced warehouse processes, it has to belong to a Storage dimension group that enabled this parameter. If you are upgrading your environment, you can use the Warehouse management -> Setup -> Enable warehouse management processes -> "Change storage dimension group for items" page. If you are using an environment with Contoso demo data, you can use an existing "Ware" storage dimension group for your items.
Keep in mind, in order to run the upgrade and use items in WHS process, you need to create also Unit sequence groups and Reservation hierarchies.
You can find more info here: Upgrade warehouse management from Microsoft Dynamics AX 2012 to Supply Chain Management - Supply Chain Management | Dynamics 365 | Microsoft Docs
Quick configuration reference:
Create a Warehouse and enable "Use warehouse management processes"
Create a Storage dimension group and enable "Use warehouse management processes"
Create a "Default" Reservation hierarchy (if no batches are used)
Create a "Default" Unit sequence group that will include your default inventory unit (Ea, Piece, etc.)
2. Configure the warehouse - Choose between manual control and automation
The "Warehouse" FastTab parameters are dependent on what decisions you make for the process. For example, are reservation and release to warehouse separate processes or the same at your company? Do you plan to consolidate shipments going to the same address into one? Do you want to re-pick a line that was un-picked from the shipment or automatically decrease line quantity and move it to backorder? If you want the most automated flow, I suggest enabling "Reserve when orders are released by a batch job" and "Reserve inventory at load posting", as well as "Decrement load line". This will remove the need to reserve available stock prior to release to warehouse (only if released by periodic operation or from the Load planning workbench).
Quick configuration reference:
Enable "Reserve when orders are released by a batch job" and "Reserve inventory at load posting", as well as "Decrement load line" on your warehouse(s)
3. Map your warehouse - Let the process drive locations and zones
Default receipt location is needed to support your purchase order receiving. This location represents your inbound area. Even if you have multiple inbound areas physically, you need to ask your business owners, if they need to track the movements through specific docks. Usually, it's easier to consider all inbound areas as one "virtual" receiving location. It's best to create a separate Receiving location type and Receiving location profile that must have "Use license plate tracking" and "Allow mixed items", "Allow mixed inventory batches" and "Allow mixed inventory statuses" parameters enabled even if you do not plan to maintain license plate tracking for storage (it might be used for receiving against ASNs, for example).
The following location types must be created (you can use any naming you like, I will refer to the purpose behind them) and set in the Warehouse management parameters: Staging, Packing, Baydoor (final shipping location). You will also need a User Location profile/Location type that will represent your warehouse worker users as each pick and put is recorded as an inventory transaction from and to a "user" location.
It is considered a good practice to use Zones to better map your warehouse. However, you need to be focused on the process and what it requires. If you do not plan to have more than one "bulk" area in your process, there is no real need to maintain complex mapping of your zones, and your processes can be mapped via Location directives to Location profiles or Location types, for example. Also, you need to create at least one Zone group if you are using Zones, as Zone group is a mandatory field.
You can find more info here: https://docs.microsoft.com/en-us/dynamics365/supply-chain/warehousing/warehouse-configuration
Quick configuration reference:
Create at least one Location format and set it to "text" limited to 20 characters
Create the following Location types and profiles:
User
Receiving
Stage (if needed)
Pack (if needed)
Baydoor
Set the recommended parameters on all profiles
Set the types and profiles in Warehouse management parameters
4. Find a place for special sub-processes - Label printing, containerization, quality checks, etc.
Now you can decide if you need any of the specific processes. Usually, each configuration decision you make must lead to a deliverable. For example, let's assume you need to create unique ID numbers for each outbound package. It could be an SSCC ID or another format suitable for ASN - advanced shipping notice that you need to send to your customers. Let's assume that you do need to have an SSCC ID for every outgoing transportation unit. Now, how granular do you need it? And how is it related to picking? The simplest scenario is where you are picking by pallets and every pallet must have this identifier. Then, if you want that number to be printed, you can configure license plate label generation for each picking work.
But Dynamics 365 Supply Chain Management can also support more complex requirements, for example, when you want to pick by pallets but need a unique identifier per box. Let's assume that this is your process. Now, finally, do you want this number to be printed on a label and attached to each box? If no, then perhaps automated containerization is a way to go. If yes, then look into wave label printing instead.
Both types of printing support out-of-the-box integration with Zebra printers by allowing you to configure labels in ZPL code. There are more options available using printing ISVs.
Quick configuration reference:
Configure document routing and document routing layouts for license plate labels, more info here: https://docs.microsoft.com/en-us/dynamics365/supply-chain/warehousing/document-routing-layout-for-license-plates
Configure wave label layouts, wave label templates, etc. for wave label printing, more info here: https://docs.microsoft.com/en-us/dynamics365/supply-chain/warehousing/configure-wave-label-printing
Configure container build templates for containerization, more info here: https://docs.microsoft.com/en-us/dynamics365/supply-chain/warehousing/wave-containerization
Configure wave templates to include necessary methods, more info here: https://docs.microsoft.com/en-us/dynamics365/supply-chain/warehousing/tasks/configure-wave-processing
5. LP or non-LP? That is the question - Decision if you are using license plate tracking in your regular storage areas or not can be crucial to the picking process
There are many pros and cons to each variant, and since this is governed by "Use license plate tracking" parameter on Location profile, you can keep an area of the warehouse where you track LPs and an area where you don't. Your nature of business could help you make a decision towards using license plates or not: for example, you are running highly regulated business operations, where it is imperative for you to track your goods down to each pallet and be able to trace the movements of the pallet in the warehouse and even outside (like food processing, pharmaceuticals, etc.). You need to stick labels with unique LP barcode on your storage pallets on receipt for this to be feasible. The label can be either autogenerated or pre-printed and imported into the system. You have more control over physical whereabouts of your pallets since movement, picking and adjustment can be done only by scanning the license plate on the mobile device application.
At the same time, you are restricted in what can be done in the warehouse. Inventory on the license plate can maintain only one inventory status, you have to specify/scan the license plate always when you move or pick it, and you cannot do it in the D365 rich client most of the times, you are required to use the mobile device application.
So, in some scenarios, especially when you are OK with automatic generation of license plates for outbound operations and do not need to label the generated IDs onto pallets physically, it's beneficial to keep picking locations non-LP controlled. Then you can design automation of work processing, pick easily from the rich client, maintain inventory status for partial quantity on location, etc.
Quick configuration reference:
Create a location profile "Bulk" where "Use license plate tracking" parameter is set to "No" (for easier picking without mobile device and/or work automation)
6. Incoming - Design inbound processes considering warehouse layout and your product's core characteristics.
Now, you need to think of how you sort the goods on receiving. Do you require unpacking, do you need quality checks, do you have any safety requirements, for example, storing flammables and explosives in separate locations? You need to consider, also, if your warehouse equipment can reach all locations or is there any zone available only for a specific equipment such as forklift.
Separate the areas in the warehouse using Location directives for putaway by a combination of Zones and Filter codes, and keep in mind that you can assign more than one filter code to an item and multiple additional zones to a location.
Quick configuration reference:
Create a Location directive for inbound put (for example, for purchase orders) directing the work to Location profile "Bulk"
Create a Work template and a Work class to support pick-put works
Consider using a Work policy removing putaway work creation to simplify processing (items will be placed into designated locations directly), more info here: https://docs.microsoft.com/en-us/dynamics365/supply-chain/warehousing/warehouse-work-policies
7. Outgoing - Design outbound processes in one step or multiple stages.
There are two main approaches to generating shipments/releasing orders to warehouse. One is where you either let the system to control how the waves, shipments and loads are grouped, or even stick to the simplest approach of 1 order/delivery address = 1 shipment = 1 load. Later, you can still consolidate shipments, move them from one load or wave to the next, but the initial release is done per order.
Another approach is when you have a dedicated team or a person to handle load planning; they review and decide how large is the delivery, or which route it should follow, ad hoc. If your users have to make decisions like this on line by line or order by order basis, consider using either the Load planning workbench or Release to warehouse pages. The difference between the RTW and LPW pages is that automated reservation is available for loads released from load planning workbench, while order lines released from Release to warehouse or Sales order details pages have to be reserved beforehand.
You can split outbound picking process in 2 or more steps; at first, you are moving goods from Bulk to Stage area (that's a dedicated physical area in your warehouse close to the dock) and, second, loading goods onto the truck (by moving from Stage to Baydoor location).
Quick configuration reference:
Create a Wave template for all outbound orders from your warehouse and enable the following parameters:
Automate wave creation
Process wave at release to warehouse
Automate wave release
Create a Work template and a Work class to support pick-put works and enable "Automatically process" parameter
Configure Automatic release to warehouse batch job to automatically reserve and release outbound orders to warehouse: under the above configurations, the available orders will be released and updated to Picked status straight away
8. Internal processes - Consider which internal operations are needed for your warehouse.
When managing your stock inside of a regular distribution warehouse, the following operations can be implemented: movements, counting and adjustments, replenishment, blocking, inquiries and reprints. The warehouse management module supports several types of replenishment, planned cycle counting, guided movements by the type of stock, etc.
However, the minimum required to start up is ad hoc movements and spot counting. Usually, adjustments are not recommended to implement in the mobile device menu because they are too easy to adjust the stock, but if you are confident in the competence of your warehouse workers, it is also an option. Counting, transfers, inventory status change, inquiries in on-hand inventory are supported both through the mobile device and the rich client. Reprint of existing labels is available through the mobile device only.
Quick configuration reference:
Create Work classes to support cycle counting and inventory movements
Create Mobile device menu items as described below
9. Going mobile - Turn your phone into a scanner
Mobile device support is provided via apps released to Google Play Store and Microsoft Store, so it can be installed on any device including desktops, Windows or Android tablets, Android phones or industrial-grade scanners also running on Android platform. In all the devices, the app behavior is consistent, while barcode scanning can be done by a camera (built-in function), USB or Bluetooth scanner handgun, built-in scanner, etc. This allows you to effectively use any hardware configuration you already have, without any real need to order new devices.
There are some prerequisites you have to complete in order to enable the mobile device service in Azure, more info on that here: https://docs.microsoft.com/en-us/dynamics365/supply-chain/warehousing/install-configure-warehouse-management-app. In this article, I'll focus on further steps getting it ready for live testing.
You need at least one menu that will incorporate several menu items. You need at least one worker created and attached to an employee record, where you'll default your new menu. It's best to enable all options on the worker except for the counting supervisor.
You need to create (at least) the following menu items and include them in the menu: spot count, movement, status change, item, location and license plate inquiry, reprint labels (if they are used); then purchase/transfer order registration and putaway and system directed work processing (for outbound picking if not automated).
Quick configuration reference:
Create default Warehouse app field names and Warehouse app field priority setup
Create a Mobile device menu, for example, "MAIN"
Create a Worker, set the MAIN menu on the worker
Create Mobile device menu items as suggested and add them to the MAIN menu, more info here: https://docs.microsoft.com/en-us/dynamics365/supply-chain/warehousing/configure-mobile-devices-warehouse
So, in the end you should have at least basic warehouse processes setup and working. After that, you can start testing and adjusting to you business needs.
I understand that it's a lot of information; hope it sheds some light on the module, and more newcomers will try to use it. If you need any details or explanation on specific processes, or simply want to dispute some of the suggested configurations, I'm open for questions and feedback. I will try to go into setting up and running specific processes separately in other articles.
Commentaires