Comparisons
How to choose an inventory app, the checklist for importers
Every app on the list forecasts. The differences that matter only show up in a trial on your own data, and only if you know which five things to poke.
Choose a Shopify inventory app by testing five things on your own data: how it divides the sales rate, whether it counts stock already on the way, how many pieces its lead time has, whether it knows goods can travel more than one way, and whether a cost price can go stale without anyone noticing. Then ask the scope questions that rule a tool out in a minute, before you spend a week in a trial. This page names no vendor. It is the checklist we wish someone had handed us, and it includes the tests our own app fails.
Feature pages all say forecasting, purchase orders and alerts, so reading them tells you little. The differences for a store that imports sit inside the maths, and each shows up in a trial if you know where to look. Before you open one, write down your last two stockouts and your last overstock and what caused each. The usual causes are a best seller that looked slow because it kept selling out, a container that landed after the shelf was empty, a second order placed while the first was still at sea, and a margin computed on a cost from two years ago. Each test below maps to one of those, and the app that fixes the one that actually hurt you is the one worth paying for. If you are leaving a spreadsheet, how to tell it has stopped working is the page before this one.
Does it divide by in-stock days or calendar days?
Ask what the app divides units sold by. The honest divisor is the days the product was in stock. The lazy one is the days in the period. Shopify's own reports use both: its Inventory sold daily report defines quantity sold per day as "quantity sold divided by number of days in the time period", while its Inventory remaining per product report divides by "the number of days that the product variant was active" over the last 28 days, and the page does not say what active means (Shopify Help Center, inventory reports, read 10 October 2026).
A product that sold forty units in forty days but was out of stock for thirty of them sells four a day, not one. A calendar divisor calls it slow, you order less, it sells out sooner, and next period's rate looks worse still. That loop is written up in how to stop running out of stock, and it buries your best products.
To test it, pick a product you know sold out for a stretch in the last two months and compare the app's rate with units sold divided by the days it was actually available. If the app's figure matches the calendar number, no feature list changes the answer.
Does it count stock that is already on the way?
Shopify records a unit on a purchase order or transfer as Incoming, and its Help Center is clear that Incoming inventory "isn't available to sell until it has been received" and that the Available figure does not include it (Shopify Help Center, inventory states, read 10 October 2026). A planner that reads Available or On hand sees nothing of the container you booked last month, and the result is a second order sized as if the first did not exist.
The better tools subtract what is incoming. The best ones subtract it by date, because a boat that lands in ninety days is no help against a shelf that empties in thirty. Why incoming stock is missing from your Shopify numbers walks through the difference.
To test it, raise a purchase order in the trial for a product the app says to reorder. The recommendation should drop by that quantity. Then move the order's arrival date to after the day the product runs out and see whether it still counts as full cover. If it does, the app nets by quantity, not by date.
How many pieces does its lead time have?
Most apps have one field called lead time. An importer's lead time is a chain, and every link moves on its own.
| Piece of the lead time | Who moves it | What one field cannot do |
|---|---|---|
| Production days | The factory, per supplier | Lengthen one supplier's deadlines without touching the others |
| Handling days before the goods ship | The supplier's paperwork and booking | Tell a slow shipper from a slow factory |
| Travel days, per route | The forwarder, different for sea, rail, air and truck | Hold four transit times for one product |
| Days of stock you want left when it lands | You, as the margin for a late boat | Give sea a bigger margin than air |
With one field you type production plus sea transit plus a guess, and the app can never tell which part grew. With the pieces separate, a supplier who starts taking longer moves only that supplier's deadlines, and the air route keeps its own short margin. Supplier lead time, and why yours is probably too short covers the production half, the one most stores leave out.
To test it, open the supplier settings and count the fields. Then change one supplier's production time and check that only that supplier's products moved their order dates.
Does it know goods can travel more than one way?
For a domestic wholesaler this test is irrelevant. For an importer it is the expensive one. The same order can go by sea in weeks or by air in days at a far higher price per kilo, and when a product is about to run out the right answer is usually a split: the units that cannot wait by air, the rest on the boat. An app that knows one route can only answer with a quantity, sized against whichever route you typed in. Air or sea freight, and how to work out the split has the arithmetic.
To test it, take a product with ten days of stock from a supplier whose sea route takes seventy days. A tool that understands freight suggests a split, or at least names the gap the boat cannot cover. A tool that does not gives you one number and leaves the route to you.
Can a cost price go stale without anyone noticing?
A cost price is typed once and forgotten. Suppliers raise prices, the exchange rate moves, a freight quote doubles, and the figure in the app stays where it was. Nothing looks broken. The margin report simply starts ranking products by how long ago their cost was typed, which is the problem in the cost price nobody ever updates.
Ask two things. Does the app show when each cost was last changed, so an old one stands out? And what happens when goods arrive at a new price: does the cost update from the receipt, does it ask you, or does it stay put? Ask as well whether the figure is the supplier price or a landed cost with freight in it, because a supplier price with the freight left out understates every unit, never the other way.
We fail half of this one ourselves. Our app keeps the date a purchase cost was last typed and shows it only as a hover tip on the cost box, so an old cost does not stand out the way a column or a colour would. Averaging the cost in from goods received exists and is off by default, and duty is not in the landed figure.
The five tests on one page
| Ask | A good answer | A wrong answer |
|---|---|---|
| What do you divide units sold by? | Days the product was in stock | Days in the period |
| Is stock on the way subtracted? | Yes, and only from the day it lands | No, or yes by quantity whatever the date |
| How many pieces does the lead time have? | Production and handling per supplier, transit per route, a margin per route | One field |
| Can one order travel two ways? | A split, sized on the gap the slow route leaves | One quantity, route up to you |
| How would I know a cost is old? | A visible date, and a path to update it when goods arrive | You would not |
The scope questions that rule a tool out in a minute
These are not about the maths. They are about whether the tool can see your business at all, and a no on any of them ends the evaluation before the trial starts. Ask them by email before you connect a store.
| Question | Who needs a yes | Our own app today |
|---|---|---|
| Does it plan each warehouse or location separately? | Anyone holding stock in more than one place and buying for each | No. Stock is read across locations and planned as one pool |
| Does a bundle or kit sale count as demand for its parts, and can it plan raw materials from a bill of materials? | Anyone selling kits, or making products from components | Partly. A Shopify bundle's stock and cost come from its parts, and a bundle sale counts as demand for each part too, since Shopify records it as the parts' order lines. There is no bill of materials for raw materials |
| Does it connect to a 3PL or a warehouse system? | Anyone whose counts live in a warehouse system rather than in Shopify | No integration |
| Does it read sales from more than one channel, or more than one store? | Anyone selling on a marketplace or a second storefront in volume | No. One Shopify store per account, and nothing else |
That last column is the part of this page most likely to go stale, and the full list of stores we do not fit is kept current separately. It is printed here because a checklist that only lists the tests its author passes is a pitch wearing a checklist's clothes.
Questions about the vendor rather than the maths
- What does the price scale with? Revenue, SKU count, order volume and inventory value are all common meters, and each is kind to a different shape of store. Cheap today can be the most expensive on the list after a good year.
- What does it write back to Shopify, and can you turn that off? Costs, quantities and purchase orders are all things an app might change in your admin. Each write should be named and switchable, not covered by one consent at install.
- Does it show its working? A recommendation you cannot trace to a rate, a lead time and a stock figure is one you cannot correct when it is wrong, and it will sometimes be wrong.
- Is the trial on your own data? A demo store with tidy sales proves nothing about a catalogue with a hundred variants that sold out in March.
How to run the trial
Connect the store, wait for the first sync, and go straight to the products behind your past failures. Run the five tests on those in one sitting and leave the dashboard for later, because dashboards are built to look good on day one and the tests are built to look bad when they fail. Two trials in parallel on the same products is the fastest honest comparison there is, and how replenishment should work on Shopify is the standard to hold both against.
Common questions
What should I look for in a Shopify inventory forecasting app?
Five things, all testable on your own data in one sitting: whether the sales rate divides by days in stock rather than calendar days, whether stock already on order is subtracted and from the day it lands, whether the lead time is split into production, handling, transit per route and a margin, whether one order can be split across sea and air, and whether an old cost price is visible as old. Feature lists do not answer any of them.
What questions should I ask before buying an inventory app?
Before the trial, the scope questions: does it plan each location separately, does a bundle sale count against its parts, does it connect to your 3PL or warehouse system, and does it read sales from every channel and store you run. Then the vendor questions: what the price scales with, what it writes back to Shopify and whether each write can be switched off, whether you can export your data, and whether the trial runs on your real store.
Why does it matter whether the sales rate uses calendar days?
Because a product that keeps selling out looks slow on a calendar divisor. Forty units in forty days with thirty of them out of stock is four a day, not one. The calendar figure makes you order less of exactly the products that just proved themselves, which sells them out faster and makes next period's rate look worse again.
Does an inventory app need to know about freight?
Only if you import. If your supplier delivers in days, a single lead time and a reorder point are enough. If the same order can travel by sea or by air at very different prices and speeds, an app that knows one route can only give you a quantity, and the decision that actually costs money, which units to fly, stays with you.
How long should a trial of an inventory app take?
One sitting on a handful of products you already know the truth about, not two weeks of browsing. Pick the products behind your last stockouts and overstock, run the five tests on those, and compare two tools on the same products in parallel.
Sources
Every statement about another company's product on this page comes from that company's own public pages, read on the dates shown against each source below. Products change often; if a detail matters to your decision, check the current page before deciding. If anything here is out of date or wrong, tell us and we will correct it.
- Shopify Help Center, Inventory reports (Inventory sold daily by product, Inventory remaining per product) (read 10 October 2026)
- Shopify Help Center, Inventory states (Incoming, Available, On hand) (read 10 October 2026)
All product and company names are the trademarks of their respective owners. Restocio is independent and is not affiliated with, endorsed by, or partnered with any product named on this page. No comparison is exhaustive, and we have not tested these products; we compare what each vendor publishes.
Marcus co-founded Restocio and works on it daily with a Swedish importer who plans their purchasing in it every working day. Restocio is built in Sweden by two founders, one Swedish and one Danish, and Marcus is the Danish one. Why we are building it.
Related reading
- Shopify replenishment, end to end
- Who Restocio is not for
- Restocio vs Shopify's own inventory tools, for importers
- When a stock spreadsheet stops working, and how to tell
- How to stop running out of stock
Restocio plans purchasing for Shopify stores that import. It works out what to order, how much, and whether it should travel by sea, rail or air, so you pay air freight only for the units that genuinely cannot wait.