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.

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.

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.

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.

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.

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.

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.

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

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.