Shopify Purchase Orders Import: Import Purchase Orders into Shopify from Supplier PDFs, Invoices and Order Confirmations

Shopify admin imports purchase order lines from a CSV that identifies each variant by SKU or barcode, with quantity and optional cost and tax. What it does not do is read the order confirmation or invoice your supplier emailed as a PDF. Upload that document here and get item codes, UPCs, descriptions, quantities and unit costs back as a CSV you can load into a Shopify purchase order.

PDF, JPG, PNG, BMP, HEIC, TIFF

Submit your purchase orders

PDF, scan, or photo
Every line item captured
CSV for Shopify admin
No per-supplier template

Why Purchase Orders Still Get Retyped Into Shopify

Shopify has native purchase orders and a CSV import. The retyping happens before the import: supplier confirmations, invoices and packing slips arrive as PDFs, and Shopify only reads a CSV laid out its own way.

Stocky Is Gone and the Old Process Went With It

Stocky stopped working on August 31, 2026. Stores that built their receiving around it now create purchase orders in the Shopify admin, and every supplier PDF has to become lines on a new draft order.

Suppliers Print Their Codes, Shopify Wants Yours

The purchase order CSV identifies each variant by your SKU or barcode. A file keyed from the supplier item codes on the confirmation matches nothing wherever the two numbers differ.

Barcodes Break in Excel

A twelve-digit UPC loses its leading zero or turns into scientific notation as soon as the file is opened in Excel. The row stops matching and the line never reaches the purchase order.

Preseason Orders Run to Hundreds of Lines

An apparel, outdoor or gift preseason confirmation can list hundreds of variants by size and color. Keying them one search at a time is an evening of work per supplier, and one wrong quantity means a wrong receipt.

What PurchaseOrders Does, and What Stays in Shopify

PurchaseOrders is a document data capture layer. It reads the supplier order confirmation, invoice or purchase order you received and returns structured rows you load through the Shopify purchase order import. It does not connect to your store, does not hold your Shopify login, does not create products and does not create, receive or transfer purchase orders.

Item Codes and Barcodes Come Back Separate

Supplier item code, UPC or EAN where printed, and description return in their own columns, so you can match on barcode directly or map supplier codes to your SKUs.

Every Line, One Row Each

Quantity, unit of measure, unit cost and extended amount return for every line. A 300-line size and color confirmation becomes 300 rows in one pass.

Review Before You Import

The header and full line table show on screen before download. That is the moment to catch a case price that should be a unit cost, before it lands on the purchase order.

CSV, Excel, JSON or API

CSV goes into the Shopify import. Excel is easier when you add a SKU lookup. JSON and the API suit a store that already scripts its catalog and order loads.

Where Shopify purchase orders live now

Purchase orders are built into the Shopify admin under Products, then Purchase orders. Shopify added them in 2023, and since Stocky shut down they are the main place a Shopify store records what it ordered from a supplier. A purchase order holds the supplier, the destination location, the products and quantities, payment terms and a cost summary. Before you create one, Shopify asks for three things to be in place: the supplier set up in the admin, a location to receive the stock, and inventory tracking switched on for every product you plan to order.

How the purchase order CSV import works

Open Products, then Purchase orders, and either click Create purchase order or open an existing draft. Click Import, click Add file and choose your CSV. Shopify reads one row per product variant and identifies each variant by SKU, by barcode, or by both, together with the quantity you want to order. Cost and tax are optional columns for each line; leave them out and you can type them on the purchase order after the import. Shopify offers a sample CSV you can download and use as the template, which is the safest way to get the headers exactly right.

The rules that decide whether a row imports

The import points at variants that already exist in your catalog, so a product has to be created in Shopify before it can be ordered through a CSV. If a variant in the file is already on the purchase order, that row does not import and shows as an error, and Shopify tells you to change the quantity on the order itself instead. That makes the CSV import an add-lines tool, not an update tool. Build the file once per order and load it before you start editing lines by hand.

The supplier SKU trap

Your supplier prints its own item codes on the order confirmation. Shopify matches CSV rows on your SKU or your barcode. Where the two differ, a file keyed straight from the supplier document matches nothing. Shopify does keep a supplier SKU on each purchase order line, and it auto-fills supplier SKU, cost and tax from previous orders with the same supplier, but the CSV still has to identify the variant by your own SKU or barcode. The practical fix is a lookup sheet: export your products with SKU and barcode once, map each supplier item code to your SKU, and every future order from that supplier converts in seconds. Barcodes are often the easier key, because the UPC printed on a supplier invoice is usually the same UPC on your product.

What Stocky users lost, and what the CSV cannot bring back

Shopify removed Stocky from the App Store on February 2, 2026 and ended access on August 31, 2026, when its APIs stopped working as well. Shopify says merchants keep read-only access for at least 90 days to export their data. Historical Stocky purchase orders do not move into the Shopify admin, and Shopify is explicit that the native CSV upload only adds product line items to a new draft purchase order. It cannot import past statuses, received quantities or supplier links. Export your Stocky purchase order reports while read-only access lasts, and treat the Shopify admin as a fresh start for open and future orders.

From Ordered to received stock

A purchase order starts as a Draft, where everything is editable. You mark it Ordered once the supplier confirms. From an ordered purchase order you create an inventory transfer, and the transfer is where shipments are tracked, stock is received and cost adjustments such as freight are added. You can still edit the supplier, destination, products and costs on an ordered purchase order, but once a linked transfer reaches Ready to ship its origin and destination are locked. Draft purchase orders can be deleted. Ordered ones can only be archived, and each purchase order can be exported as a PDF to send to the supplier.

