How to Create Purchase Orders in Shopify (Without Stocky) — EZstock
Purchase Orders8 min readMay 13, 2026

How to Create Purchase Orders in Shopify (Without Stocky)

How to create purchase orders in Shopify

Shopify has never had a built-in purchase order system. Stocky filled that gap for free — until Shopify removed it in 2026. Here is the complete step-by-step guide to creating, sending, and tracking purchase orders in Shopify today, including how to have inventory update automatically when stock arrives.

⚠ Stocky Shutdown — August 31, 2026

Shopify removed Stocky from the App Store in February 2026. The app stops working entirely on August 31, 2026. If you are still using Stocky for purchase orders, you need to migrate before that date.

Why Purchase Orders Matter for Shopify Merchants

A purchase order (PO) is a formal document sent from a buyer (you) to a supplier that specifies what products you are ordering, the quantities, agreed unit costs, and delivery expectations. POs serve three critical functions for inventory management:

Without a PO system, most Shopify merchants reorder by spreadsheet, email thread, or intuition — all of which lead to stockouts, over-ordering, and supplier disputes that are hard to resolve.

The Problem: Shopify Has No Native Purchase Order System

Shopify Admin lets you manually adjust inventory quantities. It does not let you:

Shopify's Draft Orders feature is sometimes confused with purchase orders, but draft orders are for sales — orders placed by customers. They have nothing to do with purchasing inventory from suppliers.

Stocky was the official solution to this gap from 2018 to 2026. It was a free app by Shopify that added purchase orders, supplier management, and demand forecasting directly inside Shopify Admin. Shopify deprecated it in February 2026, citing strategic focus on other product areas.

What Stocky's shutdown means for PO workflows

Merchants who relied on Stocky for POs are now either using spreadsheets, trying expensive enterprise tools, or — the right answer — switching to a purpose-built Shopify app. The functionality merchants need is straightforward: create a PO, send it, receive stock, update inventory. No enterprise complexity required.

How to Create Purchase Orders in Shopify: Step-by-Step with EZstock

EZstock is a Shopify app that replicates Stocky's purchase order functionality and adds demand forecasting based on your actual sales velocity. Here is the complete workflow from setup to received PO.

1

Install EZstock from the Shopify App Store

Search "EZstock" in the Shopify App Store or go to apps.shopify.com/ezstock. Click "Install" and approve the permissions. EZstock needs read access to your products, inventory, and orders — and write access to inventory so it can update stock levels when you receive a PO. Installation takes under 60 seconds.

2

Add Your First Supplier

Go to Suppliers → Add Supplier. Fill in:
Supplier name — how it appears on POs
Email address — where you send PO PDFs
Lead time (days) — how long orders typically take to arrive. EZstock uses this for demand forecasting to warn you before you go out of stock.

3

Link Products to the Supplier

Go to Products → Link a Product. Search your Shopify catalog by product name or SKU. When you find the variant, select it, then choose the supplier, enter the cost price per unit, and set a reorder point (the stock level that triggers a low-stock alert). Repeat for each product you source from this supplier. One variant can only be linked to one supplier at a time.

4

Create a New Purchase Order

Go to Purchase Orders → New PO. Select your supplier from the dropdown. EZstock loads all products linked to that supplier and automatically calculates a suggested order quantity for each based on your current stock level and 30-day sales velocity. Products most urgently needing restocking appear at the top.

5

Review and Adjust Quantities

The suggested quantities are calculated to give you 60 days of stock cover. Review each line and adjust the quantity if needed — for example if you have a promotional event coming up, or if a product is slow-moving. The line total and PO grand total update in real time. You can add notes for the supplier (e.g. "Please ship by June 1st").

6

Create the Purchase Order

Click Create Purchase Order. EZstock auto-generates a sequential PO number (PO-0001, PO-0002, etc.) and saves the order with status Draft. The PO is now tracked in your purchase order history. Download the PO as a PDF and email it to your supplier. When the supplier confirms, mark the PO as Sent.

7

Confirm Receipt and Update Shopify Inventory Automatically

When stock arrives, open the PO in EZstock and click Confirm Receipt. EZstock calls Shopify's Admin API and updates the inventory quantity for each received variant at your default location. No manual stock adjustment needed. The PO status changes to Received and is archived in your history.

How to Send a Purchase Order to a Supplier from Shopify

After creating a PO in EZstock, you have two ways to send it to your supplier:

Option 1: PDF Download and Email

Download the PO as a PDF from the PO detail page. The PDF includes your PO number, all line items with product names and SKUs, quantities, unit costs, line totals, and the PO grand total. Email it to your supplier from your regular email client.

Option 2: Share the PO Number Directly

If you have an established relationship with a supplier and communicate over WhatsApp or phone, you can simply reference the PO number (e.g. "PO-0007") and confirm the details verbally. The PO is still recorded in EZstock for tracking purposes regardless of how you communicate it.

Best practice: always get a supplier acknowledgment (email reply or written confirmation) referencing the PO number. This creates a paper trail if quantities or prices are disputed on delivery.

Tracking Purchase Orders: Draft, Sent, Partial, Received

EZstock tracks four PO statuses throughout the order lifecycle:

StatusWhat It MeansNext Action
DraftPO created, not yet sent to supplierReview, adjust, then send to supplier
SentPO sent, waiting for deliveryWait for stock to arrive
PartialSome items received, some still outstandingReceive remaining items when they arrive
ReceivedAll items received, Shopify inventory updatedArchive — no further action needed

If a supplier cannot fulfil an order, you can cancel the PO at any point before it reaches Received status. Cancelled POs are retained in history for record-keeping but do not affect inventory.

How Demand Forecasting Calculates Suggested Order Quantities

The most time-consuming part of creating a purchase order manually is figuring out how much to order. Order too little and you run out of stock before the next PO arrives. Order too much and cash is tied up in slow-moving inventory. EZstock automates this using your actual Shopify sales data.

The formula EZstock uses:

Suggested Qty = (Daily Sales Velocity × 60 days) − Current Stock

For example: if you sell an average of 8 units per day and have 120 units in stock:

(8 × 60) − 120 = 480 − 120 = 360 units to order

The 60-day target gives you a 30-day buffer beyond the supplier's lead time (assuming a 30-day lead time). You can see the "days of stock remaining" for each product on the New PO screen — products with fewer days remaining appear at the top so the most urgent restocking decisions are front and centre.

Daily sales velocity is calculated from your last 30 days of Shopify orders, divided by 30. EZstock reads your live order history from the Shopify Admin API each time you create a new PO, so the velocity calculation is always based on recent data.

Automatic Inventory Updates When Stock Arrives

The most powerful part of a PO system — and what Shopify cannot do natively — is having inventory update automatically when you receive stock. Without automation, the workflow is:

  1. Count incoming stock manually
  2. Go to each product in Shopify Admin
  3. Click "Update Quantity"
  4. Type the new number
  5. Repeat for every variant on the PO

For a PO with 20 line items, that is 20 separate manual inventory edits. EZstock collapses all of that into a single click: Confirm Receipt. When you click it, EZstock:

  1. Reads the current inventory level for each variant from Shopify
  2. Adds the ordered quantity to the current level
  3. Writes the new inventory level back to Shopify via the Admin API
  4. Marks the PO as Received

The update happens in seconds, not minutes.

Partial receipts: what if only some items arrive?

Not all suppliers ship complete orders at once. EZstock handles partial receipts — you can mark individual line items as received as stock arrives in multiple shipments. The PO stays open with "Partial" status, and only the received variants have their Shopify inventory updated. When the final shipment arrives, confirm the remaining items and the PO closes.

Managing Multiple Suppliers and Purchase Orders

Most Shopify stores source from more than one supplier. A typical structure:

EZstock supports unlimited suppliers on the Growth plan (one PO can only reference one supplier, since each supplier has its own lead time and contact). Best practices for multi-supplier PO management:

Set Realistic Lead Times Per Supplier

Lead time directly affects demand forecasting accuracy. If your primary supplier takes 21 days and your secondary takes 45 days, set those accurately in EZstock. A wrong lead time means suggested order quantities will be miscalculated — either leaving you with a stock gap or over-ordering unnecessarily.

