Movements
How movements work in Helm WMS, how to create an Instant, Replenish or Delivery movement, how to split the work between people, and why publishing is the step that actually relocates your stock.
How Movements Work in Helm
A movement is a job that relocates stock inside your own warehouse. It records what should move, where it moves from and to, and who is carrying it out. Your total stock does not change: the same units simply end up somewhere more useful.
Movements live under Warehousing > Movements, and there are three kinds you can create:
Instant Movement: you decide what moves. Build it line by line, or use filters to sweep up a lot of stock at once.
Replenish Movement: Helm works the lines out for you from the replenishment settings on your locations, topping pick faces up from bulk storage.
Delivery: a put-away job for stock that has just been booked in, moving it out of your goods-in location and into storage.
Every movement carries a Movement Status that tells you where it stands:
Draft: still being built. Lines can be added, changed or removed, and nothing has been asked of the warehouse yet.
Ready: released for work and visible in the outstanding jobs list on the mobile app.
Partially Completed: some of the quantity has been moved and published, and some is still outstanding.
Completed: everything has been moved, or the remainder has been cancelled.
Example scenario: a fast-moving line is down to 15 units on its pick face while 400 sit on a pallet in bulk storage. A Replenish Movement builds the job for you, hands it to whoever is on replenishment that morning, and your pickers never reach an empty location.
Before You Start
Movements are built in the background, one at a time. Whichever route you use, Helm queues the job rather than building it while you wait, and only one movement creation job runs for your company at a time. If a colleague has just started one, Helm asks you to try again once it has finished.
Allocated stock cannot be moved. Helm only offers the stock at a location that is not already reserved for picking, and tells you the available figure if you try to enter more. A quantity that looks too low usually means an order has claimed those units.
A product can only be on one open movement per location. If that product at that location is already on a movement which has not been completed, Helm leaves that line out rather than refusing the whole job: the movement is still created from the lines that passed. Finish or delete the earlier movement if you need those units moved now.
Those two rules do not apply to a Delivery movement. A put-away job is built from what was received against the delivery, so neither the allocated stock check nor the open movement check is run on it.
Every line needs a destination before it can be worked. A line with no To Location has nowhere to go. The field on the line reads Set a Location until you choose one.
Replenishment has to be set up on the product first. A Replenish Movement is driven by the Stock Locations panel on each product: Source locations supply the stock, Replenish locations receive it, and Ignore locations are left alone. Set the Replenishment Level and Replenish Multiple through Edit Replenish Level, and set the Max Level you want each location filled to.
A Delivery movement needs goods booked in first. Create Delivery Movement appears on a delivery once stock has been received against it, and it is not available while your warehouse Stock Control Type is Basic.
You need movement permissions. If Create New is unavailable, or Movements is missing from your Warehousing menu, ask whoever administers Helm for your business to check your permission group.
How to Create a Movement in Helm
Open Warehousing > Movements and choose Create New, then pick the kind of job you need.
Instant Movement
Choose Instant Movement. The dialog opens on Manual Add.
Use Search Products to find each product, then set its From Location, Move Qty and To Location on the line.
Choose Create.

To build a much larger job instead, switch to Bulk Add. It runs in two steps: set filters on the first step to describe the stock you want moved, then set Split Options on the second before creating the movement.


A Bulk Add movement takes all of the available stock at every location matching your filters, and it does not set a To Location for you. Expect to set destinations on the movement afterwards, and keep the filters tight.
Replenish Movement
Choose Replenish Movement, then a type on Choose a Replenish Type.
Fully Replenish looks at every product that has replenishment set up and builds the lines needed to bring each Replenish location back up to level.
Filter Location And Inventory does the same for a subset, so you can limit the run to a zone, a category, a supplier or anything else you filter on.
Set your Split Options, then create the movement.
Helm sources the stock from your non-pickable Source locations first, in priority order, before it will touch a pickable location. It works the quantity out from the Replenishment Level, Max Level and Replenish Multiple, so replenishment arrives as whole containers rather than odd handfuls of units and never takes a location over its maximum. Locations already at or above their level are left out of the job.
Delivery
On a delivery that has stock booked in, choose Create Delivery Movement. There is no dialog to fill in: Helm takes you to the movements list and queues the put-away job for that delivery.
Alternatively, from the movements list choose Create New, then Delivery, and use Search Delivery to find deliveries by delivery number or supplier. The list shows Delivery Number, Supplier, Status and Delivered Date.
Select the deliveries you want putting away, then create the movement.
Each delivery you select becomes its own movement, so choosing three deliveries gives you three separate jobs rather than one mixed one.

