Complete Guide

Purchase Orders for Shopify

How to create, send, track, and receive supplier purchase orders — including partial receipts, landed cost capture, and backorder management.

AP
Abhishek Pandey · July 14, 2026 · Updated August 25, 2026

What is a purchase order?

A purchase order (PO) is a formal commercial document sent from a buyer to a supplier that specifies what products are being ordered, in what quantities, and at what agreed price. It is the foundation of every wholesale purchasing relationship — the document that turns a conversation about buying into a binding commitment.

For Shopify merchants, purchase orders serve three critical purposes. First, they give the supplier a precise specification to fulfil, reducing receiving errors and disputes. Second, they create a paper trail that connects incoming inventory to specific purchase decisions — essential for COGS tracking and supplier performance measurement. Third, they allow merchants to plan inbound inventory against open orders, reducing the surprise of unexpected deliveries or shortfalls.

Formal commitment to buy

A PO specifies exactly what you are ordering — products, variants, quantities, unit costs, and expected delivery date — before goods are shipped.

Receiving reference

When goods arrive, warehouse staff receive inventory against the PO. This ensures quantities are checked against what was ordered, not guessed.

COGS audit trail

Each line item on a PO records the purchase cost, enabling accurate margin calculation and supplier cost tracking over time.

Dispute resolution

When a supplier delivers the wrong quantity or product, the PO is the agreed specification both parties reference to resolve the discrepancy.

The purchase order lifecycle

A purchase order moves through several distinct states from creation to completion. Understanding the full lifecycle is essential for building a reliable purchasing workflow.

  1. 01

    Draft

    The PO is created in your system but has not been sent to the supplier. This is the editing stage — add products, quantities, and costs. Review and confirm before sending.

  2. 02

    Sent

    The PO has been transmitted to the supplier (by email or EDI). The supplier acknowledges or negotiates. The merchant tracks the expected delivery date.

  3. 03

    Confirmed

    The supplier has acknowledged the order and committed to the quantities, price, and delivery date. Changes after this stage may incur supplier fees.

  4. 04

    Partially received

    Some line items or quantities have been received and matched against the PO. The remaining open quantity stays on the PO until delivered.

  5. 05

    Received

    All line items have been received and matched. Shopify inventory is updated for all incoming quantities. The PO is ready to be closed.

  6. 06

    Closed

    The PO is finalised. The landed cost has been recorded. The inventory records are fully accurate. No further changes are made.

Creating a purchase order

Shopify does not include native purchase order creation. Merchants who manage purchasing in spreadsheets or email threads face two problems: no structured receiving workflow (so inventory updates are manual and error-prone) and no searchable PO history. A dedicated inventory management app like Supremo adds a structured PO workflow directly connected to your Shopify product catalogue.

A well-designed purchase order includes: the supplier name and address, a unique PO number, the expected delivery date, a line item for each product variant being ordered (pulled from Shopify product data) with quantity and unit cost, and any notes for the supplier. The system should calculate the total order value automatically and allow you to email the formatted PO directly to the supplier from within the app.

Purchase order checklist

  • Select supplier and confirm current lead time
  • Add products from Shopify catalogue — include all active variants
  • Enter quantity and agreed unit cost for each line item
  • Set the expected delivery date
  • Review total order value and confirm budget approval
  • Send to supplier and record confirmation date

Receiving inventory against a purchase order

Receiving is the process of matching delivered goods to the open purchase order and updating Shopify inventory. A proper receiving workflow prevents two common failures: receiving more than was ordered (inflating inventory records) and failing to update inventory when partial deliveries arrive (understating available stock).

Full receipt

All ordered quantities arrive in one delivery. The PO is marked as fully received and Shopify inventory is incremented for every line item in full.

Partial receipt

A subset of items or quantities arrives. Only the received quantities are incremented in Shopify. The PO remains open for the remaining balance.

Over-receipt

