Nexus Logic SystemsShopify apps

Shopify purchase orders: how to create, receive and cost a PO in the Shopify admin

Updated · By Senoussi, developer of True COGS at Nexus Logic Systems

Short answer

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

  1. Go to Products > Purchase orders and click Create purchase order.
  2. Choose a supplier, or create one.
  3. Optional: choose the destination location. You can add it later, before you mark the order as ordered.
  4. Add products: search or browse, use Recently purchased, import a CSV, or scan barcodes.
  5. For each line, enter the quantity, and optionally the supplier SKU, cost and tax percentage.
  6. Optional: a reference number, a note to the supplier, payment terms, supplier currency and tags.
  7. Check the Cost summary. With a foreign supplier currency it also shows the total in your store's currency.
  8. Click Save as draft, then More actions > Export PDF to send it.
Where the cost on a new line comes from. If you ordered the product from that supplier before, Shopify fills the cost from your previous purchase orders. If not, it uses the variant's Cost per item. A stale Cost per item flows straight into new orders, so check each cost before you send.

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

  1. On the purchase order, click Create transfer and choose the destination. Supplier, lines and quantities come from the order.
  2. When goods arrive, go to Products > Transfers, open the linked transfer and click Receive items.
  3. 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.
  4. 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

From Shopify Help, read 6 November 2026.
ActionHowRule
EditOpen the order, click Edit if it's ordered, saveAllowed any time; the transfer's origin and destination lock at Ready to ship
Download PDFMore actions > Export PDFThe only way to send it; no email from the admin
ArchiveMore actions > ArchiveDoesn't close or cancel the linked transfer
DeleteDelete, then confirmDrafts 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.

Illustrative figures, checked to the cent.
StepWorkingResult
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 receivingUnchanged$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.

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

Sources