What this guide covers
Creating, assigning, and completing stock counts — the periodic verification that what the system says is in a bin is what's physically there. Covers count creation, multi-counter requirements, completing as the assigned counter, and the adjustment workflow when counts disagree with system stock.
For status-badge meanings see Roles and permissions field definitions.
Where to find it
Open Warehouse → Stock Counts. The page lists active and recent counts, scoped to the areas you have access to. Use the Search box and the area dropdown to narrow it; count admins also get an All / Not Completed filter and an assignee filter.
Who can do what
Stock Counts follows the same split as Move Orders and Direct Stock Adjust: a permission says what you may do, and your ordinary Area access grants say where.
Counter (stockCountUser) — see the counts assigned to you in your areas; count items physically; submit counted qty + serial numbers. Creating, assigning and deleting counts is not part of this role.
Stock-count admin (stockCountAdmin) — in the areas you have access to: create a count from stock on hand, assign or clear a counter, delete a count, and read its results. This is not a global role — it is scoped by your Area access grants.
Report viewer (StockCountReport) — the read-only, org-wide Stock Counts report and Stock Count Metrics under Warehouse → Reports.
Adjuster (StockCountAdjust) — apply adjustments after counts disagree with system (write-down or write-up).
Site admin (ADMIN) — bypasses all of the above and reaches every area.
The old STOCK_COUNT_MANAGER role and the stock-count-specific per-area grants were retired on 2026-08-26. If a role description still mentions them, it needs updating: use stockCountAdmin plus Area access instead.
Creating a count (admin)
Click Create New. The dialog opens.
Pick the items or locations to count. You can scope by warehouse area, by location, or by product range.
Configure the count (minimum number of independent counters, whether a photo is required, whether every serial must be checked) — these options depend on your site configuration.
Save. The system creates one StockCount header per area, even if the items span multiple locations within an area.
Items already in an active count are skipped — you cannot create overlapping counts on the same bin/product.
You can also start a count from Product Locations (Create Stock Count on a product row) with the same permission.
Assigning counters
Open the count from the list.
Click Assign Counter. The Assign Personnel dialog lists the users who hold stockCountUser or stockCountAdmin and have access to this count's area.
Pick a user and click Save Assignment. The assignment writes immediately and the counter sees the count in their queue.
Clear Assignee removes an assignment, but only if the counter has not started counting; if they're mid-count, you'll see "In progress by [user]" and have to ask them to back out first.
Counting (counter)
Open your assigned count from your queue.
For each item:
Verify product code + location.
Enter the physical qty.
For serialised products: scan or type each serial. The system flags duplicates and mismatches against system records.
For image-required items: take a photo and attach.
Click Submit when done. If the count requires n counters, the item stays open for the next counter.
The count cannot be completed until every item has been counted by the required number of distinct users.
View Results on a count shows Area, Location, Product, User and Qty per submission.
Common errors and fixes
"No items, cannot create empty stock count!" — fires when the create dialog is submitted without any items selected. Tick at least one location item before saving.
"[Name] cannot perform two counts in a row. Please assign a different user." — the assigned user just counted this item and would be the second counter as well; the system enforces independence by requiring distinct users. Pick someone else from the dropdown.
"User has created too many [n] stock counts for this item" — the configured per-user-per-item count limit has been hit. Either lower the load or raise AppConfig: group=StockCount, name=maxCounts (admin only).
"There is at least one item that has not been counted" — fires when Complete is clicked but some items are still pending. Either complete them or assign more counters.
"Cannot complete Stock Counts for someone else" — fires when an unassigned user (not the assigned counter, not admin) clicks Complete. Only the assigned counter or an admin can finalise.
"App Config [group: StockCount] [name: maxValueDiff] not set" — the threshold above which a count discrepancy triggers an adjustment-case is missing from app_config. Admin must set it.
"In progress by [user]" — you tried to clear an assignment while the counter is actively scanning. Ask them to pause, then clear; or wait for them to submit.
Tips and gotchas
Counts are immutable once posted. Once completedDate is set, you cannot edit the qty. To correct a wrong post, raise an adjustment via the Stock Adjustment dialog (separate workflow).
Multi-counter rule: if the count requires 3 counters, exactly 3 distinct users must submit. The system enforces uniqueness.
One header per area: even if you select items from multiple locations within the same warehouse area, the system rolls them up under one StockCount header for that area.
Mismatches across counters — if two counters disagree on the same item, the system opens the Serial Mismatch dialog (for serialised) or queues an adjustment-case (for non-serialised). Adjusters with StockCountAdjust resolve the case.
Skipped items after creation — when you create a count, items already in another active count are silently skipped. Check the resulting count to confirm it includes everything you expected.
For quick spot-checks without the full workflow use Stock Check.