Shopify purchase orders: how to create, receive and cost a PO in the Shopify admin
A Shopify purchase order records what you agreed with a supplier: products, quantities, cost, tax, payment terms and currency. Create it in Products > Purchase orders, save it as a draft, send the PDF, then Mark as ordered. Receiving happens on a linked inventory transfer, where you accept or reject each line and add freight or duty as cost adjustments. A purchase order does not change Cost per item: Shopify keeps that cost fixed when you receive.
Before you start
- Set up your suppliers in the Shopify admin.
- Create the locations that receive stock.
- Turn on inventory tracking for the products you order.
A purchase order has two statuses: Draft and Ordered. Receiving, partial receipt and closing are tracked on the linked transfer, not on the purchase order (Shopify Help).
Create a purchase order
- Go to Products > Purchase orders and click Create purchase order.
- Choose a supplier, or create one.
- Optional: choose the destination location. You can add it later, before you mark the order as ordered.
- Add products: search or browse, use Recently purchased, import a CSV, or scan barcodes.
- For each line, enter the quantity, and optionally the supplier SKU, cost and tax percentage.
- Optional: a reference number, a note to the supplier, payment terms, supplier currency and tags.
- Check the Cost summary. With a foreign supplier currency it also shows the total in your store's currency.
- Click Save as draft, then More actions > Export PDF to send it.
CSV import: identify each variant by SKU, barcode or both, with quantity and optional cost and tax. A variant already on the purchase order doesn't import; edit that line instead.
Mark as ordered
When the supplier confirms, click Mark as ordered and confirm. This can't be reversed, but you can still edit products, costs and supplier details. Now you can create the transfer that receives the stock.
Receive the stock on the linked transfer
- On the purchase order, click Create transfer and choose the destination. Supplier, lines and quantities come from the order.
- When goods arrive, go to Products > Transfers, open the linked transfer and click Receive items.
- For each line choose Accept (stock becomes available), Reject (recorded, not added to stock) or Cancel (never shipped), with a quantity. Or use Accept all.
- Click Save. The transfer shows Transferred when every unit is accounted for, In progress until then.
A split delivery is fine: receive each shipment as it arrives. Each purchase order has one linked transfer at a time, and that transfer can carry several shipments (Shopify Help).
Add freight, duty and fees
On the linked transfer, open the shipment, choose Edit shipment, click Manage in the Cost summary, pick an adjustment such as Shipping amount or Customs duties, and save. The transfer's Cost summary adds them up so you can compare the agreed cost with the real cost of receiving. Shopify does not spread them onto the products' Cost per item.
Edit, download, archive or delete
| Action | How | Rule |
|---|---|---|
| Edit | Open the order, click Edit if it's ordered, save | Allowed any time; the transfer's origin and destination lock at Ready to ship |
| Download PDF | More actions > Export PDF | The only way to send it; no email from the admin |
| Archive | More actions > Archive | Doesn't close or cancel the linked transfer |
| Delete | Delete, then confirm | Drafts only; archive an ordered one instead |
What a Shopify purchase order can't do
- Update Cost per item when you receive.
- Spread freight and duty onto each unit's cost.
- Be emailed from the admin, be converted from a customer order, or be merged with another purchase order.
- Bring in past purchase orders: the CSV upload only adds lines to a new draft.
- Report spend by supplier natively. Shopify offers a purchase order cost report and a purchase order transfer report; for supplier totals, export.
Sources: creating purchase orders and migrating from Stocky, Shopify Help.
The cost step Shopify leaves to you
After receiving, the units you bought sit in stock at the old Cost per item. A worked example: 80 units in stock at $9.10, and a purchase order for 120 at $8.50 with $96 freight and $54 duty.
| Step | Working | Result |
|---|---|---|
| Landed cost per unit received | (120 × $8.50 + $96 + $54) ÷ 120 | $9.75 |
| New weighted average | (80 × $9.10 + 120 × $9.75) ÷ 200 | $9.49 |
| Cost per item in Shopify after receiving | Unchanged | $9.10 |
Until someone types $9.49 into Cost per item, every unit sold is costed $0.39 low, and the next purchase order for this supplier still pre-fills from past orders, not from what the stock really cost.
How True COGS fits
- Reads the price on each received purchase order and writes the new weighted average to Cost per item. This works on every plan once you approve purchase-order access; Shopify asks when you open the app.
- Checks open purchase orders against the last price you paid, on the Free plan.
- Splits freight and duty onto each unit on paid plans. It does not yet read Shopify's cost adjustments, so enter those amounts in True COGS.
- Keeps every price with its date, so you can see what a product cost on any past delivery.
Related guides
Questions merchants ask
How do I create a purchase order in Shopify?
Go to Products > Purchase orders, click Create purchase order, choose a supplier, add products with quantity, cost and tax, review the Cost summary and click Save as draft.
How do I receive a purchase order in Shopify?
Mark the purchase order as ordered and create a transfer from it. Then go to Products > Transfers, open the linked transfer, click Receive items, accept, reject or cancel each line, and save.
Does a Shopify purchase order update Cost per item?
No. Shopify's help says each variant's Cost per item stays fixed when you receive a purchase order or transfer.
Can I undo Mark as ordered?
No. Marking a purchase order as ordered can't be reversed, but you can still edit most details, including products, costs and supplier.
Can I email a purchase order from Shopify?
No. Download it as a PDF from More actions > Export PDF and send it yourself.
Where do I add shipping and customs duties to a purchase order?
On the linked transfer: open the shipment, choose Edit shipment, click Manage in the Cost summary and add an adjustment such as Shipping amount or Customs duties.
Can I delete a purchase order?
Only while it's a draft. A purchase order marked as ordered can be archived instead.
Try True COGS free. True COGS is an inventory costing app for Shopify by Nexus Logic Systems. It records the price you paid on every delivery (a received purchase order or a transfer), with its share of freight and duty on paid plans, keeps every price with its date, and writes your moving weighted average cost, or FIFO cost on a paid plan, to Shopify's Cost per item. It is free for up to 25 variants with a cost on record; paid plans start at $29 a month or $290 a year.
Install from the App Store