What this guide covers
Finding where each product lives across your warehouse. Product Locations is the search-driven view that lists every product, expanded to show every bin currently holding any unit of it, with the qty per bin. Use it for picking, reconciliation, and "where is that part" questions.
For the bins themselves see Warehouse Locations and Location Management. For individual serialised units see SerialNumber Location.
Where to find it
Open Locations → Product Locations. The page is a search-and-filter table; no rows render until you search.
Who can do what
Viewer (ProductLocationsView) — the permission that shows the menu entry and opens the page. Search products, expand to see locations, export to Excel. Without it the screen is neither listed nor reachable.
Picker — Pick from a bin into your own inventory, subject to the normal area and lock rules. Picking out of another person's personal inventory additionally needs PersonalInventoryManage.
Label printer (LOCATION_PRINT) — print product QR labels, with or without quantity.
Stock-count admin (stockCountAdmin) — Create Stock Count from a product row.
Site admin (ADMIN) — full access; bypasses area / product gates.
Searching
The search box matches product code, description, or a scanned QR (the barcode button opens the scanner). Multi-word search is AND — "battery 24v" matches products containing both battery and 24v.
Open Filters to layer more on top; the badge on the button shows how many are active:
Category — All Items (Mixed), Standard (uncategorised), or one of the live inventory categories.
Lock status — All, Locked only or Unlocked only.
Area — All Areas or a single area.
Item Ref / Owner — show only items earmarked for a specific reference (e.g. a Sales Order number, a Local Receipt). Useful when verifying a dispatch.
Customer — show only items linked to a customer via a Local Receipt reference. Useful for customer-supplied parts in repair WOs.
Weight and Size — dimension ranges.
A Sort dropdown orders the results by Highest quantity, Product code (A–Z) or Most locations. Active filters show as chips with an x each.
Filters are session-persistent — refreshing the page keeps your last search and filter selection.
Reading the results
Each row is a product with its totals:
Name — [CODE] and description.
Total Quantity — every unit found, in any area.
On hand (Stores) — the sellable pool on Stores shelves, with "+N held" underneath for stock Stores people are carrying.
Allocated — promised to open shipments and orders (SS = Sales, LS = Local, ESO = External Service).
Available — free to move now. See Why a shipment says "Not enough free stock".
Location Count — how many bins hold it.
Expand a row to see its locations:
Area — click it to filter the list to that area.
Location — the bin name; click it to open that location's inventory.
Category — the inventory category (Standard if none).
Ref / Owner — the earmark reference, or "-".
Lock — the lock type and reference (for example a shipment number), or "—" when the stack is free.
Quantity — quantity at this bin. For serialised products, qty is 1 per serial.
A product may appear in many bins simultaneously — that's expected. There is no "primary location" indicator on this page.
Actions
On a product row (Actions menu):
Create Stock Count — initiate a count scoped to this product across its bins. Requires stockCountAdmin.
Print — print the product code as a QR label. Requires LOCATION_PRINT.
On a location row (Actions menu):
Pick — opens the picking dialog; move qty out of this bin to your personal location. Hidden when the stack is in someone else's personal inventory and you lack PersonalInventoryManage.
Print — product QR label (no quantity).
Print w/QTY — product QR plus current quantity. Requires LOCATION_PRINT.
Toolbar: the Excel button exports every visible product with its location detail; Refresh re-reads stock data from the database.
Common errors and fixes
"Export failed: [exception message]" — Excel write failure (disk full, file-system permissions). Free up disk and retry; if it persists, contact RnD.
Product not appearing after search — the active filters exclude it. Switch Category to All Items (Mixed) and clear the Lock, Area, Item Ref / Owner and Customer filters.
No Pick action on a row — the stack sits in another user's personal inventory. Ask them to Give it to you, or ask a holder of PersonalInventoryManage.
Same product in multiple bins with mismatched qtys — that's normal. The product is genuinely scattered. Use a Stock Count to rebase if it's surprising.
Tips and gotchas
Locked stock is still listed. Use the Lock column (or the Lock status filter) to see what is promised to a shipment or job before you pick.
Filter persistence is per-user, per-session. Logging out clears it.
Customer filter only works if the receipt referenced has a customer linked. Generic Local Receipts won't appear under any customer.
Excel export captures what's visible given the current filters. Clear filters first to export everything.
Refresh clears session-cached stock data and re-fetches from the database — useful after a flurry of moves where the on-screen totals don't match the bin.