How-ToOperator playbook

How to Create Purchase Orders from Shopify (and Where the Native Workflow Ends)

Step-by-step guide to Shopify native purchase orders: creating POs under Products, supplier records, receiving through transfers, partial deliveries, and the documented limits — no supplier emailing, static cost per item, no reorder points — plus the Stocky sunset timeline.

Line Now LLC/Published /10 min read

For operators

Use this playbook to tighten the buying loop.

LineNow helps teams move from manual ordering and supplier follow-up to a connected workflow for POs, receiving, inventory, and accounting handoff.

View Ecommerce Inventory WorkflowsSee How LineNow Works

Shopify has native purchase orders: in Shopify admin, go to Products → Purchase orders, click create, pick or add a supplier, add products with quantities and costs, and save. When the order ships, you create an inventory transfer from the purchase order to receive it — partially or in full, from admin or Shopify POS, including by barcode scan. Received inventory becomes available at the destination location automatically.

Two things to know before you build your ordering process on it. First, Shopify can't send the PO: official docs are explicit that you can't email a purchase order from Shopify admin — you download a PDF and send it yourself. Second, if you're reading this because of Stocky: Stocky was delisted from the App Store on February 2, 2026 and stops working entirely on August 31, 2026, and the native PO system is Shopify's official migration path.

Here's the full workflow, step by step, and an honest map of where it ends.

Quick answer: creating a purchase order in Shopify

  1. In Shopify admin, go to Products → Purchase orders and create a new purchase order
  2. Select a supplier, or click Create new supplier and enter their details — suppliers are first-class records with contact details, payment terms, and currencies
  3. Select a destination location (you can save a draft without one, but you'll need it before marking the PO as ordered)
  4. Add products — search and browse, import a CSV of line items, or scan barcodes. Only products that already exist in your store can be added
  5. Per line, set quantity, supplier SKU, cost, and tax — if you've ordered from this supplier before, SKU, cost, and tax auto-fill from your previous POs
  6. Optionally add a reference number, supplier note, tags, payment terms, and supplier currency (the cost summary converts to your store currency)
  7. Save as draft, review, then mark it Ordered when you've submitted it to the supplier

A draft PO is fully editable; an ordered PO is the record of what you committed to. To actually get the PO to your supplier, download the PDF and email it yourself — Shopify doesn't send it.

Receiving: purchase orders create transfers

Since June 2026, purchase orders and inventory transfers are connected: the PO records what you ordered and at what cost; the transfer records the movement of goods. When your PO is marked Ordered:

  1. Create a transfer from the purchase order — the supplier becomes the origin and line items prefill
  2. When shipments arrive, accept or reject items in bulk or by entering per-item quantities. A single transfer can track multiple shipments separately
  3. Partial receiving is supported — the transfer stays In Progress until everything arrives
  4. Accepted inventory becomes available at the destination location immediately; you can receive directly in Shopify POS, including by scanning a shipment barcode
  5. Shipment-level cost adjustments (shipping, customs duties, fees) can be recorded, and the cost summary compares the PO's agreed cost against actual receiving cost

One important accounting caveat, straight from Shopify's docs: each variant has a single static Cost per item field, and it does not change when you receive a purchase order. There's no native weighted-average costing or landed-cost allocation — if your true unit costs move (they do), the cost field drifts unless you maintain it by hand or add an app. (Why that matters: weighted average cost, landed cost.)

What about knowing when and how much to order?

The PO feature records decisions; it doesn't make them. Natively:

  • No reorder points. There's no per-product reorder threshold field. Shopify's recommendation is to build low-stock alerts in Shopify Flow ("Product variant inventory quantity changed" trigger with a quantity condition) — workable, but you're hand-maintaining thresholds per variant, and a Flow email is an alert, not an order. (The math a threshold stands in for: reorder point.)
  • Forecasting is delegated to Sidekick. Shopify's official replacement for Stocky's demand forecasting is asking Sidekick "What should I reorder?" — it recommends items from sales data and drafts the PO. That's genuinely useful for a quick pass, and structurally different from a replenishment system: no standing reorder policies, no lead-time-aware safety stock, no visibility into why a quantity was suggested, no pack-size or MOQ awareness per supplier.

If you're migrating from Stocky, mind the gaps

The official timeline: delisted February 2, 2026 (you can't reinstall it), all functionality and APIs stop August 31, 2026, with read-only export access for at least 90 days after. Before the shutoff, export your completed PO reports, stocktake history, and historical cost data as CSV, and close out open POs.

Shopify's own migration doc is candid about what native POs don't replace:

Stocky hadNative Shopify
Email POs to suppliersNot supported — download PDF, send manually
Demand forecastingAsk Sidekick per-session
Weighted-average / landed costingStatic cost field; app required
Supplier defaults (SKUs, case packs)Metafields workaround; case packs converted to units by hand
Stocktake workflowsThird-party apps suggested
Historical PO importNot possible — history stays in your CSV exports

For the fuller migration playbook, see the Stocky migration guide.

Where the native workflow ends

Look at the loop Shopify gives you: draft PO → PDF → your email → wait → transfer → receive. Everything a supplier does is invisible to it:

  • The supplier confirms 10 of 12 lines, substitutes one SKU, and moves the ETA a week. Your Shopify PO still says what it said the day you downloaded the PDF.
  • The receiving team accepts the truck against the original PO, so a known short and a price change both surface as end-of-month surprises instead of day-one updates.
  • Your bookkeeper reconciles an invoice against a PO that was out of date the moment the supplier hit reply.

This isn't a Shopify flaw so much as a boundary: Shopify is the demand and catalog record, and its PO feature now covers the paperwork competently. The supplier conversation — confirmations, shorts, substitutions, price changes, partial shipments across channels like email, WhatsApp, portals, and EDI — is a different layer. That's the layer LineNow runs beside Shopify: suggested quantities from your actual sales velocity, lead times, and pack sizes; POs sent to each supplier in the channel they actually use; supplier replies parsed into a living purchase order with an audit trail; receiving reconciled against the supplier-confirmed state; and a clean handoff to accounting. The deeper architecture argument is in the Shopify procurement layer guide.

If you're deciding this quarter because of the Stocky deadline: run the native flow for a low-stakes supplier first. If your suppliers never change an order, native POs plus Flow alerts may be all you need. If your inbox is where order truth actually lives, that's the signal you need the layer.

Sources checked

Related