Documentation

Everything you need to run a count

From your first stocktake to team counting and audit-ready reports. Written for the current release — Stocktake for WooCommerce 1.1.22.

Getting started

Stocktake is a dedicated physical inventory counting tool. It does not manage your stock day to day — it verifies what WooCommerce believes against what is actually on your shelves, then reconciles the difference in one click.

Requirements

RequirementVersion
WordPress6.2 or newer
WooCommerce7.0 or newer (HPOS-ready)
PHP7.4 or newer
ProductsStock management enabled on the products you want to count
BrowserAny modern browser. Phone-camera scanning needs HTTPS.

Install

  1. Install the free plugin From your dashboard go to Plugins → Add New, search for Stocktake, install and activate. Or download it from WordPress.org.
  2. Open Stocktake A Stocktake item appears in the WordPress admin menu. Everything happens there — there is nothing to configure first.
  3. Upgrade later, if you want to Pro installs over the free version and keeps all your data. See Licence & billing.
Nothing changes your stock until you say so

Counting is completely safe: quantities are recorded against the session only. WooCommerce stock is written once, when you press Apply adjustments — and a restore point is saved before that happens.

Your first stocktake

  1. Create a session Press Start counting now. Give it a name you will recognise later (“July warehouse”, “Front shop – drinks”).
  2. Pick a scope Count everything, or narrow it to selected categories. Only stock-managed products are included.
  3. Stocktake takes a snapshot Your current expected quantities are recorded at that moment. This is what makes the variance trustworthy: sales that happen during the count are measured against the snapshot, so an order mid-count does not silently distort your numbers.
  4. Count Open the count screen on a phone, tablet or laptop and start scanning. See The count screen.
  5. Review, then apply Check every variance, then post the corrected quantities to WooCommerce in one click.
You can keep trading

Because the count is measured against a snapshot, you do not have to close the shop or freeze orders while you count.

Counting modes

ModeWhat it doesPlan
Partial (spot)Only the items you actually scan are updated. Everything you do not touch keeps its current stock. Best for shelf checks and cycle counts.FREE
Full / zero-basedEverything in scope is counted. Anything you do not count is treated as zero. Best for year-end and fiscal close.FREE
Add-on-top (tally)Each scan adds to a running tally rather than setting a figure — for counting the same product across several shelves or bins.PRO
Goods-in (receiving)Count a delivery in and add it to existing stock instead of replacing it.PRO
Full / zero-based sets uncounted items to zero

That is the point of the mode — but be sure your scope is right before you apply. If you only meant to check a few shelves, use Partial.

The count screen

The count screen is built for one thing: scanning items quickly without touching the keyboard. It works on a phone, a tablet or a desktop with a handheld scanner.

Scanning & barcodes

Three ways to get a code into the box, all equally valid:

MethodNotes
USB / Bluetooth scannerFastest and most reliable for large counts. Any scanner that types like a keyboard works — no drivers, no pairing inside the plugin.
Phone camera BETAPress the camera button and point at the barcode. Runs in the browser, no app needed. Requires HTTPS and camera permission. Good for smaller counts; some damaged or unusual symbologies may not read.
TypingType a SKU, a barcode or part of a product name and pick from the suggestions.

What a scanned code is matched against

  1. The product’s SKU.
  2. WooCommerce’s own GTIN / UPC / EAN / ISBN field (WooCommerce 9.2+).

Both work for simple products and for variations. Scanning a variation’s code counts that exact variation, and applying updates that variation’s stock.

Blind count

Turn on Blind count when you create the session and the expected quantity is hidden from whoever is counting. They record what is actually on the shelf instead of confirming the number on screen.

Why it matters

When a counter can see “expected: 100”, counts tend to “match” a little too often. Blind counting removes that anchor — which is exactly how shrinkage stops hiding. You still see every variance yourself on the review screen.

Fixing a scan

Nothing is locked in while you count:

Variance review

Press Finish & review to see the whole session as a table:

ColumnMeaning
ExpectedWhat WooCommerce believed when the session started (the snapshot).
CountedWhat you actually recorded.
VarianceCounted − expected, in units. Green is a surplus, red is a shortfall.
ValueWhat that gap is worth in money. Uses WooCommerce Cost of Goods data when it is set; Pro adds valuation at cost and a purchase-price field.
AppliedWhether the line has already been posted to stock.

A banner tells you how many items in scope have not been counted yet, so you never apply a half-finished count by accident.

Applying to WooCommerce

  1. Press “Apply adjustments” Every counted line is written to WooCommerce stock at once.
  2. A restore point is saved first Before a single number changes, Stocktake records exactly what your stock was. If the backup cannot be written completely, the apply is aborted rather than half-done.
  3. Check the result The session is marked Applied and each line shows what was posted.
Uncounted items

In Partial mode, anything you did not scan is left completely untouched. In Full / zero-based mode, anything you did not count is set to zero.

Restore points & undo

A restore point is an automatic snapshot of your stock taken immediately before an apply.