Helm proposes a To Location where it can. For each line it takes the highest priority storage location that already holds that product and whose Max Level is at least the quantity being put away. It does not look at how much is already sitting there, and if no location qualifies the line arrives with no To Location at all, so check the destinations before you release the job.
Splitting Work Into Separate Jobs
One large movement is rarely one person's work. Split Options, which appears while you build a bulk or replenishment movement, decides how many jobs Helm produces:
Split per Zone: separate movements are created for locations in different zones. This only appears when your warehouse Location Structure is Locations and Zones.
Set Maximum Lines, with Maximum Lines: caps how many lines one movement may hold, and anything over the limit is split into another movement.
Assigned Users: pick the people the work should go to.

Assigned Users only shares the work out when you use Split per Zone and leave Set Maximum Lines off. In any other combination every movement from the run is assigned to the first name you picked, so check who each movement landed on before releasing them and reassign where you need to.
You can also split a movement that already exists. Select lines in Movement Items and use one of two actions:
Split Movement moves the outstanding quantity of the selected lines into a new movement with its own Assigned user: this is how you hand half a job to a second person mid-shift. Anything already moved stays on the original.
Split Lines sends part of one line to a different destination. The dialog shows the Original Qty and the Original Location, which is the destination currently on the line, and you set the Split Qty and the New Location.
Three rules govern a Split Lines. The New Location cannot be the line's From Location, since that would move the stock nowhere; the destination shown as Original Location is allowed. The Split Qty cannot be more than the quantity still unmoved, and it cannot be the whole line quantity: split off less and the rest stays on the original line.

Where the destination already holds that product and has a Max Level set against it, Helm checks the Split Qty on its own against that Max Level. It does not add in the stock already stored there, and it cannot check at all if the destination has never held that product, so treat this as a guard against an obvious slip rather than as capacity planning.
Working Through & Publishing a Movement
Each line carries two quantities, and the difference between them matters:
Move Qty is what the job asks for.
Action Qty is what you are moving right now, and it has not touched your stock yet.
On a Draft movement, tidy the lines. Add Product searches your inventory, and Split Lines, Clear New Location, Clear Action Qty and Delete are available as bulk actions once lines are selected.
Assign someone under Assigned User using Assign User.
Choose Mark as Ready to release the job to the floor. You can also do this for several movements at once from the list.
Work through the lines, setting a To Location where one is missing and entering what has physically moved in Action Qty.
Choose Publish.
Mark as Ready is a hard check, not a warning. Helm rechecks every line as it releases the job, and if the unreserved stock at a line's From Location has dropped below what that line asks for, the release is refused outright: the movement stays Draft and nothing reaches the floor. The message names the product, the location and the quantity now available, so correct or delete those lines and release again.
If a destination you choose sits in a different zone from the line's From Location, Helm marks the line with a warning that you are moving it to a different zone. It does not stop you: it is there to catch a mistyped location before the stock walks across the building.
Publishing is what changes your stock. Action Qty on its own does nothing, and Publish stays unavailable until at least one line has a quantity entered against it. Publishing also stops the timer on the movement, which the confirmation dialog tells you before you commit.
If everything expected has been moved, the movement closes as Completed. If some is still outstanding it becomes Partially Completed, and you keep publishing against it as the work continues.
When the rest is never going to move, open the movement and choose Mark as Complete. Read the dialog before confirming: the items it lists are cancelled, and the movement closes with only what actually moved recorded against it.

Tracking Progress & Time
The movement page reports progress as you publish:
Complete Percentage, with Completed Lines and Completed Units behind it.
Movement Rate, shown as a lines-per-hour figure.
EST Completion, Helm's estimate of the time left to run. It reads Calculating whenever time recording is running on the movement, and shows a dash while there is no estimate to give. The same figure appears on the list as the Estimated Completion column.
Movement Duration, built from the time recorded against the people who have worked the movement rather than from the clock on the wall.

