WordPress.org

Plugin Directory

Stocktake – Physical Inventory Count, Cycle Count & Inventory Audit for WooCommerce

Stocktake – Physical Inventory Count, Cycle Count & Inventory Audit for WooCommerce

Descripción

Stocktake for WooCommerce is stocktake software that lives inside the store you already run. It takes a physical inventory count, a routine cycle count or a full inventory audit, measures it against the stock numbers WooCommerce already holds, shows you exactly where the two disagree — in units and in money — and writes the correction back in one click.

It is not a stock management system and does not try to replace one. WooCommerce already has a stock field and everyone uses it. The gap is what happens when the shelf and that field stop agreeing, which they always do. This plugin closes that gap and leaves a record of how it was closed.

Count without closing the shop

The core is snapshot-based variance. The moment a session starts, Stocktake records the expected quantity of every product in scope. From then on the count is measured against that snapshot rather than against a moving number — so a stock count can run during trading hours while orders keep arriving, and the sales that happen mid-count do not corrupt the result.

Scope a session to the whole catalogue or to selected categories. Stop halfway through the afternoon and pick it up the next morning; an unfinished count stays exactly where you left it.

Scan with a barcode gun, or with the phone in your pocket

Barcode inventory counting works with any plain USB or Bluetooth scanner — the kind that simply types. Scan and the item is counted on the spot; the cursor never leaves the scan box, so you move from one item to the next without touching the keyboard. Scan the same product twice and it adds on top (5 + 1 = 6, shown as it happens). Anything that needs correcting is corrected on the editable list of what you just scanned.

No scanner? The count screen opens in a phone or tablet browser with phone-camera barcode scanning (Beta). There is no stocktake app to install on each counter’s device — you send them a link. Products can also be found by SKU or by name when a barcode will not read.

A full physical count, cycle counts and spot checks

Count the way the job actually needs:

  • Full or zero-based count — the year-end, count-everything exercise your accountant asks for.
  • Cycle count — a rolling count of part of the catalogue, so high-value lines get checked often and the rest get checked eventually. Nobody counts everything every month; this is how counting programmes survive contact with a real week.
  • Partial spot count — one aisle, one supplier, one category, because something looks wrong.
  • Blind count — the expected quantity is hidden, so the person counting records what is on the shelf instead of confirming what the screen already told them.

Variance you can read, and inventory reconciliation in one click

As counted quantities arrive, the difference against expected stock appears product by product: what the system believed, what was found, the unit gap, and — when WooCommerce Cost of Goods data is set — what that gap is worth in real money. A count that ends «we are forty units short» is an observation. A count that ends «forty units short, and here is what they cost» is a decision.

When the numbers are right, one click applies them. Every apply takes an automatic backup first, so a single undo restores the previous levels if something was posted in error. Export the count sheet to CSV at any point for your own records.

A stock audit that leaves a trail

Editing stock quantities by hand leaves nothing behind. A count run here does: every apply writes a restore point before it changes anything, so the inventory adjustment stays reversible rather than final. Pro keeps the full stock audit trail of applied counts, so you can look back at what changed, when, and by how much.

Who this is for

Shop floor and stockroom teams who count physical stock. Warehouse staff who need a count that survives a busy day. Bookkeepers and accountants who need a year-end number they can defend. And store owners who have been fixing stock quantities one product at a time and would like that afternoon back.

Free

  • Unlimited stocktake sessions, for counts of any size
  • Snapshot-based variance — count while the store stays open
  • Full, zero-based, partial spot and cycle counts
  • Scan to count by barcode, SKU or product name; phone-camera scanning (Beta)
  • Blind count mode; pause and resume an unfinished count
  • One-click inventory reconciliation, with an automatic backup and undo
  • Variance in units and in money when Cost of Goods data is set
  • CSV export; reorder and low-stock shortlist; negative-stock warning
  • Works with product variations

Pro

Stocktake Pro adds quick stock check, tally and goods-in counting modes, a full stock audit trail of restore points, inventory valuation at retail and at cost with a per-category breakdown, ABC insights with a shrinkage trend, multiple counters with attribution, recount and approval, scheduled count reminders, printable count sheets, PDF reports, Excel export and priority support.

A store-wide count tells you the shop is short. It does not tell you where — and «where» is the only part you can act on. The Pro inventory audit breaks the variance down by category, so the department losing stock stops hiding inside the store total:

