Skip to main content

Setting Up Dynamic Replenishment

Set up Dynamic Replenishment in Logiwa IO: define product replenishment levels, see how open orders drive trigger and task quantities, and how the dynamic replenishment algorithm assigns target locations.

Overview

Dynamic Replenishment keeps enough of each product in your picking area to cover open orders plus a safety level. Instead of watching individual bins, Logiwa IO compares a product's demand with the free stock across all target locations, creates tasks for the shortfall, and then lets the dynamic replenishment algorithm decide which target locations receive the stock.


When to use it

Use Dynamic Replenishment when:

  • Demand changes from day to day or by season, and you want picking stock to follow open orders.

  • A product is picked from several locations rather than one dedicated slot.

  • You'd rather let a replenishment algorithm choose target locations than fix them per product.


Prerequisites

  • Products have a Min. Replenishment Level above 0 (Global or for the warehouse) and a defined Max. Replenishment Level that is higher than the Min. level.

  • Source and target locations have their Replenishment Location Type set.

  • One putaway algorithm is marked as the dynamic replenishment algorithm.

  • You can edit Products, Algorithms, Job Types and Wave Rules.


How Dynamic Replenishment calculates need

The calculation runs for each product, in the warehouse the wave runs for.

Supply = Target Location Free Qty + Open Replenishment Qty

Demand = Open Order Qty + Min Level

Trigger: Demand > Supply

Task Qty: Open Order Qty + Max Level − Supply

Term

Meaning

Min Level / Max Level

The product's Min. Replenishment Level and Max. Replenishment Level: the Global values, or the warehouse's own values when the product uses Per Warehouse

Target Location Free Qty

Free (unallocated) quantity of the product in all locations with Replenishment Location Type = Target. Damaged and missing inventory isn't counted

Open Order Qty

Quantity on Open and Shortage shipment orders that hasn't been allocated, picked or processed yet, including what's left on partially processed orders. Shipped, on-hold and cancelled orders aren't counted

Open Replenishment Qty

Quantity on Pending or Started replenishment tasks for the product in the warehouse

A product is skipped when its Min Level is 0, or when it uses Per Warehouse levels and the warehouse isn't listed.

Example 1: a task is created. Open Order Qty is 40, levels are Min 20 / Max 60, Target Location Free Qty is 25 and Open Replenishment Qty is 5.

  • Demand = 40 + 20 = 60. Supply = 25 + 5 = 30.

  • 60 > 30, so a task is created for 40 + 60 − 30 = 70 units.

Example 2: no task. Same product, but Target Location Free Qty is 50 and Open Replenishment Qty is 15.

  • Demand = 60. Supply = 50 + 15 = 65.

  • 60 isn't greater than 65, so nothing is created.

Source stock for the task is chosen as described in How Replenishment Chooses Source Stock.


How target locations are assigned

Dynamic tasks are created without a target location. Right after the wave creates them, the dynamic replenishment algorithm assigns one.

This algorithm is a regular putaway algorithm with Use this algorithm as dynamic replenishment algorithm checked. Only one algorithm can have this at a time; a default called REPLENISHMENT_ALGORITHM is provided, and you can customise it like any putaway algorithm. See Create a Putaway Algorithm.

How the algorithm picks a location

  1. Rules are tried from the top of the list down. The rule at the top has the highest priority.

  2. Conditions decide if a rule applies. A rule's conditions are checked against the stock being replenished (for example product group, client, LP type or source location zone). If they don't match, the next rule is tried.

  3. Actions decide which locations qualify. The rule's actions filter or prefer candidate locations, for example Check Location Capacity, Suggest a location that has the same SKU, Suggest an empty location or Product Group & Location Zone Match. To limit suggestions to picking locations, add Suggest a location with the selected replenishment type = Target to the rule. Without this action, the rule can also suggest locations that aren't Target locations.

  4. Order by ranks the candidates, for example by Walking Path Priority or Zone Priority.

  5. The first rule that finds a location with room wins. Lower-priority rules aren't checked. If no rule finds a location, the task is removed.

💡 Need is calculated only from free stock in Target locations. Stock the algorithm places in a non-Target location doesn't count as supply in the next wave, so the product may be replenished again.

Some locations are always skipped: locked locations, mobile carts, the task's own source location, and locations already tried with Allow Suggest Another.

Example:

Rule 1 applies to Product Group = Fast Movers and suggests a location that already has the same SKU, ordered by walking path priority.

Rule 2 has no conditions and suggests an empty location. A fast-moving product that already sits in A-03 and A-08 goes to A-03, which ranks first by walking path priority.