Excel damage that breaks the import

Most failed Shopify purchase order imports are spreadsheet problems, not Shopify problems. Twelve-digit UPCs lose their leading zero or turn into scientific notation such as 8.40E+11 the moment Excel opens the file, so the barcode no longer matches. SKUs with trailing spaces fail silently. Case prices typed into the cost column inflate the cost of every unit you receive. Data extracted straight from the supplier PDF avoids the copy and paste step where most of these errors start, but check the barcode column as text before you upload.

Where PurchaseOrders fits, and where it stops

PurchaseOrders reads the supplier order confirmation, invoice or packing slip and returns the header and every line item as CSV, Excel, JSON or API output: supplier item code, UPC or EAN where printed, description, quantity, unit of measure, unit cost and extended amount. You add your SKU column if you match on SKU, then run the Shopify import yourself. It does not connect to your Shopify store, does not hold your login, does not create products or suppliers, and does not create, receive or transfer purchase orders. Those stay in Shopify, under your control.

If you are still choosing a platform, Lightspeed vs Shopify for purchase orders compares the two on native POs, imports and cost, and stores on Lightspeed can follow the Lightspeed purchase order import instead. For the retail workflow as a whole, see purchase order extraction for retail. Long preseason confirmations are covered by purchase order line item extraction, a week of supplier emails clears in one pass with bulk purchase order upload, and the purchase order PDF to CSV converter shows the raw output shape. When the same supplier invoices also need to reach your books, importing purchase orders into QuickBooks covers the accounting side.

Five Ways Purchase Order Lines Get Into Shopify

Only one of these loads a whole order at once from a file, and none of them reads a supplier PDF on its own.

Route What creates the lines Best fit
Search and add in the admin Staff search for each product and type the quantity Small top-up orders
Barcode scanner A scanner in keyboard mode adds products one scan at a time Orders built from stock on hand
CSV import in the admin A CSV of SKUs or barcodes with quantity and optional cost and tax Large orders of products already in your catalog
Inventory and replenishment apps Suggested reorders built from sales history Stores with enough history to forecast
PurchaseOrders plus the CSV import Rows extracted from the supplier PDF, loaded by you through Import Suppliers who email PDF confirmations and invoices

From Supplier PDF to a Shopify Purchase Order in 3 Steps

Extraction removes the typing. The import, the receiving and the inventory counts stay inside Shopify.

1

Upload the Supplier Document

Drag in the order confirmation, invoice or packing slip exactly as it arrived. There is no template to set up and no supplier layout to teach the system.

Tip: Confirmations from several suppliers can go in together.

2

Check the Line Table

Confirm item codes, barcodes, quantities and unit costs before export. Fixing a cost here takes seconds. Fixing it after receiving means correcting your inventory cost.

Tip: Watch for case pricing. Shopify wants the cost of one sellable unit.

3

Export CSV and Import

Download the CSV, add your SKU column if you match on SKU, open the draft purchase order in Shopify, click Import, then Add file.

Tip: Load a small order first and check the matched variants before a long one.

Why Shopify Retailers Extract the Order First

PDF
Any supplier document
CSV
Ready for Shopify import
Any
Supplier layout

Security and Privacy

  • Bank-grade TLS encryption in transit
  • Files auto-deleted after processing
  • Your PO data is never sold or shared
  • US-based cloud infrastructure

Shopify Purchase Orders Import: Common Questions

Yes, line by line from a CSV. In the Shopify admin, open Products, then Purchase orders, create or open a purchase order, click Import and add a CSV that identifies each variant by SKU, barcode or both, with the quantity to order. Cost and tax per line are optional. The import adds lines to the order; it does not create the order header.

Go to Products, then Purchase orders, and click Create purchase order. Choose the supplier and the destination location, add products by search, barcode scan or CSV import, set payment terms and costs, then save it as a draft or mark it Ordered once the supplier confirms. Suppliers, locations and inventory tracking must be set up first.

Each row identifies one product variant by SKU, by barcode or by both, plus the quantity you want to order. Cost and tax are optional per line and can be added on the purchase order after import instead. Download the sample CSV from the import screen and keep its headers exactly as they are.

No. The rows have to point at variants that already exist in your catalog, identified by SKU or barcode. Create new products first, then import the order lines. If a variant is already on the purchase order, that row fails with an error and you change its quantity on the order directly.

Shopify removed Stocky from the App Store on February 2, 2026 and ended access on August 31, 2026. Merchants keep read-only access for at least 90 days to export reports. Historical Stocky purchase orders, statuses and received quantities do not migrate, and new purchase orders are created in the Shopify admin.

Not as history. Shopify states that the native CSV upload only adds product line items to a new draft purchase order and cannot import past statuses, received quantities or supplier links. Export Stocky reports while read-only access lasts and keep them as your record of past orders.

Not natively. Shopify exports purchase orders as PDFs to send to suppliers, but it does not read an incoming PDF confirmation or invoice into purchase order lines. Extract the PDF to CSV first, then use the purchase order Import button in the admin.

Mark the purchase order as Ordered, then create an inventory transfer from it. The transfer is where you track the shipment, receive the stock into the destination location and add cost adjustments such as freight. Once a linked transfer reaches Ready to ship, its origin and destination can no longer be changed.

No. PurchaseOrders reads supplier documents and returns the data as CSV, Excel, JSON or API output. It does not hold your Shopify login, does not create products and does not create, receive or transfer purchase orders. You run the Shopify import yourself, so your catalog and inventory stay under your control.