Most Shopify merchants who buy from suppliers run their reordering the same way: notice a product is getting low, open a spreadsheet, work out how many to order, copy the SKUs and quantities into a file the supplier accepts, attach it to an email, and hope you remember to chase it.
None of that is difficult. All of it is easy to forget, and the cost of forgetting is a stockout on your best seller.
This is a practical guide to removing the manual steps, in the order that actually pays off. Some of it you can do with Shopify alone, some needs a tool. Both are marked.
1. What "automating a purchase order" actually means
A purchase order has four jobs, and they automate separately:
- Detection: noticing that a product needs reordering, before a customer discovers it for you.
- Quantity: deciding how many units to buy, including whatever rounding your supplier insists on.
- Format: producing a document the supplier will accept without asking questions.
- Dispatch and follow-up: sending it, knowing it went, and reconciling what arrives against what you ordered.
Most merchants try to automate step 3 first, because a spreadsheet template feels like the obvious win. It is the least valuable of the four. Detection is where the money is: a template saves you ten minutes, and detection saves you a stockout.
2. Why the spreadsheet method fails
Not because spreadsheets are bad. Because of three things that spreadsheets cannot do:
- They do not watch anything. A spreadsheet is a snapshot of stock at the moment you exported it. Two days of good sales later it is fiction, and nothing tells you so.
- They drift from the supplier's format. Every supplier wants their own columns in their own order. Keeping one working template per supplier is manageable; keeping five current is where errors creep in.
- They leave no trail. When a delivery arrives short, the question is what you actually ordered and when. A file called
PO-latest-v3-FINAL.xlsxis not an answer.
3. Detection: let stock levels do the noticing
The unit of automation here is the reorder point: the stock level at which an order needs to be placed so that new stock arrives before the old stock runs out. Shopify does not calculate or store it, which is why most merchants carry the number in their heads.
With Shopify alone: you can set up a low stock report and check it on a schedule. It is a manual review, but a scheduled manual review beats remembering.
With an app: detection becomes an event rather than a habit. Replenishly subscribes to Shopify's inventory_levels/update webhook, so the moment a sale takes a product below its threshold, that is the trigger. There is no polling window to fall through, and no report to remember to open.
Two details matter more than they sound:
- Per-product thresholds, not one global number. A single store-wide threshold is either too high for your slow movers or too low for your fast ones. Replenishly keeps a global default and lets any product override it, with suggestions derived from 60 days of your own order history.
- A cooldown. Inventory webhooks fire on every change, including the adjustment you just made when receiving a delivery. Without a minimum gap between orders for the same SKU, automation turns into duplicate purchase orders.
4. Quantity: decide it once, as a rule
The quantity question is not "how many do I need" but "what rule produces a sensible number without me thinking about it". In practice that is a target multiple of the threshold, minus what you still have:
Then the supplier's own constraints apply on top. Minimum order quantities and case sizes are not negotiable, and a PO that ignores them comes back with questions, which costs you days. If you order in cases of 12, an order for 27 units is really an order for 36, and it is better for the rule to know that than for you to remember it at 11pm.
Worked example
Threshold 20, target 2.5×, current stock 3. The raw quantity is (20 × 2.5) − 3 = 47. Your supplier ships in cases of 12, so the order rounds up to 48, and the PO records that it was rounded and why. After delivery you hold 51 units, comfortably clear of the threshold for a full cycle.
5. Format: send the file they already accept
This is where most automation attempts quietly break. Your supplier does not want your app's idea of a purchase order. They want their spreadsheet, with their columns, in their order, because someone at their end keys it into a system that expects exactly that.
So the test for any tool is not "does it generate a PO" but "can it generate their PO". Practically, that means:
- Upload the supplier's own template once and map your Shopify fields onto their columns, by position.
- Support constants, because most templates have a column that is the same on every row.
- Handle the case where their item codes are nothing like your SKUs. That problem is common enough to have its own guide.
- Cope with suppliers who will not take a file at all and insist on their ordering portal. A reference sheet you can paste into their website is not glamorous, but it is the difference between automating four of five suppliers and none of them.
6. Dispatch, and the trail afterwards
Sending is the easy part: attach the file, email the supplier, record that you did. What matters is the fortnight afterwards.
Two things are worth having from the start. First, an expected arrival date, calculated from the lead time you already entered, so "where is that order" has an answer without opening your email. Second, a receiving step that compares what arrived against what you ordered, line by line, and only then adjusts Shopify stock. Editing the inventory number in Shopify admin updates your stock but records nothing: no shortfall, no substitution, no evidence the next time a supplier disputes a credit.
Receiving is also where the duplicate-order trap closes: adjusting inventory upward fires the same webhook that triggers reordering, so the cooldown from section 3 has to reset on receipt too. If you are evaluating tools, ask about that specifically. It is the sort of thing that only shows up in production.
7. What Shopify's native purchase orders cover
Shopify has its own purchase order features in admin, and since Stocky's shutdown they are where Shopify points merchants. They are genuinely free and they handle the document: create a PO, receive against it, adjust stock.
What they do not do is watch your inventory and act. There is no threshold that triggers a draft, no supplier email dispatch, and no per-supplier spreadsheet format. If your reordering pain is the paperwork, native Shopify is enough. If it is the noticing, it is not. We wrote an honest comparison in the Stocky migration guide.
8. What to automate first
- Thresholds on your top 20 products. Not the whole catalogue. The long tail can wait, and you will learn what a sensible threshold looks like on the products you know best.
- Detection. Get something watching stock before you refine any numbers. An imperfect threshold that fires is worth more than a perfect one you check monthly.
- One supplier's template. Your largest supplier by order frequency, not by value. Frequency is what generates the work.
- Receiving. Once orders are going out automatically, the reconciliation is the next thing that will bite.
- The rest of your suppliers, in descending order of how often you order from them.
Where automation should stop
Automatic sending is not always right. If a supplier has minimums that make a mis-sized order expensive, or you negotiate prices per order, keep a human approval step in the middle. Replenishly defaults to drafts that wait for you, and automatic dispatch is a setting you turn on per supplier once you trust the numbers. That default is deliberate.
The bottom line
Automating purchase orders is not one project. It is four, and they are worth doing in the order that stops the most damage: detection, then quantity rules, then format, then receiving.
You can get a long way with a scheduled low stock report and one good template per supplier. What you cannot do by hand is watch every SKU continuously, which is precisely the part a computer is good at.
Replenishly does the watching, drafts the order in your supplier's own format, and emails it when you approve. 14-day free trial, no credit card required to start.