Disable locations instead of deleting them
A location with even one warehouse movement cannot be deleted — the system refuses so the movement history is not lost. Retire a shelf from use with the Active toggle.
Step by step — disable a shelf (this is usually what you want)
- Go to Configuration → Settings → Warehouse → Locations.
- Find the shelf using search or filters. Before doing anything, check the Quantity column — disabling it does not remove the goods.
- If anything is stored there, move it somewhere else first. Check exactly what is there in the Location browser — this list does not have an expandable row (Location list — filters, bulk actions, and contents preview).
- Click the pencil (Edit) at the end of the row. The Edit location drawer opens.
- Turn off the Active toggle.
- Press Edit at the bottom of the drawer. The message Location updated appears, and the list refreshes automatically.
The shelf can no longer be scanned and is omitted from queue refreshes — but all its movement history remains.
Step by step — permanently delete a location (only a shelf with no history)
You can delete only a location that has never had a warehouse movement — for example, a shelf created by mistake. The system refuses every other one; disable that shelf instead (above).
- Go to Configuration → Settings → Warehouse → Locations.
- Narrow the list to the shelves you actually want to delete. Changing a filter clears the selection, so filter before selecting.
- Check the Quantity column in every selected row. For nonzero quantities, check the Location browser — its In queue column says whether there is an open task. That list has no expandable row.
- Select rows using the checkboxes. A Selected: N bar appears above the table.
- Open Bulk actions and scroll to the bottom, to Danger zone.
- Select Delete selected (the note below says This operation cannot be undone).
- In the confirmation dialog, read Are you sure you want to delete the selected locations? and the warning This operation cannot be undone.
- Press Delete. Cancel closes the dialog without changes.
- Result: Deleted N locations or a refusal — in that case, the message lists the codes blocking the operation (open queue items or movement history).
The locations list has no button to delete a single row. The only row actions are Recalculate and Edit. To delete one shelf, select only that shelf and use the same route through the Danger zone.
The rule
Disable; do not delete.
Warehouse movement history is both stock state and an audit trail. That is why the system does not let you delete a location with even one movement — even if it is empty today. Deletion would erase the report of “what passed through this shelf” and any goods still recorded there.
Disabling it (Active = no) achieves the practical goal: the shelf can no longer be scanned, while its history remains.
That is how this system migrated from old location codes to new ones — several thousand old codes remain as inactive locations so movement history still has something to refer to.
What disabling does
- A scan does not find the location. The message distinguishes “it exists but is inactive” from “there is no such location.”
- Queue location refresh skips it.
- Sorting refuses with Location … is inactive.
- Stock is neither moved nor reset. The goods are still recorded there — no one can simply scan them. If the shelf contains anything, move it first and disable it afterward.
Bulk deletion
Select rows in the list → Bulk actions → Danger zone → Delete selected, with the warning This operation cannot be undone.
The operation refuses in two cases, and the server responds in English with the affected codes:
- the location has open queue items — Cannot delete locations with products;
- the location has warehouse movement history — Cannot delete locations with stock movement history … Deactivate them instead. Disable such a shelf with the Active toggle.
The refusal also applies to child locations: if a rack has shelves with history, the rack cannot be deleted either.
There is no separate delete button for one location in the list — the only route is through the Danger zone, so a single selected shelf is subject to the same restrictions.
Things that protect themselves
Zones, location types, and access types cannot be deleted while even one location uses them — Location types — six switches, not a closed list. Capacity profiles and subtypes also check queues and scenarios.
This is deliberate: deleting a type would change hundreds of locations at once, so the system would rather say “no” than ask.
Want to see this with your orders? We’ll show you NOXTI with your sales channels and warehouse.
Book a demo