Inventory for Shopify

Know what your stock actually costs you.
And what to buy next.

with Stocked,the skillet carries $3.11 of freight — not $1.31.

Stocked allocates freight the way it was really incurred — by value or per unit, not split evenly across the carton — and writes the true landed cost back into Shopify. Then it works out what to reorder, from what has actually been selling.

Join the founding list See the workspace
Flat published pricing — $39, $89, $179 Founding rate for the first 50 on the list Nothing reprices unless you said it could
stocked · stock workspace
VariantCostLandedMarginCoverRisk
Cast Iron Skillet — 26cm$38.00$40.3954.6%102ok
Canvas Tote — Black$14.20$14.2062.6%2.6out
Linen Apron — Charcoal$21.80$21.8058.1%12low
Merino Crew Sock — M$9.40$9.9558.5%130ok
Enamel Mug — Cream$6.10$6.1066.1%58ok
showing 5 of 1,284orders checked hourly · last 22m ago

The shape of it

Stock goes in loose. It comes out as a number.

01 — before

Stock everywhere. A count nowhere.

Hundreds of variants, a supplier invoice, a freight bill, and a spreadsheet that was right last month. The margin column is fiction and everybody knows it.

02 — receiving

It gets packed. And it gets costed.

Freight is allocated across the lines as stock is received — by value or per unit — and the moving weighted average cost is written straight back to Shopify.

03 — with Stocked

It lands as a number you can act on.

Every variant carries its true landed cost, its real margin, and how many days of cover is left. Not a report you export — a workspace you work in.

One workspace

Everything below starts the same way.

Not features. Sentences a merchant would actually say on a Tuesday.

Landed cost

with Stocked, the shipping bill is part of the cost

Allocated across the lines at receiving, by value or per unit, rolled into a moving weighted average and written back to Shopify as cost per item.

$41.11what a $38.00 skillet
actually cost you
Forecasting

with Stocked, you see the stockout coming

Thirty-day statistical forecasting per variant, days of cover, and a stockout-risk score. Alerts fire before the shelf is bare, not after.

3.2days of cover
on your bestseller
Margin

with Stocked, the margin column is true

Real margin per variant against landed cost, not supplier price. Cost creep is flagged the moment a supplier quietly raises a price.

54.6%true margin, once the
freight is counted
Purchasing

with Stocked, the reorder list writes itself

Suggested quantities from real sales velocity, your supplier's lead time and the cover you want — less what is already on order, clamped to the MOQ. Raise the purchase order from the same screen; receiving costs it.

$22,410incoming,
at landed cost
Competitors

with Stocked, you hold your margin floor

Track competitor prices, see where you sit, and reprice within a floor you set. Margin protection, not a race to the bottom.

41 / 53tracked SKUs at
or below market
Bringing data in

with Stocked, your costs come with you

Two CSV importers: suppliers with their costs, lead times and MOQs, and an opening cost per variant. Every row is validated and shown to you before a single one is written.

0rows written
before you confirm

Landed cost

with Stocked, the $340 you paid in freight shows up in your margins.

Shopify's cost field holds what the supplier invoiced. It has no idea you also paid to get the pallet here — so every margin you look at is flattering, and the heavier the product the more flattering it is.

Stocked splits that freight across the lines it actually belongs to, by value or per unit, and writes the real cost back to Shopify. Same shipment, honest numbers.

“If I buy 100 feathers and 100 bricks, the shipping cost will be evenly split across 200 items.” — a review of the tool most merchants are leaving. Splitting it evenly is the other way to get this wrong.
PO-1042 · freight $340.00allocated by value
LineUnitsUnit cost+ FreightLanded
Cast iron skillet60$38.00$3.11$41.11
Merino crew sock200$9.40$0.77$10.17
Split evenly, every item would carry $1.31 — charging the socks 70% too much freight and the skillets 58% too little. You would price both wrong, and your margin report would agree with you.
Suggested order · Merino Crew Sock — Msupplier: Northbound Mills
Selling4.2 / daytrailing 30 days
Supplier lead time21 daysfrom the supplier record
Your cover target14 daysyour setting
Needed to cover both1474.2 × (21 + 14)
On hand, and on order14 · 0subtracted
Supplier MOQ150rounds 133 up
Suggested order150units
Nothing is ordered. It becomes a purchase order when you say so, and receiving is what costs it.

Worked through

And what to buy next.

Every number above is one you already own — how fast it sells, how long your supplier takes, how much cover you want to hold. Stocked does the multiplication, subtracts what is already coming, and respects the minimum order quantity.

