Inventory Check for WooCommerce
Count physical stock from your phone and reconcile it with WooCommerce.
Run a stocktake without spreadsheets or working through the WooCommerce admin. Search for a product, enter what’s actually on the shelf, review discrepancies and update your WooCommerce stock when you’re ready.
See How It Works
Count physical stock from your phone and reconcile it with WooCommerce.
Run a stocktake without spreadsheets or working through the WooCommerce admin. Search or scan a product, enter what is actually on the shelf, review discrepancies, and update WooCommerce stock when you are ready.
Inventory Check is free. There is no paid edition. Install it from the WordPress plugin directory.
- Search products by name or SKU
- Scan barcodes with the phone camera
- Count simple and variable products
- Keep counting if the connection drops, then sync
- Compare physical counts with WooCommerce
- Review discrepancies before updating stock
- CSV export and audit history of completed stocktakes
Documentation
Walk the warehouse with your phone, count stock, review differences, and update WooCommerce safely. The plugin is fully free — there is no paid edition. Current product version: 0.2.0.
What Inventory Check Does
Inventory Check is a stocktaking tool, not a warehouse-management system.
Warehouse staff walk the aisles with a phone or tablet, find products, enter the physical count, review differences, and — when a supervisor confirms — update WooCommerce stock.
Counting happens in a dedicated app on your WordPress site:
https://YOUR-SITE/inventory-check/
It does not happen in wp-admin. There is no neilmatthews.com inventory cloud. Product and count data stay on the merchant site.
Use it to:
- Sign in with a WordPress user (counter or supervisor)
- Optionally install the app on a phone home screen
- Search WooCommerce products by name or SKU, or scan a barcode
- Record physical counts for simple products and variations
- Keep counting if the connection drops, then sync when you reconnect
- Pause and resume a stock check
- Review expected quantity versus what was counted
- Catch conflicts when live stock changed during the count
- Approve updates before WooCommerce stock is changed
- See completed stock checks, audit detail, and CSV export
It does not replace a WMS, collect customer or payment data, or change WooCommerce stock until a supervisor confirms Update stock in the app.
Requirements
| Requirement | Minimum |
|---|---|
| WordPress | 6.5+ |
| PHP | 8.1+ |
| WooCommerce | 8.0+ (must be active) |
| Permalinks | Pretty permalinks (not “Plain”) |
| HTTPS | Required on live sites (camera, installable app, secure cookies) |
Pretty permalinks are required for /inventory-check/. Local WP over HTTP is fine for development; use HTTPS in production.
Installation
- Install and activate WooCommerce.
- Install Inventory Check for WooCommerce from the WordPress plugin directory, or upload the plugin ZIP under Plugins → Add New → Upload Plugin.
- Activate the plugin.
- If
/inventory-check/returns 404, open Settings → Permalinks and save any pretty structure. - Open Inventory Check in the admin sidebar, or go to
/inventory-check/while logged in.
Quick Start
- Confirm WooCommerce — Products you will count must be stock-managed (simple products or variations with Manage stock enabled).
- Open the app — Log in to WordPress, then visit
/inventory-check/on a phone or desktop browser. - Start a stock check — On Count, optionally name the check and tap Start stock check.
- Find a product — Open Search. Choose Name or SKU, or tap Scan. Nothing is written to WooCommerce from Search.
- Enter the physical count — Use + / − or type the quantity, then Save count.
- Review — When ready, tap Review differences.
- Update stock — A supervisor taps Update stock and confirms. Ready lines are set to the counted quantity. Conflicts are left alone.
Shop Managers and Administrators can do every step. Counters can count and review; they cannot update WooCommerce stock.
Admin Menu Overview
| Screen | Purpose |
|---|---|
| Overview | Plugin home in wp-admin. |
| History | Completed stock checks, with audit detail and Download CSV. |
| System Status | Environment checks when something looks wrong. |
Counting, review, and Update stock stay in the app at /inventory-check/.
Users and Roles
Inventory Check uses WordPress users. There is no separate warehouse login or device pairing.
| Who | Can count | Can update Woo stock | wp-admin plugin screens |
|---|---|---|---|
| Administrator | Yes | Yes | Yes |
| Shop Manager | Yes | Yes | Yes |
| Inventory Check Supervisor | Yes | Yes | Yes |
| Inventory Check Counter | Yes | No | No — sent to the app after login |
Add a warehouse user under Users → Add User. Choose Inventory Check Counter or Inventory Check Supervisor, then give them /inventory-check/.
On Status in the app, staff see who they are signed in as and a Log out button. On a shared device, always log out when finished.
Each user can have one open stock check at a time (counting, paused, or in review).
Using the App
The app has three tabs: Count, Search, and Status.
Start a stock check
- Open Count.
- Optionally enter a Name (for example “Aisle B — 23 Aug”).
- Tap Start stock check.
If a check is already open, use Resume.
Search and count
- Open Search.
- Choose Name or SKU, or tap Scan.
- Type enough to find the product. Tap Refresh if the catalogue looks stale.
- Tap the product.
- Enter Physical count and tap Save count.
Expected WooCommerce stock is shown for reference. Saving a count does not change WooCommerce. Products already counted in this stock check show Checked and the saved quantity.
Pause and resume
On Count, tap Pause. Open the app later and tap Resume.
Review differences
On Count, tap Review differences.
| Filter | Shows |
|---|---|
| Differences | Counted lines where physical ≠ expected |
| All counted | Every counted line |
| Conflicts | Lines that are not safe to write |
Keep counting returns to search without updating WooCommerce.
Update WooCommerce stock
Only supervisors, Shop Managers, and Administrators see Update stock.
- Review the list. Recheck conflicts if needed.
- Tap Update stock.
- Confirm. Ready lines are set to the physical count.
- Conflicts are not written. Recheck those products and review again.
A browser retry will not apply the same update twice.
Status
Status shows signed-in name, store, connection, role, and version. Unsynced local counts (if the connection dropped) are listed here. Clear local counts on this device wipes the browser copy for this user (server counts stay). Use Log out on shared phones.
Installing the App on a Phone
The app works in an ordinary mobile browser. Installing to the home screen is optional.
Android (Chrome)
When the browser offers it, tap Install app in the header, or use the browser menu Install app / Add to Home screen.
iPhone (Safari)
- Open
/inventory-check/in Safari (not an in-app browser). - Tap Share, then Add to Home Screen.
Production installs should use HTTPS. Camera scanning and reliable cookies need a secure origin.
How Stock Updates Stay Safe
Inventory Check never blindly overwrites WooCommerce. When a product is first counted, the plugin stores WooCommerce’s stock at that moment (expected). At review it compares live stock to that expected value.
| Situation | Result |
|---|---|
| Live stock still matches expected | Line is ready. Update sets Woo stock to the physical count. |
| An order, refund, or manual edit changed stock during the check | Line is a conflict. It is not written. Recheck it. |
| Product is no longer stock-managed | Line cannot be updated. Recheck or skip. |
History
Completed stock checks appear in the app Count screen and in Inventory Check → History.
History lists all completed checks (paginated), with audit detail and Download CSV.
History is an operational record, not a reporting suite.
Scanning and offline counting
Point the camera at a barcode from Search → Scan. Name and SKU search remain available.
If the connection drops, keep counting; pending counts sync when you reconnect.
If Scan shows a black camera, open Status, copy the camera debug text, and send it with a support request.
System Status
Inventory Check → System Status reports versions, database tables, REST and PWA URLs, last completed stocktake, and HTTPS. It does not log passwords, cookies, or REST nonces.
Troubleshooting
/inventory-check/ is 404
- Activate the plugin.
- Settings → Permalinks — any pretty structure, then Save.
- Visit
/inventory-check/while logged in with Inventory Check access.
Asked to sign in, or a permission error
You must be logged in as Administrator, Shop Manager, Supervisor, or Counter.
WooCommerce stock did not change
- Only Update stock writes WooCommerce.
- Saving a count only stores the warehouse figure.
- Conflict lines are never written.
- The user who confirms must be a supervisor, Shop Manager, or Administrator.
You are offline
Keep counting if you already have an open stock check. Open Status to see pending sync. When back online, wait until it shows counts synced before reviewing.
Camera / Scan does not work
- Use HTTPS on a real device.
- Allow camera permission.
- On iPhone, use Safari or the Home Screen app.
- Open Status and use Copy camera debug if the preview is black.
Shared phone still shows the last person
Tap Log out on Status before handing the device over.
Privacy
Inventory Check processes WordPress account data already on the site, WooCommerce product and stock fields, and stocktake/audit rows. It does not process customer personal data or payment card data.
The optional home-screen app caches CSS, JavaScript, and icons only. Unsynced counts may be kept in the browser, keyed by WordPress user ID, and are wiped on log out.
FAQ
Do warehouse staff need wp-admin?
No. Counting is done in the app. Supervisors can also open History in wp-admin.
When is WooCommerce stock changed?
Only after a supervisor confirms Update stock. Ready lines are set to the counted quantity. Conflicts are left for a recheck.
What if stock changes while we are counting?
That line becomes a conflict and is not written.
Can more than one stock check run at once?
Each user can have one open stock check. Different users can count at the same time.
Does it support variable products?
Yes. Staff count the variation, not the parent variable product.
Do we need barcodes?
No. Name and SKU search always work. Camera scanning is optional.
Is there a native iOS or Android app?
No. The MVP is the installable web app on your WordPress site.
Where is data stored?
On your WordPress/WooCommerce site. There is no hosted inventory service.
Is there a paid or Pro version?
No. The whole plugin is free on WordPress.org. Scanning, offline counting, CSV export, and audit detail are included.

