Skip to main content

Create a stock take & add items

A stock take is a physical count you record against a warehouse so SKU.io can reconcile what's on the shelf with what the system thinks you hold. Creating one is the first step: you open a draft, choose the warehouse and how the count should behave, then fill it with the products you're going to count. Nothing moves stock yet — a stock take is fully editable in Draft until you initiate the count and finalize it.

This guide covers starting a stock take from scratch, bulk-creating one from a set of products, adding items by search or scan, importing count lines from a spreadsheet, and the rules that govern an initial (opening-balance) count.

A few terms used on this page
  • Draft — a newly created stock take. Editable, holding no inventory effect, until you initiate it.
  • Full count — you record the counted quantity for each item; SKU.io compares it to a snapshot and calculates the variance.
  • Adjustment — you record a +/- delta directly, without snapshotting inventory.
  • Initial count — a one-time opening-balance count that establishes a warehouse's starting stock as of your inventory start date.
  • Blind count — a full count that hides system on-hand quantities from the counter so the count isn't anchored to expectations.

Before you begin

RequirementWhy it's needed
Count inventory permission (inventory.count)Every create, import, and item action on this page is gated by it.
A standard warehouse — a Direct or 3PL typeStock takes run only against warehouses you physically hold and count. Amazon-managed and other channel-managed warehouses are rejected (see Warehouse must be countable).
Products of type Standard or Kit, not archivedOnly these can be counted. Service, bundle-component, and archived products are excluded from search and skipped on import.
(Initial counts only) An inventory start dateAn opening balance is dated as of the day inventory tracking begins. Without a start date there's nothing to anchor it to, so SKU.io refuses the count. Set it in product inventory settings.

Create a stock take

The New Stock Take dialog captures the count's scope. You add products afterward on the stock take's own page.

  1. Go to Inventory → Stock Takes.
  2. Click New Stock Take. The dialog opens.
  3. In Warehouse, select the warehouse you're counting. This is required, and the list shows only countable (Direct and 3PL) warehouses.
  4. Choose a Mode:
    • Full Count — you'll enter the quantity you counted for each item. SKU.io freezes a snapshot when you initiate and calculates each variance for you.
    • Adjustment — you'll enter a +/- quantity change directly. No snapshot is taken; the delta posts as-is.
  5. (Full counts only) To run a Blind count, select Blind count — hide system quantities from the counter. The counter enters what they see without the system's on-hand number visible.
  6. (Optional) Add Notes to describe the purpose of the count.
  7. Click the create button.

What you'll see: SKU.io creates the stock take in Draft and opens it. It holds no inventory effect yet — you can add, remove, and re-scope items freely until you initiate the count.

Blind applies to full counts only

Adjustment-mode takes never snapshot inventory, so there's nothing to hide — the Blind count option appears only for a non-initial full count.

To learn what happens after Draft — snapshotting, variances, and reconciliation — see How stock takes work. To move a draft forward, see Count stock.

Warehouse must be countable

A stock take represents a physical count you perform, so it only accepts a warehouse you physically stock and count — a Direct or 3PL warehouse. If you pick a channel-managed warehouse (an Amazon FBA, AWD, or WFS location, where Amazon owns the physical count), SKU.io rejects it with a message naming the warehouse and its type. Reconcile channel-managed stock through the channel's own inventory feed, not a manual stock take.

Start an initial (opening-balance) count

An initial count establishes a warehouse's starting inventory — the opening balance SKU.io builds all future movement on top of. It behaves differently from an everyday count in three ways, all enforced for you:

  • It's always a full count — the Mode selector is hidden.
  • Its Count Date is pinned server-side to your inventory start date and shown read-only. You can't backdate or forward-date an opening balance.
  • It's unique per warehouse and condition — see One initial count per warehouse.

To start one:

  1. In the New Stock Take dialog, select the Warehouse.
  2. Select Initial Count. The Mode selector disappears, and the Count Date fills in from your inventory start date.
  3. (Optional) Enter a Condition — a label such as SELLABLE or DEFECTIVE — to record a separate opening balance for stock in that condition. Leave it blank for a single, condition-less opening balance.
  4. Add the products (see Add items below), then create the count.
An inventory start date must exist first

Selecting Initial Count fetches your inventory start date. If none is set, SKU.io can't anchor the opening balance and refuses to create the count (InventoryStartDateNotSetException). Set the start date in product inventory settings first.

One initial count per warehouse and condition

Each (warehouse, condition) pair can have exactly one initial count — you can't establish two opening balances for the same stock. The dialog checks this as soon as you pick a warehouse (and condition): if one already exists, the Initial Count option is disabled and a message names the existing stock take. If a duplicate slips past the pre-check, the server rejects it too, naming the conflicting stock take number.

