How to Turn a Low-Stock List into a Shopify Purchase Order
Shopify has purchase orders built in, and it has inventory reports. What it does not have is a button that connects the two. So most small stores end up opening a report, picking out the low items, working out quantities by hand and retyping it all into a purchase order. Here is a routine that cuts that down, using free native tools for almost every step.
The Four Steps, and Where the Time Goes
Every reorder run is the same four steps. It helps to look at them separately, because each one has a different fix.
| Step | Question | Native tool |
|---|---|---|
| 1. Find | What is low right now? | Inventory page or an inventory report |
| 2. Group | Which supplier is each item from? | The Vendor field on each product |
| 3. Quantify | How many do I order? | A spreadsheet and one formula |
| 4. Create | Where do I record the order? | Products > Purchase orders |
Step 4 is quick once you have a clean list. The slow part is usually steps 1 and 2: getting a list of what is low, already split by supplier, so each purchase order is a copy-down and not a cross-reference.
Step 1: Find What Is Low
There are two free ways to do this inside Shopify.
- Sort the Inventory page. Go to Products > Inventory, pick the location you ship from, and sort by available quantity, lowest first. This is the fastest check, but it treats every product the same: 8 units of a slow seller and 8 units of a bestseller look identical.
- Use the Inventory remaining per product report. In Analytics > Reports, this report shows each variant's ending quantity, the quantity sold per day and the days of inventory remaining. Shopify works out the days by dividing the quantity on hand by average daily sales over the last 28 days. Anything with fewer days left than your supplier's lead time needs ordering now.
The report has one blind spot: a variant with no sales in the period shows N/A, so new or seasonal items will not flag. For those, a fixed minimum works better. Our guide on setting a reorder point for a small store shows how to pick that number.
Step 2: Group the List by Supplier
A purchase order goes to one supplier, so the list has to be split the same way. This only works if the Vendor field is filled in on every product. If yours is patchy, fix that first with the bulk editor: filter the Products list, select all, and add the Vendor column.
Then export the low items to a spreadsheet and sort by vendor. You now have one block of rows per supplier. If you buy one brand from two different distributors, the Vendor field will not tell you which, and you will need your own column or a product tag for that.
Step 3: Work Out the Quantity
A low-stock list tells you what to order. It does not tell you how much. The simplest formula that holds up is an order-up-to level:
Order quantity = target level − (on hand + already on order)
The target level is how many units you want to hold right after a delivery lands. A common starting point is enough to cover the lead time plus the gap until your next order, plus a small buffer. Then round up to the supplier's case size or minimum.
Worked example
A candle shop orders from one supplier every two weeks. Lead time is 7 days. The target is three weeks of sales plus a buffer of about one week.
| Variant | Sold per day | On hand | On order | Target | Order |
|---|---|---|---|---|---|
| Cedar 8oz | 3 | 12 | 0 | 84 | 72 |
| Fig 8oz | 1 | 6 | 0 | 28 | 24 (two cases of 12) |
| Linen 8oz | 2 | 9 | 48 | 56 | 0 |
Linen looks low at 9 units, but 48 are already on the way, so ordering again would double up. That third row is the mistake most manual processes make, and the reason the "already on order" column matters.
Step 4: Create the Purchase Order in Shopify
- In your Shopify admin, go to Products > Purchase orders and click Create purchase order.
- Select the supplier, or create one. Supplier records are saved, so you only enter the details once.
- Choose the destination location. You can save a draft without one and add it later.
- Add the products. For a handful of lines, search or browse. For a long list, import a CSV with the SKU or barcode and the quantity for each variant, which is exactly what your spreadsheet from step 3 already contains.
- Fill in cost, supplier SKU and tax where you have them, then save the draft.
- Mark the purchase order as ordered once you have sent it, and receive the inventory in Shopify when the goods arrive so your available quantities update.
The CSV import is the step most people miss. If your spreadsheet has a SKU column and a quantity column per supplier, you never retype a line.
Making the Low-Stock List Arrive on Its Own
Steps 3 and 4 are fast once the list exists. If building the list is what eats your morning, that part can be automated. Shopify Flow can email you when a variant drops below a number, though it sends one email per variant and does not group them; we cover that setup in how to get a daily low-stock email in Shopify.
Restock Digest is the app we built for steps 1 and 2 only. It sends one email each morning listing every variant at or below its threshold, grouped by vendor, with a shop-wide threshold and per-variant overrides. When you have placed the order, clicking Mark ordered hides that row for 7 days, so the Linen situation above does not come back the next morning. It clears itself when stock recovers.
To be clear about the limits: it does not suggest quantities, forecast demand or create the purchase order. You still do step 3 in a spreadsheet and step 4 in Shopify's native purchase orders. If you want an app that calculates quantities and drafts the order for you, look for a forecasting or purchasing app instead.
A Weekly Routine That Works
- Pick one or two fixed ordering days per supplier.
- On that day, take the low-stock rows for that vendor and paste them into your quantity sheet.
- Subtract what is already on order, then round to case sizes.
- Import the sheet into a new purchase order and send it.
- Receive the delivery in Shopify the day it arrives.
Done this way, a reorder run for one supplier is a few minutes of checking numbers, not an hour of cross-referencing.
Get your low-stock list by vendor every morning. Free for 250 SKUs.
Install Restock Digest