Time recording runs against whoever the movement is assigned to, and you start and stop it from the Movement Duration figure on the Assigned User card. Stopping it is how you park a job that has been interrupted without losing the time already recorded. If you stop it while someone is still working on a handheld, Helm warns you that the completion data may not add up; that warning is worth heeding.
Reassigning a movement does not throw the earlier history away. The Assigned User card keeps everyone who has worked the job, each with their own Movement Duration and their share of the units moved, and Show All and Show Less expand and collapse that list.
The list view carries the same figures as columns, and Tags can be attached to several movements at once from there, which is a quick way to mark everything raised for one wave or project.
Finding a Movement or a Line
Two sets of filters keep a busy list workable, and knowing where they are saves scrolling:
On the movements list, filter on Movement Number, Movement Type, Movement Status, Items, Assigned User, Creation Date, Assigned Date or Completion Date.
Inside a movement, Movement Items has its own Filters: Product Name, Product Code, Zones and Location Codes, Zones, Location Code, Movement Status and Moved Qty. On a long replenishment run, this is how you find the one line an operator is asking about.
Example: Replenishing Before the Morning Pick
A fast-moving line has a Replenishment Level of 60 on its pick face, a Max Level of 120 and a Replenish Multiple of 24. The face is down to 36 units.
You choose Create New, then Replenish Movement, then Fully Replenish.
You turn on Split per Zone so each zone becomes its own job, leave Set Maximum Lines off, and pick two names under Assigned Users so the jobs are shared between them.
Helm builds the lines in the background, sourcing from the bulk location holding that product, and proposes 72 units: enough whole containers to bring the face up towards its Max Level without going over it.
The movements are created as Draft, one per zone. From the list you tick them all and choose Mark as Ready, rather than opening each movement in turn.
Your operators work the jobs on a handheld, and Complete Percentage climbs as each line is published.
One line runs short because the pallet held less than expected. You choose Mark as Complete on that movement, cancelling the remainder, and it closes as Completed with 48 units recorded instead of 72.
Best Practices & Notes
Publish as You Go
On a long movement, publish in sensible batches rather than saving everything until the end. Published quantities are safe; an Action Qty that has not been published counts for nothing.
Keep Bulk Filters Tight
A Bulk Add instant movement takes all of the available stock at every matching location. Filter on a zone, a category or a location code first rather than creating a huge job and deleting the lines you did not want.
Check What Was Actually Built
Because Helm drops lines that fail its checks and carries on with the rest, a bulk or replenishment run can come back smaller than you expected. Give the new movement a glance against what you were expecting before you release it, rather than after an operator has finished it.
Let Replenishment Do the Arithmetic
Maintaining Replenishment Level, Max Level and Replenish Multiple on your pick faces means a replenishment run needs no thought at all, and it is far more dependable than someone eyeballing the racking twice a day.
Archive Once Completed
Only a Completed movement can be archived, either from Actions on the list or as a bulk Archive. Archiving is not final: archived movements keep their own view, Archived Movements, and from there you can restore a single movement or several at once, which puts them back on the main list.
Assign Work Rather Than Leaving It Open
If your warehouse has Hide Unassigned Jobs turned on, an unassigned movement never reaches anyone's handheld. Choosing Assigned Users at creation saves that conversation later, as long as you check afterwards that the movements landed on the people you meant.
FAQ
Why can't I move all the stock at a location?
Some of it is allocated to orders. Helm only lets you move what is not reserved for picking, and it shows you the available figure when you try to enter more.
Why won't Helm create my movement?
Either nothing matched your filters, in which case Helm tells you no records were found, or another movement creation job is still running, in which case it asks you to try again shortly. A run is also abandoned when every line it worked out failed its checks, leaving nothing to build.
Lines are missing from the movement Helm just created. Why?
Helm checks each line as it builds the job and quietly leaves out the ones that fail: stock already reserved for picking, or that product at that location already sitting on an open movement. The movement is still created from the lines that passed, which is why it is worth comparing it against what you expected.
I entered quantities but my stock has not changed. Why?
The movement has not been published. Action Qty does not affect stock until you choose Publish.
Why was my Mark as Ready refused?
On at least one line, the stock at its From Location that is not reserved for picking has dropped below what the line asks for, because an order has claimed it since the movement was built. Nothing is released until you correct or delete those lines.
Can I delete a movement?
Only while it is Draft or Ready. Delete Draft is only on the movement itself while it is a Draft, so a Ready movement has to be deleted with Delete from the list. An archived movement can be deleted once it is Completed. Individual lines that already have a moved quantity cannot be deleted at all.
What happens to a quantity that never moved?
Choose Mark as Complete. Helm cancels the items listed in the dialog and closes the movement with only the moved quantity recorded, so nothing is left hanging.
Why did the expected quantity on a line drop?
Stock at that location was allocated to an order after the movement was built, so when you published, Helm reduced the line to what is genuinely available. The warning it shows names the location and the product and gives the revised total.
Can I move batch-tracked stock?
Yes. The batch number and expiry date travel with the stock to the new location. If your warehouse allows only one batch per location, a destination already holding a different batch is rejected.
If a movement is not updating your stock, check that it has been published and that every line has a To Location. If you are still stuck, contact support with the Movement Number to hand.
Was this helpful?
More in Warehousing
Setting Up Rolling Stock CountsSetting Up Transfer DestinationsStill need help? Share an idea