Local Shipments
What this guide covers
Building a Local Shipment to move stock between warehouse locations or to an internal staging area. Local Shipments are the inter-warehouse / intra-org analogue to Sales Shipments — same picking + dispatch mechanics, but the destination is an internal location, not a customer.
For customer-facing dispatch see Sales Shipments. For external service providers see External Service Shipments.
Where to find it
Open Operations → Shipments → Local Shipments. The page lists every local shipment, filterable by status (Parked, Placed, Dispatched, Deleted).
Who can do what
- Warehouse staff — view, create, edit (while Parked / Placed), collect, dispatch. The page has no explicit
AppPermissiongate; access is by JSF page-level permission. - The first user to start collecting locks the shipment to their warehouse location — only they (or another user at the same location) can finish dispatching it.
- Site admin (
ADMIN) — full access, no location lock.
Creating a shipment
- Click New Local Shipment.
- Fill in Category (required) and Item Reference (required) — these are the metadata fields the picking dialog uses to filter earmarked stock.
- Add product lines via the search box: pick the product, enter the qty.
- Click Save. The shipment lands in Parked status, ready to be edited or sent to picking.
For legacy shipments missing Category / Item Reference, use the Metadata Fix dialog to backfill before dispatch.
Picking and dispatching
- From the list, open the shipment with Process.
- The picking dialog opens. For each line:
- Pick the source bin from the suggested list (the system shows bins with the right Item Reference and qty).
- Enter how much you're collecting from that bin. Multiple bins can fulfil one line (the page tracks remaining qty).
- Click Collect. The system moves stock from the bin into your personal staging location (
SHIP_COLLECT).
- Repeat until every line is fully collected.
- Click Dispatch. The system consumes the staged stock, posts the destination move, and advances any linked Work Order step.
Common errors and fixes
- "Category is required." — UI validation. Pick a category before saving.
- "Item Reference is required." — same, for the item-ref field. The picking dialog uses this to find earmarked stock.
- "Please select a valid product and enter a quantity > 0." — Add Item clicked without product or qty. Pick a product, enter qty.
- "Please add at least one product line." — saving an empty draft. Add at least one line.
- "Collect qty must be positive." — typed zero or negative qty in the picking dialog. Enter a positive number.
- "Not enough stock at location [location]." — the bin has less than what you're trying to collect. Reduce qty or pick from a different bin.
- "Cannot collect more than planned qty for [product]." — you've already collected the full line qty across other bins. Move on to the next line.
- "This shipment is already being collected by [location]." — a second user tried to start collecting after a first user already staged a line. Wait for the first user to dispatch, or ask them to back out.
- "This shipment was collected by [location] and must be dispatched from the same location." — you're trying to dispatch from a different physical location than where collection happened. Either go to that location, or have the original collector dispatch.
- "This shipment has already been dispatched." — the shipment is already in Dispatched status; nothing to do.
- "No staged stock found for [product]. Ensure all items are collected before dispatching." — clicked Dispatch before everything was collected. Finish collecting first.
- "Cannot dispatch shipment: product [code] still has [qty] outstanding units." — same as above with a specific product. Collect the missing qty.
- "Shipment has no lines to dispatch." — empty shipment. Either add lines or cancel.
- "Negative quantities are not allowed on shipment line [code]." — qty < 0 entered. Use a positive number.
- "Serialized product [code] must use whole-number quantities." — fractional qty entered for serial product. Round to integer.
- "Blank serial number found for serialized product [code]." — completion blocked because a serial input is empty. Fill it in.
Tips and gotchas
- Location-locking is by design. Once anyone collects a single line, the shipment is "owned" by that physical location until dispatch. Multi-person collection workflows aren't supported on a single shipment — split into multiple shipments if you need parallel collection.
- Category + Item Reference are mandatory before dispatch. Old shipments missing these can't be dispatched until you backfill via the Metadata Fix dialog.
- Serialised products use whole-unit qtys. Fractional collection is rejected.
- Stock must be 100% collected before dispatch. Partial dispatch isn't allowed; the Dispatch button refuses if any line is still outstanding.
- The destination for the dispatch move is set on the shipment line — typically a customer-bound staging bin or another warehouse's receiving bay. There's no destination picker on the dispatch step itself.