Scanning on the floor
Look up, receive, count, pick, move and correct — all from an Android scanner with a hardware trigger. The barcode on the box is enough; print your own labels for whatever arrived bare.
warehouse management for woocommerce
ActualStock runs the warehouse behind your WooCommerce store — scanning, bins, picking, receiving and stocktakes — and keeps the number in the shop matched to the stock on the floor.
Android scanners · thermal and shelf labels · two-way WooCommerce sync
16 short · counted by Dan, 7:42 am · store updated
Every count keeps a name and a time against it, so the argument ends early.
01 · the problem
Stock does not go wrong all at once. A pick goes out unrecorded. A return never gets booked back in. The same item is listed twice because that is how customers search for it, and only one of the listings gets adjusted. A count happens once a year, on a Saturday, with the doors shut.
By the time anyone checks, the figure in WooCommerce is a guess with a decimal point on it.
Staff learn not to trust the numbers, and from then on the shop is run from memory.
02 · how it works
Your shop keeps trading the whole way through.
ActualStock groups your listings by the part numbers inside them and walks you through them a group at a time: confirm, skip, split a group that turns out to be two items, undo a mistake on the next screen.
Blast-scan a bay with the trigger. What you counted is what the shop shows from that moment, with your name and the time on it. Everything you have not counted yet carries on untouched.
An order deducts once, from the bin it was picked out of, and the new level goes back to every listing that sells that item.
03 · what it does
Look up, receive, count, pick, move and correct — all from an Android scanner with a hardware trigger. The barcode on the box is enough; print your own labels for whatever arrived bare.
Stock lives in bins — zone, aisle, bay, shelf, position — and one item can sit in several. A lookup says which shelf and how many are on it.
bin a · 01 · 3 · qty 142
The orders waiting, what to pick for each, and which bin to take it from — sequenced by the route through the racking rather than by the order they came in.
Book a delivery in against the PO it belongs to. Short shipments and overs are recorded as what they are, so receiving stops being a guess and the cost comes in with the stock.
Count a bay at a time instead of shutting the place down for a weekend. Repeat scans add up, variances are listed with the bin and the person, and the count is a record rather than an overwrite.
Orders arrive by webhook and deduct from the right bins, at the point the order actually holds stock — not when an abandoned checkout writes a pending row. A stock change queues one push per mapped listing.
Received, picked, sold, moved, counted, corrected, returned — every movement is written down, and nothing is ever edited or deleted. The level you see is what the history adds up to, and it can be rebuilt from that history at any time.
why does it say 3 when there are 5 here → one screen, back to day one
The number printed on the box is kept and searchable, learned from real deliveries rather than guessed from prefixes — so you can find something by what is on the carton instead of a SKU that only exists in the database.
Dead stock by value, not a count of slow lines. Warranty exposure on stock bought longer ago than the supplier's claim window. Sales against what the stock actually cost. Counted against advertised, at cost and at retail.
04 · in the warehouse
A native Android app for rugged barcode scanners. Scanning is the hardware trigger — there is no on-screen scan button anywhere, because the operator's hands are full.
It stays signed in between shifts. Asking a picker to type an email address and a password on a four-inch screen in a cold aisle is how a system gets abandoned.
pull the trigger · no on-screen button to find
05 · one pool, many listings
Shops list the same physical item more than once — under a second category, a trade title, a brand name, a duplicate that came in with an import.
WooCommerce then tracks a separate stock figure for each of them, and nothing keeps those figures honest. One sells, the others still say in stock, and the shelf is empty.
ActualStock puts one stock pool behind every listing for an item. A sale on any of them deducts once, and the new level is pushed back to all of them. The figures stop drifting because there is only one figure.
what the store tracks today
sell on any listing · deduct once · all three updated
aisle a
the shop keeps trading either way
06 · going live
The frightening part of any stock system is the day you turn it on. ActualStock does not have that day.
An item starts talking to the shop when somebody counts it, and nothing else does. Count a shelf, and those items go live: their levels push, their sales deduct. Everything uncounted carries on exactly as it did.
There is no moment where a system with no numbers in it overwrites a shop that is trading.
07 · what makes it different
A margin drawn from one costed receipt in ten says so. A dead-stock figure that is a minimum is labelled a minimum. A part number that could mean two different items resolves to neither, and asks. Most systems present every number with the same confidence, which is how people end up trusting the wrong one.
Soft deletes, an append-only ledger, and an undo on the screens where mistakes get made at speed. The history is the record; the current number is only what the history adds up to.
Who counted it, who picked it, who corrected it and when. When a number changes you can see what happened instead of guessing, and the argument about the shelf ends early.
08 · who it is for
09 · what it runs on
No middleware subscription, no connector marketplace, nothing to install on the shop floor but the app.
10 · pricing
No modules, no per-seat maths, no quote. If you want to know what it costs, it is on this page, which is where prices go.
$500 USD / month
Card payment is not switched on yet, so the first accounts are set up by hand. Same price, same everything in it.
No setup fee, no minimum term.
11 · talk to us
Tell us roughly how many SKUs you carry, how many listings sit on top of them, and what your shelves look like. We will tell you plainly whether ActualStock suits the way you work.
or email hello@actualstock.app