Knowledge Base

Stock Counts

Edit

Stock Counts

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 Operations → Stock Counts. The page lists active and recent counts, scoped to the areas you have access to.

Stock Counts landing page

Who can do what

  • Counter (STOCK_COUNT_USER permission, area-gated via UserWarehousePermissionTypeEnum) — see counts assigned to them; count items physically; submit counted qty + serial numbers.
  • Stock-count manager (STOCK_COUNT_MANAGER, area-gated) — create new counts; assign / unassign counters in their area; view results; complete counts.
  • Stock-count admin (STOCK_COUNT_ADMIN) — global. Create counts in any area; view all counts; manage counters across areas.
  • Adjuster (STOCK_COUNT_ADJUST_CASE) — apply adjustments after counts disagree with system (write-down or write-up).
  • Site admin (ADMIN) — bypasses all of the above.

Non-admins are filtered to allowed areas via the permission mapping at view init.

Creating a count (manager / admin)

  1. Click Create New. The dialog opens.
  2. Pick the items or locations to count. You can scope by warehouse area, by location, or by product range.
  3. Configure:
    • Min counts required — how many independent counters must agree before the count is considered authoritative. 1 for single-counter, 2-3 for high-value or contested stock.
    • Image required — counter must attach a photo of the bin per item.
    • Serial check required — counter must scan or enter every serial number; serial mismatches trigger the Serial Mismatch dialog.
  4. Save. The system creates one StockCount header per area, even if the items span multiple locations within an area.
  5. Items already in an active count are skipped — you cannot create overlapping counts on the same bin/product.

Assigning counters

  1. Open the count from the list.
  2. Click Assign Counter. The dropdown lists users with STOCK_COUNT_USER or STOCK_COUNT_MANAGER for this area.
  3. Pick a user. The assignment writes immediately and the counter sees the count in their queue.
  4. 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)

  1. Open your assigned count from your queue.
  2. 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.
  3. Click Submit when done. If the count requires n counters, the item stays open for the next counter.
  4. The count cannot be completed until every item has been counted by the required number of distinct users.

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 STOCK_COUNT_ADJUST_CASE 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.

Related articles