Full feature comparison and pricing · Read the full documentation — scanning, blind counts, counting modes, variance review, restore points and the Pro reports.

Servicios externos

This plugin can connect to Freemius (freemius.com) to power the optional Pro upgrade: licence activation, automatic updates for the paid version, and the checkout/upgrade screens. Nothing is sent unless you opt in. If you click «Allow & Continue» during the optional opt-in, non-sensitive environment data (site URL, WordPress and PHP versions, active theme/plugins and your admin email) is sent to Freemius to enable licensing and updates; if you skip it, no data is transmitted. Freemius is only contacted for these upgrade/licensing actions.

  • Freemius Terms of Use: https://freemius.com/terms/
  • Freemius Privacy Policy: https://freemius.com/privacy/

Capturas

Instalación

  1. Upload the stocktake-for-woocommerce folder to /wp-content/plugins/.
  2. Activa el plugin desde el menú Plugins de WordPress.
  3. Go to Stocktake in the admin menu and create your first session.

WooCommerce debe estar instalado y activo.

FAQ

What is a cycle count, and how do I run one in WooCommerce?

A cycle count checks part of your stock on a regular cycle instead of counting everything at once. Scope a session to selected categories or your highest-value lines, count them, review the variance and apply — then repeat next cycle. Because each session takes a snapshot, you can cycle count while the shop keeps trading.

How do I run an inventory audit in WooCommerce?

Start a session to snapshot expected quantities, count the shelf, and Stocktake shows the difference product by product in units and in money. Every apply writes a restore point first, so an inventory audit leaves a reversible trail rather than a set of manual stock edits. Export the count sheet to CSV for your records.

Is there stocktake software for WooCommerce that works without a separate system?

Yes — this plugin is the stocktake software, and it runs inside WooCommerce. There is no external inventory platform to sync, no CSV round-trip and no separate app to install on each counter’s device: the count screen opens in a phone or tablet browser.

How do I do a physical stock count in WooCommerce?

Start a stocktake session, then enter counted quantities by scanning barcodes and SKUs or by typing them in. Stocktake compares your count against a snapshot of expected stock and shows the variance for each product. When you are finished, one click adjusts WooCommerce stock to match, and your previous levels are backed up automatically in case you need to undo. This replaces editing each product’s stock quantity one by one.

¿Puedo contar con la tienda abierta o tengo que cerrarla?

You can count while the store stays open. Stocktake records a snapshot of expected quantities when the session starts, so ongoing sales during the count are handled against that baseline. Partial spot counts and cycle counts also let you check sections of the catalogue without pausing trading.

Why is my WooCommerce stock wrong or showing incorrect stock levels?

System stock drifts from reality for many reasons, including caching, variable-product stock quirks, bad CSV imports, and concurrent sales. A physical stock count is the most reliable way to bring your records back in line with what is actually on the shelf. That is what a stocktake does: count, review the variance, and reconcile in one click — stock reconciliation you can hand to your accountant.

What is a blind stock count and why would I use one?

Un conteo a ciegas oculta la cantidad esperada del sistema a quien cuenta, de modo que registra lo que realmente encuentra en vez de confirmar el número de la pantalla. Esto elimina el sesgo de confirmación y produce un recuento más honesto. El conteo a ciegas se incluye gratis y puede activarse por sesión.

¿Cómo cuento el inventario con un lector de código de barras en WooCommerce?

Conecta un lector de código de barras USB o Bluetooth y escanea los artículos para contarlos por código de barras, SKU o nombre de producto. Cada escaneo cuenta el artículo al instante. Para recuentos más pequeños también puedes usar el escaneo con la cámara del móvil, que actualmente está en Beta.

This is barcode inventory counting in the ordinary sense: the scanner types for you, and each scan counts the item on the spot.

Can I use my phone camera as a barcode scanner to count stock?

Sí, el escaneo de códigos de barras con la cámara del móvil está disponible como función Beta y funciona bien para recuentos pequeños. Para contar cientos de artículos, un lector USB o Bluetooth dedicado es más rápido y fiable, y ambos son totalmente compatibles.

Is there a stocktake app I need to install on my phone?

No. There is no separate app to download, and nothing to set up on each counter’s device. The count screen is built to work in a phone or tablet browser: sign in to your store’s admin on the device, open the running session, and start scanning. Because the counting happens in your own store rather than in a third-party app, the counted quantities never leave your site.