A product whose group isn't Fast Movers skips Rule 1 and goes to the first empty location Rule 2 finds. To keep Rule 2 to picking locations, add Suggest a location with the selected replenishment type = Target to it.

How the quantity is placed

  • Product tasks go to a single location that can take the full quantity. A location without a product capacity has no quantity limit, so the first suitable one takes the whole task.

  • Splitting happens only when target locations have a product capacity (Max Qty) defined and the rule uses the Check Location Capacity action. Locations are filled in the rule's order, each up to its remaining room, with one task per location. If together they can't hold the full quantity, the task is reduced to what fits.

  • Full LP tasks (with Only Replenish Full LPs on) are never split. The whole LP gets one target location.

  • No suitable location: the task is removed, and any job left without tasks is removed too.

Example: A task for 40 units is created.

  • No product capacity on the target locations: the first suitable location takes all 40 units.

  • A-01 and A-04 each have a product capacity with room for 20, and the rule uses Check Location Capacity: the task becomes two tasks, 20 units to A-01 and 20 units to A-04.

Soft allocation and Suggest Another

  • Soft allocation: with Enable Soft Allocation for Dynamic Replenishment on in the wave rule, locations already targeted by other open replenishment tasks count as occupied, so the same bin isn't overfilled. See Understanding Soft Allocation in Dynamic Replenishment.

  • Suggest Another: during execution, Allow Suggest Another runs the algorithm again for a new target, skipping locations already tried.


Step-by-step setup

1. Set replenishment levels on products

  1. Open the product and go to the Advanced tab, Replenishment Level section.

  2. Choose the Replenishment Strategy:

    • Global: enter one Min. Replenishment Level and Max. Replenishment Level for all warehouses.

    • Per Warehouse: click Add Replenishment Level, select the warehouses, and enter Min and Max for each.

  3. Click Save.

💡 To set levels for many products at once, see Bulk Importing Warehouse-Specific Replenishment Levels.

2. Set up source and target locations

  1. Navigate to Locations.

  2. Set Replenishment Location Type to Source on reserve locations and Target on picking locations.

  3. Click Save.

💡 No capacity assignment is needed for Dynamic replenishment's trigger. However, assigning capacities is essential if splitting task quantity is preferred according to the defined product limits.

3. Mark the dynamic replenishment algorithm

  1. Go to Automation > Algorithms and open the algorithm to use (or the default REPLENISHMENT_ALGORITHM).

  2. Check Use this algorithm as dynamic replenishment algorithm. Any algorithm previously marked becomes passive.

  3. Create rule sets by defining conditions, actions and order by settings.

  4. Click Save.

⚠️ When you check Use this algorithm as dynamic replenishment algorithm, the algorithm’s Force Suggested Location option is turned off and hidden, because it only applies to putaway. To keep operators on the suggested replenishment target, turn off Allow Scanning Another Put Location on the job type instead.

4. Create a Dynamic job type

Create a replenishment job type with Replenishment Type = Dynamic. See Create a Job Type for Replenishment for every setting.

5. Create a replenishment wave rule

Create a replenishment wave rule that includes the job type, and decide whether to turn on Enable Soft Allocation for Dynamic Replenishment. See Create a Wave Rule for Replenishment.

6. Confirm it works

  1. Open the wave rule and click Run.

  2. Check the created jobs. Each task should have a target location assigned by the algorithm.

  3. Open the Dynamic Replenishment Report to compare each product's need with what was created.


Settings that work differently in Dynamic

All job type settings work with Dynamic. These behave in a Dynamic-specific way:

Setting

In Dynamic Replenishment

Batch Size

Maximum number of products in a job. Jobs are grouped by product

Allow Suggest Another

Runs the dynamic replenishment algorithm again, skipping locations already tried

Only Replenish Full LPs

The whole LP gets one target; if none is found, all its tasks are removed

Target Location Conditions (job type)

Disabled. The algorithm decides which locations can be targets


Common questions

Does Dynamic use location or LP capacity? Not to calculate need. When choosing targets, a product capacity limits how much a location can receive, but only if the algorithm rule uses the Check Location Capacity action. That's the only case where a task is split across locations.

Why did tasks disappear right after the wave ran? The algorithm found no suitable target location for them, so they were removed. Check the algorithm's rules and whether target locations have room.

Can different job types use different algorithms? No. One algorithm is the dynamic replenishment algorithm for all Dynamic job types.

Why wasn't a task created for a product that looks low? See Why Wasn't a Replenishment Task Created?

Did this answer your question?