# D365 Warehouse Wave Runs but No Work Is Created

> Source: https://netray.co/erp-help/dynamics-d365fo-wave-processing-work-not-created-fix
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: ERP Help

## Short answer

When a wave finishes without creating work, one of four things is usually wrong: the wave template has no Create work method, no work template matches the work order type, no location directive finds a pick location, or the inventory is not available at the warehouse locations. Open the wave processing history and work creation history first, because they state which step failed.

## Kind

error

## System

dynamics

## Erp

Microsoft Dynamics 365 Finance and Supply Chain Management

## Module

Warehouse management / Wave processing

## Query

D365 warehouse wave processing no work created

## Alternate Queries

- D365 wave released but work not created
- warehouse management wave processing failed no work
- D365 location directive no location found work creation
- wave step Create work failed D365 warehouse

## Applies To

Dynamics 365 Supply Chain Management with the Warehouse management module enabled, WMS-enabled items and warehouses. Same logic applies in recent one-version releases.

## Steps

### How to find why a wave created no work

**Items:**

Open Warehouse management > Waves > All waves, select the wave and read its status. Waves in Released or Executing status may still be processing; Failed or a hanging Executing points to batch problems.

Open Warehouse management > Inquiries and reports > Wave processing history (or the history on the wave) and read the message for each wave step, including Create work.

Check the wave template under Warehouse management > Setup > Waves > Wave templates: confirm the template has a method such as Release to warehouse, Create work and a wave step code for your work order type, and that it is for the right wave type.

Open Warehouse management > Setup > Work > Work templates and confirm there is a template for the work order type (Sales orders, Transfer issue, Production material, etc.) with query criteria matching the warehouse, work type and order.

Open Warehouse management > Setup > Location directives for the same work order type and verify there is a Pick directive with lines whose queries match the item, warehouse and quantity you are releasing.

Check the item is WMS-enabled: it needs a storage dimension group with Use warehouse management processes ticked and a reservation hierarchy, and the warehouse must be WMS-enabled.

Check on-hand under Inventory management > Inquiries and reports > On-hand list, looking at the reserved and available physical quantities at pick locations, not just the warehouse total.

Fix the template or directive, then rerun with Warehouse management > Waves > Wave processing, or process the load again from the load planning workbench.

## Sections

### How wave processing builds work

**Body:**

A wave is a container of shipment lines that a template processes through a sequence of methods. The usual sequence is to validate the wave, allocate and reserve inventory, create work, and release the work to the warehouse floor. The Create work method asks the system to turn each reserved shipment line into work lines, using the matching work template to decide the structure (pick, put, and any intermediate steps).

Work creation then calls the location directives to decide which locations to pick from and where to put. If a work template does not match, or a location directive returns nothing, the system cannot build the work lines and the wave ends without work, often with only a short infolog message in the processing history.

Understanding this order matters because the symptoms differ. If the reservation step fails, you see shortages. If work creation fails, the lines are reserved but nothing appears in the work list, and the quantity stays allocated until you cancel the wave or fix the setup and reprocess it.

### Work template and query mismatches

**Body:**

Work templates are matched by work order type and a query on the work header. A very common cause is a query that was built for one warehouse or work class and then no longer matches after a new warehouse or order type is introduced. The result is that no template is eligible and the system quietly creates no work.

Also check the sequence number on work templates. The system picks the first template that matches in sequence order. A catch-all template with a lower sequence and a restrictive query may intercept orders you intended for a different template, and a template without a valid work class for a pick line will be skipped.

When you test a change, use a single sales order line in a test wave rather than a big load. You will see which template and directive were chosen, and you avoid reserving hundreds of lines that you then have to unwind.

### Location directives and inventory

**Body:**

Location directives are queried per work order type and work type. A Pick directive needs at least one line whose query can return a location with available physical inventory, and the line must have Fixed or Variable quantity settings that make sense for the demand. If every directive line has a location query filtered by a wrong location profile, work creation fails with a message that no location could be found.

Inventory availability problems cause similar symptoms. Stock may exist at warehouse level but sit in a receiving or quality location that no directive reads, or it may be in a location that is blocked by an inventory status. A directive query that filters on inventory status Available will not pick it.

Reservation hierarchy also matters: if reservation is at the batch or serial level and the order does not specify one, the system may only reserve at a higher level, leaving the pick unable to resolve a location. Review the item's reservation hierarchy and the dimension above location settings together.

**Code:**

-- Wave and work creation history are shown in forms, but this lists recent waves in status Failed or Executing (read-only)
SELECT WAVEID, WAVESTATUS, WAVETEMPLATENAME FROM WHSWAVETABLE WHERE WAVESTATUS IN (4, 5);

### Batch and processing problems

**Body:**

Wave processing can run in batch. If the Wave batch group has no active AOS, or the Process wave batch job is held, waves sit in Executing and no work appears. Check System administration > Inquiries > Batch jobs for the wave processing jobs and look at batch server assignment.

For large loads, wave step timeouts can mark the wave Failed after partial work creation. In that case, do not just release the wave again. Cancel it, check what was created in Warehouse management > Work > All work, and rerun so you do not end up with duplicate or orphaned work lines.

## Pitfalls

- Editing a work template or location directive and testing on an already reserved wave without canceling it first.
- Assuming warehouse-level on-hand means the stock is pickable: it may be in a location type or status no directive reads.
- Putting a catch-all work template at a low sequence number so it intercepts orders meant for specific templates.
- Releasing a failed wave again without checking whether partial work already exists.
- Forgetting that the item must use a WMS storage dimension group and reservation hierarchy.

## Ai Angle

An assistant grounded in the warehouse data, such as ERPray, can take a wave ID and trace it: which template ran, which work template matched, which directive lines returned no location, and whether the stock sat in a non-pickable location or status. It reads the setup and history tables and shows the queries, so a floor supervisor gets a plain reason instead of a short infolog line.

## Faq

### Why does my wave show Released but there is no work?

**Answer:** Released only means the wave moved through its steps without a hard failure. If the Create work step found no matching work template or no location from the directives, there may be nothing to release. Check the wave processing history and work templates for the order type.

### Do I need a location directive for every work order type?

**Answer:** Yes, any work order type that creates warehouse work, such as sales orders, transfer issues and production material, needs location directives for the work types it produces, typically pick and put. Without them, work creation cannot find locations.

### Can I recreate work for a wave without releasing it again?

**Answer:** In many cases you can cancel the wave, fix the setup, and reprocess the shipment lines through a new wave. Check the shipment status and reservations first so you do not leave stock reserved against a canceled wave.

### Does this apply to production material picking too?

**Answer:** Yes. Production orders released to the warehouse use the same wave and work template logic with the Production material work order type, and need their own work templates and location directives.

## Search terms

D365 wave processing, warehouse management wave template, D365 work not created, location directive no location found, D365 work templates, wave step create work, Dynamics 365 WMS wave failed, release to warehouse D365

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