How do I bulk update WooCommerce stock after a physical count?

You do not need CSV round-trips or a bulk editor. After counting, one-click stock adjustment writes your counted quantities to WooCommerce. Before it applies, Stocktake backs up your current stock automatically, so a single undo restores the previous levels if something looks off.

How do I see stock variance, and can it show inventory shrinkage in money?

Stocktake shows the variance between counted and expected quantities for every product, and can express that variance in money when WooCommerce Cost of Goods data is set. Pro adds an accuracy and shrinkage trend so you can track how your count accuracy develops over time.

Is this a stocktake tool or a stock management system?

It is a stocktaking tool, not a stock control system. It will not raise purchase orders, hold supplier records, or run your stock day to day. It does one job properly: count what is physically on the shelf, show the variance against WooCommerce, and post the correction. If your stock already lives in WooCommerce, this is the stock take that keeps it honest.

¿Con qué frecuencia debo hacer una toma de inventario frente a un recuento de inventario físico completo?

A common approach is to cycle count high-value items frequently, count mid-value items periodically, and run a full physical count at your financial year end — 30 June in Australia, your accounting year end in the UK. Stocktake supports both full or zero-based counts and partial spot cycle counts, and Pro adds scheduled reminders to keep the rhythm.

Can I pause and resume a stock count?

Sí. Puedes retomar un recuento sin terminar en cualquier momento, de modo que un inventario grande puede abarcar pausas, turnos o varios días sin perder el progreso.

What is the difference between a quick stock check and a full stocktake?

A full stocktake is a session-based count of many products with variance review and a one-click apply. The Pro quick stock check is for one-off fixes: scan any single product, correct its live stock on the spot, and have the change recorded in an audit log. Use stocktakes for periodic counts and quick checks for spot corrections.

¿Pueden contar varias personas a la vez?

Yes, in Pro. Multiple counters can work with their contributions attributed to them, and a recount and approval workflow lets a supervisor review before stock is applied.

¿Puedo valorar mi inventario con este plugin?

Yes. Pro inventory valuation reports the value of your stock at both retail and cost, with a per-category breakdown. In the free version you can also see variance value when WooCommerce Cost of Goods data is set.

¿Qué puedo exportar?

The free version exports count results, variance, and the reorder or low-stock shortlist to CSV. Pro adds branded PDF count sheets and Excel (XLSX) export.

¿Funciona con las variaciones de producto?

Yes — each stock-managed variation is counted as its own line. Scanning a variation’s barcode (its SKU or the WooCommerce GTIN/UPC/EAN/ISBN field) counts that exact variation, and applying updates that variation’s stock.

Where can I find the documentation?

Full documentation lives at erenlabs.net/stocktake-for-woocommerce/docs — getting started, scanning and barcodes, blind counts, counting modes, variance review, applying stock safely, restore points, the Pro reports, and a troubleshooting section for the questions that come up most.

¿Qué códigos de barras se reconocen?

Un código escaneado se compara primero con el SKU y luego con el propio campo de producto GTIN / UPC / EAN / ISBN de WooCommerce (WooCommerce 9.2+). Ambos funcionan para productos y variaciones.

Which third-party libraries are bundled?