ScenarioResult
First initial count for a warehouseCreated; date pinned to the inventory start date.
First initial count for a new condition on the same warehouseAllowed — condition makes the pair unique (for example, one SELLABLE and one DEFECTIVE).
Second initial count, same warehouse and conditionRejected, naming the existing stock take.
Initial count with no inventory start date setRejected (InventoryStartDateNotSetException).

The full status and field lookup lives in the stock take reference.

Bulk-create a stock take from products

When you already know the products to count, start the stock take straight from the product list instead of adding items one by one.

  1. Go to Inventory → Products (or the product inventory list).
  2. Select the products to count — tick individual rows, or filter the list and select all matches.
  3. From the bulk-actions menu, choose Stock Take.
  4. In the dialog, pick the Warehouse, the Mode (Full Count or Adjustment), and, if this is an opening balance, Initial Count.
  5. Confirm. SKU.io creates a draft stock take pre-loaded with one item per selected product and opens it.

Duplicate products are collapsed — selecting the same product twice (or via overlapping filters) yields a single item.

Seeded unit cost

For an adjustment-mode bulk create, SKU.io pre-fills each item's Unit Cost with the product's best-available cost at that warehouse — walking FIFO layers, the weighted-average cache, and the product's unit cost in that order — so the count opens with a cost basis instead of a blank column. Two cases don't seed:

  • Full counts capture cost when you initiate the count and freeze inventory, not at creation — so their Unit Cost opens blank by design.
  • Negative adjustments (removing stock) ignore any seeded cost; their cost is realized from the FIFO layers actually consumed at finalization.

For how those layers and costs work, see FIFO layers and how COGS is realized.

Add items to a stock take

On a draft stock take, use Quick Add Product to add items by search or scan.

  1. On the stock take page, open Quick Add Product.
  2. In Search Product, type a SKU, name, or barcode. Results are limited to Standard and Kit products that aren't archived. Exact SKU and barcode matches rank first.
  3. (Optional) Turn on In stock only to limit results to products holding stock at this warehouse.
  4. Select the product. Its available, allocated, on-hold, and on-hand quantities show for reference.
  5. Enter the quantity — Qty Counted for a full count, or Adjustment Qty (+/-) for an adjustment — and adjust Unit Cost if needed.
  6. Add the item. The search clears and refocuses so you can scan or type the next product without touching the mouse.
Barcode scanning

Because search matches on barcode and refocuses after each add, a handheld scanner works as a rapid add loop: scan, enter quantity, add, scan the next.

The quantities shown on each result — Available, Allocated, On Hold, and on-hand — are the live stock states. (SKU.io has no separate "reserved" state; committed stock shows as Allocated.)

Import count lines from a spreadsheet

For a large count, import the lines instead of adding them individually. Use Import Items on a draft stock take to upload a CSV or paste tabular data.

  1. On the stock take page, open Import Items.
  2. Drag in a CSV file, browse for one, or paste rows into the Paste data box.
  3. Map the columns (SKU/barcode is required; quantity and unit cost are optional), then confirm.

SKU.io matches each row to a product, sums repeated rows for the same product into a single line, and reports anything it couldn't match.

Import columns

The file's header must contain a quantity column or a sku/id column — otherwise the import is rejected as not matching the template.

ColumnRequiredNotes
skuOne of sku/idMatched against product SKU or barcode.
idOne of sku/idThe product's numeric ID. Takes precedence over sku when both are present.
qty_countedOptionalThe counted quantity. A blank value defaults to 1.
snapshot_inventoryOptionalThe system on-hand to record against the line.
unit_costOptionalPer-unit cost for the line.
Start from an exported template

Export the current lines from the stock take to get a correctly shaped template with your products' id, sku, barcode, and name already filled in, then add your counts and re-import.

What the import validates

SituationResult
Repeated rows for the same productSummed into one line (their qty_counted values add up).
Non-numeric qty_counted or unit_costThe row errors. The first five errors are listed, with a count of any beyond that.
Blank qty_countedDefaults to 1.
Some rows match no productImport proceeds; a warning lists the unmatched SKUs.
No rows match a productHard error — nothing is imported.
A SKU resolves to a non-Standard/non-Kit productSkipped, and reported as wrong-type.

The paste flow bulk-resolves up to 5,000 SKUs or barcodes in one pass, returning what it found, what it couldn't find (not found), and what it skipped as the wrong product type — so you can fix a large list before committing it.

Next steps

Last verified: