ShipStream Knowledge Base

Cycle Count and Inventory Adjustments

Cycle counting is the process of physically counting the inventory at a location and reconciling it against the quantity ShipStream has on record. It is the primary tool for detecting and correcting discrepancies — shrinkage, mispicks, receiving errors — without shutting down warehouse operations for a full physical inventory.

Every cycle count, whether performed via the Scanner or the Admin UI, is recorded as a Stock Take with a full audit trail: what was expected, what was counted, who counted it, and what happened next. Depending on your configuration, variances can be applied automatically or held for review by a supervisor before any inventory adjustment is made.

For moving product between locations, use the Relocation feature instead. Cycle Count is for verifying and correcting quantities at a location, not for transferring stock.

Performing a Cycle Count via the Scanner

The Scanner is the recommended way to perform cycle counts. From the Scanner menu, navigate to Cycle Count. Scan or type the barcode of the location you want to count. The Scanner will show you the product assigned to that location and prompt you to enter the quantity currently on the shelf.

SCREENSHOT: Scanner Cycle Count screen showing a location barcode input or a location view with product and quantity field

After submitting a count, the Scanner creates a Stock Take record:

  • If the quantity you entered matches the system quantity, the take is recorded with status Same and no inventory adjustment occurs.
  • If the quantity differs, the take is recorded with status Different. Whether the variance is immediately applied to inventory or held for supervisor review depends on whether Require Cycle Count Validation is enabled (see Cycle Count Validation below).
If a Location carries an active Inventory Hold, the Scanner shows the held quantity separately during counting. Adjustments apply to the Unreserved portion only — held quantity is treated as fixed by the hold itself, not by the count.

Stock Take History

Every count is saved permanently as a Stock Take, giving you a complete record of cycle count activity across your warehouse. You can view all takes at Operations → Cycle Count → Stock Takes.

SCREENSHOT: Operations → Cycle Count → Stock Takes grid, showing columns: ID, Warehouse, Location, Product Name, SKU, Qty Expected, Qty Counted, Variance, Status, Reject Reason, Counted By, Created At — with sample rows including both Applied and Different statuses

The grid is filterable by warehouse, location, SKU, status, counted-by user, and date range, making it straightforward to review count activity for a specific merchant, a specific location, or a specific time period. Clicking a row opens the Stock Take detail page showing the full count record.

Cycle Count Location Page

When you click a row in the Operations → Cycle Count grid, ShipStream opens a Location View page that summarizes everything you need to know about that location at a glance: location details, the assigned product, current inventory quantities, and the three most recent stock takes.

SCREENSHOT: Location View page header "SH-L1 at Newark, NJ" with Back and Edit Location buttons, showing Location Information panel (Rack, Location Type, Pickable, Priority, Last Cycle Count, Created/Updated At), Product Information panel (Merchant, Name, SKU, Barcode, Locations Occupied), Inventory panel (On-Hand, Put-Away, Unreserved, Reserved), and Recent Stock Takes table (ID, Status, Expected, Counted, Variance, Counted By, Date)

Two tabs — Stock Takes and Stock Movements — provide access to the full count history and all stock movement records for that location. The Edit Location button in the top-right opens the location edit form if you need to update location settings.

Cycle Count Validation {#validation}

By default, a count with a variance is applied immediately: the inventory quantity at the location is adjusted right away and a stock movement is logged. If you want a supervisor to review variances before they affect inventory, enable Require Cycle Count Validation at System → Configuration → Stock → Cycle Count.

SCREENSHOT: System → Configuration → Stock → Cycle Count section expanded, showing Require Cycle Count Validation (No) and Allow Self-Approval (No) dropdowns with descriptive hint text below each

When validation is enabled:

  • Counts with no variance (Same) are recorded and considered complete — no review is needed.
  • Counts with a variance (Different) are held in a pending state. The inventory quantity is not changed until a validator acts on the take.

A validator with the Cycle Count → Validate permission can open a pending take from the Stock Takes grid and take one of three actions:

SCREENSHOT: Stock Take view page showing Take Information panel (Status: Different, Warehouse: Newark NJ, Location: SH-L1, Product: Silver Headset, SKU: SH) and Count Details panel (Qty Expected: 299, Qty Counted: 280, Variance: -19, Counted By: admin, Created At: Mar 28, 2026), with Reject / Approve / Update buttons in the page header
  • Approve — accepts the count as correct and applies the variance to inventory. Any other pending takes for the same location from other users are automatically superseded (closed with no adjustment).
  • Reject — dismisses the variance with an optional comment. The existing inventory quantity is left unchanged; the original system quantity is assumed correct.
  • Update — rejects the original take and records a new corrected quantity on the validator's behalf, which is applied immediately. Use this when the validator physically recounts the location and finds a different quantity than what was originally submitted.

Self-Approval

By default, the user who performed the count cannot also approve their own take (Allow Self-Approval: No). This enforces a true two-person review: one person counts, a different person approves. A user with the Cycle Count → Validate → Self-Approval permission can override this restriction, which is useful for giving full administrators the ability to manage their own corrections when needed.

Multiple Pending Takes

A user may only have one pending take per location at a time. If a user submits a new count for a location where they already have a pending take, the earlier take is automatically superseded (rejected) and the new count becomes the active pending take. This prevents stale counts from accumulating from the same counter.

Multiple pending takes from different users can coexist for the same location. Approving any one of them supersedes all others.

Adjusting Inventory via the Admin UI

If you need to correct an inventory quantity from the Admin UI without using the Scanner, you can do so from the product's Inventory tab.

Admin UI inventory adjustments apply immediately and are not subject to Cycle Count Validation, even when validation is enabled. Use the Scanner workflow if you want adjustments to go through the validation process.
  1. Find the product in Catalog → Products (or use the Global Record Search in the top-right to search by product name, SKU, or barcode).
  2. Open the product and click the Inventory tab in the left-side menu.
  3. Scroll down to the warehouse panel that contains the location you want to adjust.
  4. In the location row, click Count in the Action column.

    SCREENSHOT: Product Inventory tab showing the Newark, NJ warehouse panel with location SH-L1 row and the "Count" and "Edit Location" links visible in the Action column
  5. A dialog appears. In the Whole Items field, enter the total quantity currently on the shelf at that location (not the adjustment amount — the full count).
  6. Optionally, enter a Reason for adjustment so other users can understand why the change was made.
  7. Click Submit.
SCREENSHOT: "SH-L1 - Cycle Count" dialog showing Whole Items input field and Reason for adjustment text area, with Submit and Close buttons
The quantity you enter in Whole Items is the new total at that location, not a +/- delta. For example, if a location currently has 20 and you want to remove 5, enter 15.