The supplier delivers more than the ordered quantity. A receiving system flags this discrepancy and allows you to accept or return the excess before updating inventory.

Backorder tracking

Items the supplier cannot deliver immediately are tracked as backorders. The system shows expected arrival dates so you can manage customer expectations and fulfilment planning.

When receiving against a PO in Supremo, inventory is updated in Shopify immediately upon marking items as received — no manual stock adjustment required. Each receiving event is timestamped, creating a full audit trail of when each unit entered your inventory.

Landed costs

The unit cost on a purchase order is the price your supplier charges. But the true cost of that inventory unit — the landed cost — includes every expense incurred to bring it into your warehouse: freight, insurance, customs duties, port handling, and last-mile delivery.

Merchants who calculate margins using only the supplier unit price systematically understate their true COGS. This leads to pricing decisions and profitability analyses that do not reflect reality. The error compounds across high-volume SKUs and becomes significant when freight costs are volatile.

Landed cost components

  • Supplier unit price
  • International freight
  • Insurance
  • Customs / import duties
  • Port and handling fees
  • Last-mile delivery
  • Broker fees
  • Currency exchange costs

A landed cost can be allocated across a PO in several ways: by quantity (total additional cost ÷ total units received), by value (proportional to each line item's purchase price), or by weight (proportional to each line item's unit weight). Allocating by value is the most common approach for mixed-product purchase orders.

Frequently asked questions

A purchase order is a formal document sent from a buyer (your Shopify store) to a supplier, specifying exactly what products you are ordering, in what quantities, and at what agreed unit price. Shopify does not include native purchase order management — merchants need a dedicated inventory management app to create, send, and track POs directly within their Shopify environment.

No. Shopify's native tools do not include purchase orders. You can track inventory quantities and adjust stock levels, but there is no structured workflow for creating POs, sending them to suppliers, or receiving inventory against them. A dedicated inventory app like Supremo adds this capability, pulling product data directly from your Shopify catalogue.

A purchase order is sent from the buyer to the supplier before goods are delivered — it is a request or commitment to buy. An invoice is sent from the supplier to the buyer after delivery — it is a request for payment. The PO number is typically referenced on the invoice, allowing merchants to match received invoices to their original purchase orders for accounts payable reconciliation.

A partial receipt occurs when a supplier delivers only some of the items on a purchase order in a given shipment. A good inventory system lets you mark individual line items as received (in full or in part), leaving the rest of the PO open. This allows your Shopify inventory to be updated accurately for what has arrived today, without closing the PO until the final shipment is received.

Landed cost is the total cost of a unit of inventory by the time it arrives at your warehouse, including the purchase price, freight, insurance, customs duties, and any handling fees. Tracking landed cost per purchase order gives you an accurate cost of goods sold (COGS) figure — which is essential for correct margin calculation. Merchants who only track the unit purchase price routinely underestimate their true COGS.

A backorder occurs when a supplier cannot fulfil a line item immediately and commits to delivering it at a later date. A purchase order system that tracks backorders gives merchants visibility into when delayed stock is expected to arrive, enabling better customer communication and fulfilment planning. Without backorder tracking, merchants often discover stock shortfalls only when a customer order cannot be fulfilled.

Not with Shopify's native tools. A dedicated inventory management app like Supremo allows you to compose a purchase order in the system and email it directly to the supplier contact on record, without exporting a PDF and sending it manually. The supplier receives a formatted PO document with all required information — products, quantities, unit costs, delivery address, and expected receipt date.

There is no practical limit to the number of open purchase orders you can manage simultaneously in a dedicated inventory app. Most growing Shopify merchants have between 5 and 30 open POs at any given time, spread across multiple suppliers. Good inventory systems filter and group POs by status (draft, sent, partially received, complete) so you can quickly see what needs attention.

More in this guide

Start managing purchase orders on Shopify

Supremo gives you a complete PO workflow — create, send, receive, and track supplier orders directly inside your Shopify store.