FreePro
Automatic backup before every applyYesYes
Undo the last applyYesYes
Full restore-point historyKeeps the most recent onlyRoll back to any earlier count

Open Restore points from the Stocktake menu, then press Restore on the entry you want. Restoring writes the saved quantities back to WooCommerce.

Exports

Reports & valuation PRO

Stock Pulse

A live dashboard of the whole catalogue: units on hand, stock value, sales movement, top movers, what is running out at the current sales pace, and dead stock that is quietly tying up cash.

Valuation

Value your inventory at retail and at cost, with a per-category breakdown. Pro adds a purchase-price field so cost valuation works even when WooCommerce COGS data is incomplete.

ABC & accuracy trend

ABC priorities tell you which items deserve frequent cycle counts. The accuracy-and-shrinkage trend shows whether your counts are tightening over time or your losses are creeping up.

Variance by category

Break a single session’s variance down by product category, so you can see exactly where the losses concentrate instead of reading one store-wide number.

Team counting & approvals PRO

Goods-in & quick stock check PRO

Goods-in (receiving) mode counts a delivery and adds it to existing stock rather than replacing it. Quick stock check is for one-off fixes: scan any single product, see its live stock, correct it on the spot — and the change is recorded in an audit log. Use stocktakes for periodic counts and quick checks for spot corrections.

Products & variations

Licence & billing

  1. Buy and get your key Checkout is handled by Freemius, our merchant of record — cards and PayPal, proper invoices, 14-day money-back guarantee. Your licence key arrives by email with a download link for the Pro build.
  2. Install Pro Upload the Pro zip from your email (Plugins → Add New → Upload). It installs over the free version and keeps all your data.
  3. Activate Open Stocktake → Account, paste the key, and Pro unlocks immediately — with automatic updates from then on.

Moving to another site: open Stocktake → Account on the old site and deactivate the licence — that frees an activation — then enter the key on the new site. If you migrate or change domain, the plugin also detects it and offers to transfer the licence. Your plan sets how many sites can be active at once (1, 5 or 20).

Invoices, renewals, cancellation: all from the same Account screen, or your Freemius account. Cancel any time, no email required.

Data, privacy & uninstall

Uninstalling deletes your count history

Export anything you need to keep (CSV, or XLSX/PDF on Pro) before you delete the plugin.

Troubleshooting

I counted everything — why hasn’t my stock changed?

Counting never writes to stock on its own. Open the session, press Finish & review, then Apply adjustments. Until you do that, WooCommerce keeps its current quantities — which is what lets you count safely while the shop is open.

A barcode isn’t found when I scan it

The code is matched against the product’s SKU first, then WooCommerce’s GTIN / UPC / EAN / ISBN field (WooCommerce 9.2+). If neither holds that number, nothing will match.

Check that: the code is stored on the product (or the exact variation), there are no stray spaces, and the product has stock management enabled. The on-screen message shows the exact code that was read — paste that into your product search to see what the shop has.

The phone camera won’t read some barcodes

Camera scanning is a Beta convenience feature. It needs an HTTPS page and camera permission, good light, and a clean, flat barcode. Very small, damaged, curved or unusual symbologies may not read.

If a code will not scan, type the SKU instead — or use a USB/Bluetooth handheld scanner, which is faster and far more reliable for counting hundreds of items.

Can customers keep buying while we count?

Yes. The session snapshots expected quantities when it starts, so orders placed during the count are measured against that baseline rather than corrupting your variance.

I applied the wrong count. Can I undo it?

Yes. Open Restore points and restore the entry saved before that apply. Free keeps the most recent restore point; Pro keeps the full history so you can roll back to any earlier count.

What is the difference between Partial and Full / zero-based?

Partial only updates what you scan — everything else is untouched. Full / zero-based treats the whole scope as counted, so anything you did not count is set to zero. Use Partial for spot and cycle counts, Full for a proper end-of-year count.

Does it work with variable products?

Yes. Each stock-managed variation is counted as its own line, and scanning a variation’s SKU or GTIN counts that exact variation. If stock is managed at parent level, the product is counted once as a pooled line.

Is it safe on a large catalogue?

Yes. The snapshot runs in the background, the report screens are built to stay light on big catalogues, and exports stream rather than loading everything into memory.

Two people counted at once and the numbers look wrong

Multiple counters is a Pro feature — it records who counted what and keeps concurrent entries consistent. On the free version, have one person count a session at a time.

I don’t see prices or value on the variance report

Variance value needs cost data. Set WooCommerce Cost of Goods data on your products, or use Pro’s purchase-price field and valuation reports.

Where is my licence key / how do I get invoices?

Open Stocktake → Account inside WordPress: it shows your plan, expiry and activated sites, and links to your Freemius account for invoices, renewals and one-click cancellation.

Get support

Still stuck? We would rather hear about it than have you guess.

When you write, telling us your WordPress and WooCommerce versions, the counting mode, and what you expected to happen gets you a useful answer on the first reply.

Start with the free plugin The whole count is free — unlimited sessions, scanning, blind count, variance, apply and undo.
Download free See Pro