Este plugin incluye la biblioteca de códigos de barras ZXing (@zxing/library, licencia MIT,
https://github.com/zxing-js/library) en assets/js/vendor/zxing.min.js, usada como
decodificador de reserva para el escáner de la cámara del móvil cuando el navegador no tiene
BarcodeDetector nativo. Se sirve localmente y nunca se carga desde una CDN remota.

Does this plugin use any external services?

Este plugin usa el SDK de Freemius (https://freemius.com) para el seguimiento de uso
opcional y para la licencia y las actualizaciones de la versión Pro independiente. En la primera
activación se te muestra una pantalla de consentimiento explícito; NO se envía NADA a ninguna parte
a menos que hagas clic en «Allow & Continue»; al elegir «Skip» el plugin sigue siendo totalmente
funcional sin que ningún dato salga de tu sitio. Si aceptas, Freemius recibe
datos básicos del sitio (URL del sitio, versiones de WordPress/PHP, versión del plugin, correo del administrador)
para ofrecer notificaciones de actualización y soporte.
Términos de Freemius: https://freemius.com/terms/
Política de privacidad de Freemius: https://freemius.com/privacy/

Reseñas

No hay valoraciones para este plugin.

Colaboradores y desarrolladores

«Stocktake – Physical Inventory Count, Cycle Count & Inventory Audit for WooCommerce» es un software de código abierto. Las siguientes personas han colaborado con este plugin.

Colaboradores

«Stocktake – Physical Inventory Count, Cycle Count & Inventory Audit for WooCommerce» está traducido en 1 idioma. Gracias a los traductores por sus contribuciones.

Traduce «Stocktake – Physical Inventory Count, Cycle Count & Inventory Audit for WooCommerce» a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios

1.1.30

  • Improved: the Eren Labs Store Suite section on the upgrade screen now makes the case for each of the six plugins – a sample screen, what it does, who it suits, its own price and a link to its page – beside the bundle arithmetic and a purchase box.
  • New: the upgrade screen answers four questions about counting a live shop, and shows the three steps from buying a licence to seeing the Pro screens.
  • Translations: the new upgrade-screen text is translated in all seven bundled languages, along with older strings that had stayed English – the review request and the «stock is held on the parent product» notice.
  • Hardened: request values read on the plugin’s admin screens are now sanitised where they are read. No change in behaviour.

1.1.29

  • New: Eren Labs Store Suite — the upgrade screen now shows the six-plugin suite and its single-licence bundle.
  • New: the plugin accepts a Store Suite bundle licence; one key activates every Eren Labs plugin installed on the site.

1.1.28

  • Compatibility: tested up to WooCommerce 11.1.
  • Readme: the Freemius opt-in disclosure now has its own External services section (it was only in the FAQ).

1.1.27

  • Updated: bundled Freemius SDK 2.13.4.

1.1.26

  • Listing: the description now describes the stock take and inventory count workflow directly; the bundled-library and external-service notes moved to the FAQ.
  • Fixed: Apply could time out on a large count; it now runs in batches.
  • Fixed: a barcode the till could scan was not found during a count, and a variation’s own SKU is now searchable in the count box.
  • Fixed: the count screen could show a shortfall Apply would then refuse; the counted-quantity ceiling is enforced on the server as well.
  • Fixed: a count the database refused was reported as saved; the scanner is now told, so the item can be scanned again.
  • Fixed: Apply and Undo take the same lock, and Undo says when there was nothing to restore.
  • Fixed: the per-category variance table now ignores forgotten extra rows, matching the summary.
  • Improved: the phone-camera scanner keeps the screen awake, survives a tab switch, closes on Escape and no longer closes on a stray tap.
  • Improved: a variation is valued at the cost its parent carries, and a cost typed here is shared with sibling Eren Labs plugins.
  • Fixed: uninstall removes every option and finishes on multisite and with an object cache; other plugins’ notices are hidden on Stocktake screens rather than removed.
  • Updated: bundled ZXing decoder 0.23.0. The Free vs Pro comparison and the upgrade page meet WCAG AA contrast.
  • Tested with WooCommerce 11 and WordPress 7.1.

1.1.25

  • Fixed: an undo that could not restore every product still reported plain
    success. If a product was deleted between applying a stocktake and undoing it,
    the screen showed a green «Reverted N products» and said nothing about the ones
    it could not reach. The restore point was always kept so the undo could be
    retried — but nobody was told to retry it. The session screen now names the
    products that could not be restored and says the restore point is still there.
  • Fixed: a full (zero-based) count could set a product to 0 that nobody counted.
    Scanning an item that was outside the count’s scope adds it to the session; if
    the counter then removed that count with the ✕, the line stayed behind as
    «not counted», and a full count treats not-counted as zero. Lines added during
    a count are now exempt from that rule — removing their count means «forget this
    line», never «this line is empty».

1.1.24

  • Fixed: stock variances were valued at the retail price instead of the cost
    price on stores that record cost in WooCommerce’s own Cost of Goods field.
    WooCommerce treats that field as internal meta and hands back nothing while
    the Cost of Goods feature is switched off, so the plugin fell through to the
    shelf price without saying so — while the Valuation report, which reads the
    database directly, showed the true cost. Same product, two different costs
    depending on the screen. Cost is now read the same way in both places, and a
    variation with no cost of its own inherits the parent’s.
  • Fixed: creating a stocktake logged two «called incorrectly» notices per
    product on sites with debugging enabled. That was the same root cause and is
    now silent.

1.1.23

  • Compatibility: verified against WooCommerce 10.9 and WordPress 7.0. The
    «WC tested up to» header now reads 10.9, so the incompatibility notice no
    longer appears on up-to-date stores.
  • Listing: added a walkthrough video and a link to the full online
    documentation, so the answers to the common setup questions are one click
    away instead of a support ticket.
  • No functional changes to the plugin itself.

1.1.22

  • The plugin is now listed as «Stocktake – Physical Inventory Count for
    WooCommerce» — the same plugin and the same install; only the display name
    is clearer about what it does. Listing and documentation refreshed.
  • Sin cambios funcionales.

1.1.21

Una reelaboración desde cero de la pantalla de recuento para un escaneo real y sin interrupciones.

  • Recuento con un solo escaneo: un código de barras reconocido —o una elección por búsqueda de nombre, o una
    lectura de cámara— se cuenta en el instante en que se resuelve. Sin preguntar la cantidad, sin diálogos, el
    cursor nunca sale del cuadro de escaneo, así que escaneas un artículo tras otro al
    ritmo del lector. El primer escaneo cuenta 1.
  • Escanea el mismo producto otra vez y se suma por encima, en todos los modos, con una nota clara
    de «5 + 1 = 6» para que un doble escaneo accidental nunca pase desapercibido.
  • Las correcciones se trasladan a un panel grande y editable para el artículo que acabas de contar, más
    una lista editable de escaneos recientes: ajusta una cantidad con el selector +/−
    (se guarda automáticamente) o elimina una línea por completo. No hace falta tocar la pantalla
    en absoluto si el valor por defecto de 1 es correcto.
  • Un producto que no está en la lista de este recuento simplemente se añade y se cuenta cuando lo
    escaneas (al fin y al cabo, lo tienes en la mano), con un aviso discreto, nunca una ventana emergente.
    Un código que no coincide con ningún producto muestra un mensaje en línea con el código escaneado.
  • Los lectores de hardware se reconocen incluso cuando el cursor está en un campo de
    cantidad, y se rechaza una cantidad del tamaño de un código de barras: un escaneo perdido se trata como
    el siguiente artículo, no se guarda como recuento.
  • Nuevo endpoint REST y evento en el histórico de auditoría para eliminar un recuento (el historial de sesiones
    de Pro los muestra como «Count removed»).
  • Fiabilidad: las lecturas del recuento en vivo nunca se sirven desde una caché, y los escaneos rápidos o
    solapados se procesan en orden para que no se pierda ni se duplique ningún recuento.

1.1.20

  • Corrección: la biblioteca de códigos de barras ZXing incluida vuelve a estar en el paquete; un paso de
    empaquetado dejaba assets/js/vendor/ fuera del zip, lo que rompía el
    decodificador de reserva del escáner de la cámara del móvil en iOS.
  • Tareas de mantenimiento del directorio para WordPress.org: escapa toda la salida de administración mediante
    wp_kses(), prepara cada consulta a la base de datos con marcadores de posición, usa un espacio de nombres PHP
    interno más distintivo y elimina los archivos de imagen del directorio y los metadatos de compilación
    del paquete del plugin.
  • Every Pro-only engine — the approval workflow, presets, scheduled
    reminders, stock-check access layer and the Pro report helpers — now ships
    exclusively in the separately distributed Pro build.

1.1.19

  • Corrección: las exportaciones de Excel ahora declaran un estilo de celda por defecto, de modo que los lectores estrictos
    (p. ej. openpyxl) ya no avisan de un estilo por defecto ausente. Los archivos
    siempre se abrían correctamente en Excel; esto los hace totalmente estándar.
  • Corrección: un inventario cancelado ahora muestra «View» en lugar de «Count» en la lista.
  • Corrección: el escáner de la cámara del móvil muestra un mensaje claro cuando la cámara no puede
    iniciarse (navegador no compatible o contexto no seguro) en lugar de no hacer nada.

1.1.18

  • Cumplimiento de la revisión de WordPress.org: el plugin gratuito ya no contiene nada de código Pro
    en absoluto; los modos de recuento exclusivos de Pro y la valoración a coste residen exclusivamente en
    la compilación Pro distribuida por separado (no hay nada bloqueado ni restringido).
  • Todo el JavaScript de administración se encola mediante wp_enqueue_script (sin etiquetas en línea).
  • Documenta el consentimiento opcional de Freemius en «Servicios externos».

Versiones anteriores: consulta el archivo changelog.txt incluido con el plugin.