Comparison

Ops Console vs Stocky

Stocky ends on 31 August 2026, so this comparison has a short shelf life — it's really "what do I lose and what do I gain." We've written it that way. Ops Console beats Stocky on one thing that decides most migrations — it imports the purchase-order history Shopify refuses — matches it on most of the rest, and is plainly worse on two. The two are below, before the pitch, because you'll find them in week one anyway.

Feature by feature

Amber marks a row where Stocky is the better product. There are two of them and we haven't buried either.

FeatureStockyOps Console
Purchase ordersCreate, send, receive, reconcile. The core of the product.Create, send, receive, reconcile. Receiving writes stock back to Shopify.
SuppliersFull supplier records — contacts, lead times, terms. No export.Same records. Rebuilt from your PO reports, or imported from your own CSV.
Cost pricesTracked per variant. Exports cleanly as CSV.Imported from that export, then kept current as new POs land.
Demand forecastingBuilt-in forecast + suggested reorder quantities.Reorder points and stockout-risk alerts first; rolling-velocity forecasting and deadstock views alongside, if you want them.
Stocktakes / cycle countsFull stocktake workflow, countable from the POS itself.None. We have no stocktake feature — count in Shopify admin or POS.
Barcode scanningScanner hardware paired through Shopify POS.Browser scan-to-receive: point a plain USB or Bluetooth scanner at the receiving station and each scan matches across every open PO. No scan-to-count, no label printing.
Multi-locationPer-location stock and transfers.Receive each PO into a chosen location; per-location levels sync back per location.
Per-order marginNothing. Stocky never costed an order.Cost price × units − ad spend − processor fees, per order.
Ad-spend attributionNothing.Meta and Google spend pulled against orders so margin is net of acquisition.
Historical PO importN/A — it was the system of record.Your exported Stocky PO reports load as real, queryable purchase orders — supplier, cost, dates, line items. Shopify can't take them; we haven't found anything else that will.
PriceFree with Shopify POS Pro.Free during private beta. $29 / $59 / $119 a month after.

What Stocky did that we don't

Stocky's real advantage was never its purchase orders — it was that it lived inside Shopify POS, on the hardware your staff already had in their hands. The two below we simply don't do. For a certain kind of merchant they're still disqualifying:

There is no POS UI

Stocky was wired into Shopify POS as an admin extension — your staff opened it on the till, on the shop floor, without leaving the POS app. Ops Console is a browser app. If your inventory work happens at the counter rather than at a desk, that's a real regression and no amount of feature-matching elsewhere fixes it.

There are no stocktakes

Stocky ran full stocktakes and cycle counts, scan-driven, in the POS. We don't have a stocktake feature — not a worse one, none. We import your Stocky stocktake history so the record survives, but counting going forward happens in Shopify admin or POS. (Scanning to receive a delivery, a different job, we do — see below.)

If you run a physical shop where stock is counted with a scanner at the till, the honest answer is that Shopify's native POS inventory tools are a closer replacement for that part of your workflow than we are, and they're free. Take the history somewhere it survives, and count in POS. Receiving a delivery is a different job from counting the shop, and receiving we now do: point a plain USB or Bluetooth scanner at the receiving station and each scan matches across every open PO — no POS extension and no hardware SDK, because the scanner just types the barcode into a focused field. What that doesn't cover is scanning to count and printing barcode labels.

Four smaller things we're asked for and don't have

Listed here so you find them now rather than in week two:

  • Barcode label printing. We don't generate or print labels — pair us with a dedicated label app, which is what the rest of the category does too.
  • Multiple invoices against one purchase order, each with its own amount, date, due date and paid status. One PO, one invoice record.
  • Landed-cost adjustments — spreading freight, duty or discounts across line items into a true per-unit cost. Cost is what the PO line says.
  • User-customisable report columns. The report layouts are ours, not yours; you can't choose which SKU or variant fields appear.

Stocky was free. We're not.

Worth saying out loud: Stocky came free with Shopify POS Pro. So this is a paid replacement for a free tool, and "it's shutting down" isn't a reason to pay us — Shopify's native inventory is also free, and for a lot of stores it's the right move. Two things justify the price, and if neither applies to you, don't pay it.

We do margin. Stocky never did.

Stocky knew what you paid for a unit but never told you whether an order made money. Ops Console nets cost price, ad spend and processor fees per order. That's not a Stocky feature we rebuilt — it's a question Stocky couldn't answer at any price, and it's why most merchants stay after the migration is done.

We take the history Shopify won't.

Shopify's own guide says "Historical purchase orders can't be imported into Shopify." and "Suppliers can't be exported from Stocky.". Your PO reports export fine; there's just nowhere in Shopify admin to put them. We load them as real, queryable purchase orders — supplier, cost, dates, line items.

Both quotes are Shopify's, from their transitioning-from-Stocky guide, not our characterisation of it.

How the connection differs

Stocky was a Shopify-owned app installed from the App Store. Ops Console isn't installed at all. You generate a read-only Custom App API key inside your own Shopify admin and paste it in — read_products, read_orders, read_inventory, read_fulfillments. No OAuth consent screen, no "this app can make changes to your store" dialog, and you can see the exact permissions on the key because you made it. Receiving stock against a PO is the one thing that writes back; the inventory module asks for write_inventory up front rather than escalating later. Margin and reconciliation are read-only for good.

Pricing

Free during the private beta — all modules, no credit card. When billing switches on it's $29/mo (Starter, 500 orders + 1,000 SKUs), $59 (Growth, 2,000 orders + 10,000 SKUs) and $119 (Scale, unlimited). Full pricing.

Check before you decide

The fastest way to settle this isn't reading a comparison table we wrote — it's finding out whether your own export lands cleanly. The checker parses your Stocky CSVs, cross-checks the SKUs against your live catalog, and reports row by row what would import and what would be rejected and why. If it turns out your data's simple enough that Shopify native covers you, it says so.

Free Stocky export checker

No account, nothing stored. Row-by-row compatibility report in about 60 seconds.

Keep reading