Link Each Variant to Its Primary Supplier

In EZstock, each product variant is linked to one supplier. If you dual-source a product (order the same SKU from two suppliers depending on price and availability), link it to the supplier you order from most frequently. Create manual PO line items for the other supplier when needed.

Create POs on a Consistent Schedule

Rather than creating POs reactively when you run out of stock, review your EZstock dashboard weekly. Products with fewer than 30 days of stock remaining are flagged. Create all POs for a given supplier in one batch — it reduces transaction overhead and often qualifies for volume pricing.

Why Spreadsheet-Based POs Fail at Scale

Many Shopify merchants start with a Google Sheets PO template when their order volumes are low. Spreadsheets break down as you grow because:

The tipping point is usually around 5-10 active POs per month. At that volume, manual spreadsheet management takes 2-4 hours per week that a purpose-built tool eliminates entirely.

Ready to replace your PO spreadsheets?

EZstock is the Shopify-native PO tool built for merchants who need real purchase orders — not enterprise complexity. Free 14-day trial, no credit card required.

Install EZstock Free →Starter plan from $19/month · Growth plan from $49/month · Cancel anytime

EZstock vs. Native Shopify: Feature Comparison

FeatureShopify (Native)EZstock
Create purchase orders
Send PO to supplier (PDF)
Track PO status (Draft / Sent / Received)
Auto-update inventory on receipt
Partial receipt support
Demand forecasting (days of stock remaining)
Suggested order quantities from sales velocity
Supplier database with lead times
Low-stock alerts by reorder point
Cost price per unit tracking

Frequently Asked Questions

Does Shopify have a built-in purchase order system?
No. Shopify does not have a native purchase order system. Shopify Admin lets you manually adjust inventory quantities, but there is no way to create, send, or track purchase orders to suppliers. You need a third-party Shopify app to manage POs. EZstock is the most direct replacement for Stocky's PO functionality.
How did Stocky handle purchase orders in Shopify?
Stocky let merchants create purchase orders inside Shopify Admin, add products from the Shopify catalog as line items, send the PO to suppliers, and mark items as received. When stock was received, Stocky updated Shopify inventory automatically. Shopify removed Stocky from the App Store in February 2026, with a final shutdown date of August 31, 2026.
Can Shopify automatically update inventory when a purchase order is received?
Yes, but only through a third-party app. When you confirm receipt in EZstock, it calls Shopify's Admin API to increment inventory levels for each received variant at your location. Native Shopify has no mechanism to auto-update inventory from a received PO — it requires manual edits in the admin for each variant.
How do I calculate how much to order on a purchase order?
The standard formula is: Order Quantity = (Daily Sales Velocity × Days of Cover Target) − Current Stock. EZstock calculates this automatically from your last 30 days of Shopify sales. For a product selling 5 units/day, targeting 60 days of cover, with 80 units in stock: 5 × 60 − 80 = 220 units to order.
How do I send a purchase order to a supplier from Shopify?
With EZstock, after creating a PO you can download it as a PDF and email it directly to your supplier. The PDF includes the PO number, all line items with SKUs and quantities, unit costs, and the total. Native Shopify has no PO export or supplier communication feature.
What if only some items arrive on a purchase order?
EZstock supports partial receipts. You can mark individual line items as received as stock arrives in multiple shipments. The PO status moves to "Partial" and only received items update Shopify inventory. The PO stays open until all items are received.
What is the best Stocky replacement for purchase orders in 2026?
EZstock is the closest like-for-like replacement for Stocky's purchase order functionality in 2026. It replicates supplier management, PO creation, demand forecasting, and automatic inventory updates on receipt — at $19/month for the Starter plan and $49/month for unlimited suppliers and products. Unlike enterprise alternatives (Prediko, Sumtracker, Ordoro), EZstock is built specifically for the Stocky migration audience.
EZStock

EZStock ‑ Inventory & Purchase Orders

Shopify inventory management with real purchase orders

Check it out on Product Hunt →
Share