The ledger is the source of truth.
Every number you see — on-hand, available, buildable — is derived from one immutable record of what actually happened. Nothing is ever quietly overwritten.
A ledger, not a number.
An immutable movement ledger
Every change to stock is a permanent, timestamped record — what changed, by how much, why, and who did it. "On-hand" isn't a field someone edits; it's a projection derived from the ledger, and it can always be rebuilt from that history if anything's ever in question.
Tracked at the exact variation, one warehouse
Stock is tracked at the size/color level — never lumped at the parent-product level — inside a single shared warehouse. Every storefront you sell on draws from that one pool (see Availability & Sync for how that reaches five country stores).
Stock operations, built for the floor
Receive and subtract stock by scanning a QR code. A count posts the difference found, not a blind overwrite, so you always know what a recount actually changed. Opening balances handle the one-time go-live import. Customer returns are the only route finished goods take back into stock. A negative-stock guard stops a pick from ever going below zero — adjustments can, deliberately, when a correction is needed.
Views & reconciliation
On-hand lists for blanks and finished goods, kept separate. A filterable movement history for any variation. And a reconciliation report comparing on-hand against the ledger — report-only: it tells you about drift, it never silently corrects it out from under you.
Every label knows exactly what it is.
A QR code carries a typed reference — a blank or a finished item, never ambiguous — so the scanner always knows what it's looking at before anything is committed.
Label
Resolved on scan
Printable QR sheets can be filtered and generated for any set of variations. An old-format label fails safely rather than silently matching the wrong item.
Every bin gets a label the scanner already understands.
Pick a set, print it
From QRs, choose Blanks (SFP) or Finished Products, filter down to the variations you need, select them, and print — one label per variation, ready for a sheet of adhesive stock.
What's on the label
Product name, size, SKU, and the QR code itself — everything a warehouse operator needs to confirm they've got the right shelf or bin before they scan.
Stick it, scan it
Once it's on the shelf or bin, that same label is what gets scanned in Receive Stock, Stock Count, or Picking — the label printed here is the label the rest of the app already speaks.
Old labels fail safely
A label from a legacy format is recognized as unrecognized and rejected outright — it never silently resolves to the wrong item.
Printing shelf labels, in the app.
Receiving stock by scan, in the app.
Every movement feeds the number your storefront shows.
Building assembly-to-order on WooCommerce? We built this for you.
We're onboarding a first group of apparel brands before opening up broadly.