Loading Purchase Order Lines

I am trying to load a purchase order with 800+ lines.

The ‘Show 30 More’ feature to keep seeing more lines is super frustrating at it takes a good 5 min just to view my lines so I can search for things, match prices etc. And then when I save I have to start all over again.

So frusting.

I agree; that’s really frustrating. A Load All option or a higher line limit would make working with large purchase orders much more efficient.

HI @aimee_au

That sounds frustrating, especially when you’re working with large purchase orders.

For purchase order with hundreds of lines, it would be much more efficient if Shopify offered paginations, a “Show All” option, or virtual scrolling instead of repeatedly clicking "Show 30 More." Having to reload the list after every save makes tasks like searching, reviewing prices, or reconciling supplier data unnecessarily time-consuming.

Hopefully the team considers improving this workflow, as merchants handling large inventory orders would benefit significantly from a more scalable purchase order interface.

There is a way around the scrolling that works today, at least for building the order.

Purchase orders accept a CSV import. You identify each variant by SKU or by barcode or both, give the quantity, and cost and tax are optional columns you can include. So the price matching you are doing by eye across 800 lines can happen in a spreadsheet where search and sort actually work, then land in the PO in one go instead of clicking Show 30 More close to 27 times.

Where it does not help is the editing loop, which is the part you described. If the CSV contains a variant that is already on the purchase order, that row does not import and comes back as an error, and updating quantities on lines that already exist has to be done on the purchase order itself. Good for building a PO, no use for revising one.

For reading a PO you already have, save it as a draft and use Export PDF. That gives you every line in one document rather than paging through the list just to look at it.

There is also no scripting your way out of this. There is still no PurchaseOrder object in the Admin GraphQL API, I checked again today and the docs page is a 404, so no app or custom script can rebuild that screen for you either. Which is probably why the answer here is a spreadsheet rather than a tool.

Is the 800 line PO a fresh build each time, or the same standing order you keep revising?

I had similar opinion as @lumine. I built it in a spreadsheet and import, and use Export PDF to read it.

Here is exactly where those live and what I confirmed by testing on a native Purchase orders store.

Import the whole order in one upload

  • On the purchase order, click the Import icon at the top right of the product search box.
  • Download CSV sample, fill it in a spreadsheet, then Add file > Import products.
  • Columns are SKU, Barcode, Supplier SKU, Quantity, Cost, Tax. SKU or Barcode identifies the line, Cost and Tax are optional.
  • Tested: a 40-line file built the whole order in one import, no Show 30 More.

Read and price-match every line at once

  • Save the PO as a draft, then top right: More actions > Export PDF.
  • Every line lands on one document. Ctrl+F (Cmd+F) finds any SKU or price across all pages.
  • Tested: 40 lines came out as a 6-page PDF with all of them in it.

The editing loop is the limit

  • Import only adds new lines. If a SKU is already on the PO, that row is rejected with “The inventory item is already present in the list.” Tested: re-importing 40 existing lines imported 0.
  • So you can’t push quantity or cost changes back in by re-importing.
  • For a standing order you revise often, keep the spreadsheet as your master. When a lot changes, starting a fresh PO and importing the updated sheet is usually faster than hand-editing. For a few tweaks, change them on the PO directly.

Disclaimer upfront: I’m both a DTC founder (YourCapy) and a Shopify partner (AlfredCommerce).

It’s pretty apparent Shopify has absolutely bungled the sunset of Stocky + rollout of necessary improvements to native purchase orders and receiving/transfers/stocktakes in their actual admin panel.

If and when you decide it’s worth exploring a 3rd-party solution, I’ve spent the past year building up Alfred Purchase Orders (originally for our own DTC, then publicly after I heard about Stocky) and it does handle bulk management of PO line items quite well, including proper pagination with 100 rows per page, (and you can receive straight into Shopify inventory with a few clicks). If you decide to check it out, please feel free to let me know if you have any questions, feedback, etc.

Hi there @aimee_au
That flow of work would be annoying, particularly for large purchase orders. Until Shopify makes loading purchase orders better, a practical workaround is to separate very large orders into smaller purchase orders by supplier category or by product range where you can. It elimnates loading delays, searching for price and much faster and you don’t really have to expand 100s of lines over and over after each save. This also simplifies receiving inventory.

Yeah, the native PO screen really wasn’t built for 800-line orders — the 30-at-a-time thing is rough. The CSV-import and PDF-then-Ctrl+F suggestions above are your best no-cost workarounds for right now.

If you’re open to an app: I built EZStock, a Shopify inventory/PO app, so fair disclosure there. The main difference for your case is it loads all the lines of a PO on one page instead of paginating 30 at a time, sorted by SKU, so you’re not clicking through 27 times to scan or price-match. You can also export the whole PO to PDF and Ctrl+F it in one shot.

Two honest limitations so you can decide if it’s worth a look: it doesn’t have CSV import of PO lines yet (that’s on my list), and there’s no search box inside a single PO — for finding one line in 800, the PDF+Ctrl+F route is still the move. So it fixes the pagination pain but not everything on your list.

Happy to help you try it on a test PO if you want to see whether it actually holds up at 800 lines.

800+ line POs and the “Show 30 More” loop is painful — I feel for you. I see people mentioning CSV import as a workaround; how are you managing price matching and supplier data (cost history, landed costs) across that many lines today?

(Full disclosure: I’m exploring a small tool for Stocky users to handle PO/supplier data before the Aug 31 shutdown — not here to sell anything.)