TL;DR
A wave template decides when work is created, in what batches, and whether a person sees it first. One template for a mixed building means parcel, pallet and line-feed work share a rhythm — and one field on it decides whether a wave that cannot reserve inventory fails loudly or quietly puts the stock in a blank location.
One wave template, or four? What wave design says about your building
Count your wave templates for one warehouse. That number is a statement about how many distinct operating rhythms your building has, and if it is one for a building that ships parcels, pallets and line-feed, you are running three operations on one clock.
The template is the rhythm, and one field on it decides whether failure is loud
A wave template [GA] decides when work gets created, what gets batched with what, and whether a human sees the batch before the scanner does.
Wave templates (ms.date 2026-06-22) states the job in its first line: it sets "the criteria that determine whether waves are processed manually or automatically, and the work that is generated for a warehouse when a wave is processed."
There are three Wave template type values, and they are exact:
- Shipping — "shipping items for sales orders, transfer orders, and outbound shipment orders"
- Production orders — "to move items for production orders"
- Kanban — "to move items for kanban orders"
One precision note, because the two pages differ by a letter: this page lists the value as Production orders, while warehouse configuration overview writes it singular. The field-value list above is what the form shows.
The consequence for the walk is direct, and it is the pillar's argument arriving one level down: "When a wave is processed, the system creates picking work based on the work template and location directive specified for the warehouse."
First match wins, and a broad template is greedy
The sequence rule is the one that quietly defeats good intentions:
"The order in which the system evaluates the templates. This order determines how the templates are matched to released lines on sales orders, production orders, and kanbans. When a line is released, the system applies the first wave template whose criteria the line meets. The broader the criteria, the more likely a line is to meet them, so put the templates with the most specific criteria at the top of the list."
A permissive template near the top absorbs work the specific templates below it were written for — and the symptom is a template that never fires.
The scoping field is Warehouse selection, with three values — All, Warehouse group, Warehouse — and All has a definition worth reading twice: "Use the wave template for all warehouses where a more specific wave template hasn't been assigned."
Reordering is done with Move up and Move down on the Action Pane, and Validate template checks "that the wave template settings are valid."
Seven fields decide whether a person sees the work first
This is where "one template or four" stops being philosophy. Each is a separate decision, and on one template they compound.
- Automate wave creation — "automatically create a wave when an order or kanban is released to the warehouse"
- Assign to open waves — "automatically assign lines to an open wave when the lines are released"
- Process wave at release to warehouse — "automatically process the wave and create work when a line is released to the warehouse"
- Process wave automatically at threshold — Processes the wave when it reaches the weight, shipment and line thresholds
- Automate wave release — "automatically release the wave. The picking work is created and made available on mobile devices"
- Automate replenishment work release — Creates demand-based replenishment work and releases it
- Continue wave processing when work creation fails — Section 5. This is the one to read
Microsoft distinguishes the two ends plainly. Under Manual processing, "The line is added to a wave, and the inventory is reserved. However, you must select Process on the All waves list page to create the picking work for the order."
Under the other, "a wave is created that includes the line from the sales order, production order, or kanban when a sales order, production order, or kanban is created. The items are deducted from on-hand inventory, and the picking work is created."
The partial case is where most real buildings live, and Microsoft's example is promise-based: if you tell customers an order placed by 12:00 PM ships within 24 hours, "you can set up the wave template to automatically assign order lines to an open wave until 12:00 PM. At that time, the wave is automatically processed."
Three thresholds, and one of them only works for shipping
- Wave weight threshold — "Enter the maximum weight a wave can contain"
- Shipment threshold — "Enter the maximum number of shipments that can be included in a wave"
- Line threshold — "Enter the maximum number of lines that can be included in a wave"
The scope condition matters if you were planning to use thresholds for production work: Process wave automatically at threshold "is only active if Shipping is selected in the Wave template type field."
On methods, two constraints are published. Wave methods "are predefined for each type of wave template. You can't remove the predefined wave methods." But you can reorder them and add more.
The switch that decides whether a failure is loud or silent
Read this field's definition slowly, because both settings are defensible and they produce opposite operations:
"Continue wave processing when work creation fails - When set to Yes, the system uses a blank location if it can't reserve inventory at the location proposed by the location directive (for example, because the inventory is no longer available). When set to No, the wave fails if the system can't reserve the inventory."
Yes keeps the shift moving and hands a picker work with no location on it. No stops the wave and makes somebody look at it.
Neither is wrong. What is wrong is not knowing which one you are running, because they produce completely different mornings.
Note what the Yes path means for everything the pillar argued. The location directive proposed a location, the reservation failed, and the wave carried on — so the walk your picker gets is not the one the configuration described.
What your supervisor actually sees when a wave fails
If you set that field to No, somebody has to find out. The mechanism is a notification policy, and wave execution notifications (ms.date 2022-08-09, updated_at 2025-10-03) documents it: the feature "uses business events and the Action center to deliver notifications that are related to wave execution."
Three steps are stated, and the third is the one that connects the other two. Process waves in batch must be Yes on the Wave processing FastTab of Warehouse management parameters. A policy is created at Warehouse management > Setup > Waves > Wave notification policies, with Send notification on set to a value such as Error only and a To role. And then — the step it is easiest to stop before — the policy is selected on the wave template itself: "On the General FastTab, set the Wave notification policy field". Configure the first two and skip the third and you have a policy nobody points at, which fires nothing and looks configured.
Microsoft's own Note on the role choice is worth following: its example uses System administrator "for the sake of simplicity", and it says that "in practice, you should usually select a more specific role to notify about wave batch execution errors, such as Warehouse manager."
Now the part that decides how useful this is. Microsoft publishes the message a recipient gets:
"Error during wave execution An error occurred while executing wave USMF-000000001. Last messages: No Work was created for Wave USMF-000000001."
That tells a warehouse manager a wave failed and which wave. On that example message it does not name the location directive — chapter 6 is where that gets diagnosed.
One honest note: this page's ms.date is 9 August 2022, the oldest source cited here.
How we optimize wave design, and where we would draw the line
Pick-Path & Slotting Optimizer decides which orders should travel together and writes that grouping back into the wave and cluster objects Dynamics 365 already executes, behind an approval step. Dynamics is the system of record for the warehouse; the batching decision above it is a modelling problem.
A working demo exists; it is not off the shelf. We build it against your systems and your constraints on request, and we have no delivered warehouse engagements — so this is a capability, not a report on somebody's building.
Wave design is where that lands: the wave decides what shares a trip before any sequencing runs.
We would not set your failure switch for you. Yes and No encode a real operational preference about whether a shift keeps moving or stops, and that belongs to whoever answers for the shift.
We would also not write into a template whose sequence we have not read. A write into a template that a broader one shadows is a change with no effect, reported as a change.
What to do this week
- Count the templates for one warehouse, and read them in sequence order. Warehouse management > Setup > Waves > Wave templates. If the top one has the broadest query, everything below it is decoration.
- Find the work-creation-failure field on each template and write down its value. It is the difference between a stopped wave and a blank location, and it is set per work order type — so one template can stop and another carry on in the same building.
- Check whether a notification policy exists and which role it points at. If the role is the system administrator, the person who can act on a failed wave is not the person being told.
- Ask what your real cut-off time is, then look for it in a template. If the promise exists in sales and not in the configuration, the configuration is what runs.
About Cognilium Cognilium is the AI optimization layer for Dynamics 365 — complementary apps that optimize the pricing, inventory, warehouse and planning decisions your ERP manages but can't optimize. Built on Power Platform, Dataverse and Azure. https://cognilium.ai · https://www.linkedin.com/company/37180269/
If you are redesigning waves, book a fifteen-minute call and we will read your template sequence with you — what each one absorbs, and what happens when work creation fails. No deck. https://cognilium.ai
Sources
Sources
Share this article
The methods behind the articles — slotting, batching, routing — and the data each one needs.
Mudassir Marwat
Founder & CEO, Cognilium AI
Mudassir Marwat
Founder & CEO, Cognilium AI
Mudassir Marwat's argument is that ERP systems record decisions they never optimise.