What it will not do is invent a reorder point you never set, or place the order for you. It puts a number in front of the person who knows the business, which is the part software is actually good at.

Repricing you can trust

No price moves unless you said it could.

Automated repricing goes wrong when it races to the bottom behind your back. Suggest-and-approve is the default on every plan: rule-based or competitor-driven, every change waits in a queue for you. On Pro you can let a rule apply itself — and even then it cannot cross the margin floor or the daily move cap you set.

  • Review before execution. Approve or reject each change, one click or in bulk. The default on every plan.
  • Margin floors are hard limits. A rule that would breach one is held, not rounded — including a rule you have let run on its own.
  • Every change is on the record. What changed, which rule proposed it, who approved it, and when.

The queue itself is in the screenshots above — under Repricing.

What it doesn't do

The list our competitors won't publish.

Buying software on a promise it can't keep is how you end up doing this again in a year.

No minimum and maximum levels per SKU

If you set a min and a max against every SKU in Stocky, that habit does not come across — Stocked has no such field. It suggests a quantity instead, from sales velocity × (supplier lead time + your cover target), less what is already on order, clamped to the MOQ. Better maths, different habit.

The forecast is statistics, not AI

Thirty-day statistical forecasting, days of cover and a stockout-risk score, computed from your own Shopify order history. There is no model, no seasonality engine and no plain-English commentary. Every competitor says AI; this one says arithmetic you can check by hand.

Automatic repricing is Pro, and off

On every plan, price changes are suggested and wait for your approval. Letting a rule apply itself is a Pro capability you switch on deliberately, per rule — and it still cannot cross the margin floor or the daily move cap you set.

Orders are checked hourly

Not streamed in real time. Every screen states when it last looked and what the figures cover, so a quiet week never reads as a broken sync and the last few orders of the day are never quietly missing.

Desktop only

Stocked is a dense workspace built for a real screen — there is no mobile app and no phone layout. If checking stock from the shop floor on a handset is the job, this is the wrong tool.

One store per account

Stocked connects to a single Shopify store. Running three stores means three accounts and three subscriptions — there is no group view across them, and no plan that bundles them.

Who is behind this

Why we built it.

My wife sells collectables on Shopify. The things that gave her the most trouble were not exotic — they were the ordinary work of running a shop:

  • Repricing in bulk. Changing a lot of prices at once, without doing it one product at a time and without a mistake going live unnoticed.
  • Editing a variant. An image, a cost, a weight — small changes that cost several screens each.
  • Knowing her actual margin. Shopify has no suppliers in it, and no memory of what a purchase order really cost once freight and a changed supplier price were in. So the margin it showed her was margin on the invoice price, not on what the stock cost to get onto her shelf.

So we tracked it outside Shopify. Spreadsheets first, then spreadsheets pulling from the API, because that was the only way to see numbers that should already have been there. It got more sophisticated, and somewhere along the way it stopped being a workaround and became an application. That application is Stocked.

We built it, and the word is deliberate. I wrote the code, but I would have built the wrong thing without someone running a real shop telling me which parts actually hurt. Her insight is the product; I just typed it.

That is also why the prices are on this page — $39, $89 and $179, published, so you can see them before you spend an afternoon here and so we can't quietly move them once you have. Same reason there is a list further up of what Stocked doesn't do.

Retail is hard enough, and hardest on the smallest merchants. There is no good reason to make it harder.

Steve · Stocked

Pricing

Published. Flat. And it stays that way.

Three plans, three numbers, on the page. No revenue tiers, no quote-only enterprise plan, no rise after signup. Every plan sees the same numbers — what changes is how much Stocked does when you're not looking at it.

$39
Essentials
you look
$89
Growth
it tells you
$179
Pro
it acts
See what's in each plan

The first 50 on this list keep the founding rate.

Stocked is not on the Shopify App Store yet. Adding your email here is the claim — the first 50 addresses on this list pay $29, $69 or $149 a month when Stocked opens, and keep that rate for as long as they stay on that plan or move up from it. We will email you the day it is listed, with your claim link. No drip, no newsletter.

Your confirmation email carries your claim link. Open it when you install and the founding rate is applied to that store — you do not have to set Stocked up under this address. The rate then belongs to the store rather than to you, and it travels with you when you move up a plan: Essentials to Growth later and you pay $69, not $89. Moving down ends it, and going back up does not bring it back. Places not claimed within 30 days of launch go back to the list.
If you would be willing to send a catalogue export and take a call before launch, say so when you reply to that email. A handful of real catalogues is worth more to this than a long list.