Shopify cannot natively turn a customer’s PDF purchase order into a draft order. Teams either retype the lines or ask the buyer for a CSV. A PDF-to-draft app reads the purchase order, matches products and the customer (including B2B companies and locations), applies catalog pricing, flags uncertain lines and price differences, and opens a draft for review.
POinbox turns that PDF into a Shopify draft you still review. It starts free (5 successful drafts). Use one of your real PDFs before you judge it.
Why PDFs don’t import into Shopify natively
A PDF is a layout. Shopify’s order tools want structured lines: a customer, a variant, a quantity, a price. There is no “open this PDF as an order” button in admin. CSV importers can load orders when the columns are already clean. They cannot read a buyer’s branded PO layout. If you are comparing those paths, start with Shopify order import: PDF and email vs CSV.
The manual path, which is still valid
Open the PDF. In Shopify go to Orders, then Drafts, then create a draft. Pick the customer. Type each line. Save. That is the documented B2B path for orders that never hit checkout.
It is the right process when you get one or two short POs a day. A 40-line wholesale PDF is a different afternoon: SKU typos, the wrong ship-to, a unit price copied off the PDF that your catalog no longer charges. The time cost of that retyping is covered in manual wholesale order entry.
Stay manual if the volume is low and the files are short. Do not install software to avoid three lines.
What “PDF to order Shopify” should mean
It should mean a customer purchase order becomes a draft sales order. You review it before anyone is paid or anything is fulfilled.
A better path with POinbox
POinbox uses a review-first loop.
Upload or send the PDF
Upload the PDF, or forward the email to the address in Settings. That address belongs to your shop, and mail sent there is read as a purchase order. The original file stays open beside the lines, so you check a flag against the page instead of against memory.
Match customer, company, and location
POinbox matches Shopify customers, B2B companies, and company locations. A draft on the wrong location is a bill-to / ship-to mistake you will hear about from accounts, not from the PDF.
Map SKUs and flag uncertain lines
Buyer part numbers and loose product names do not always equal your variant SKU. Confident lines can match. Uncertain ones are flagged. The matching write-up is match SKUs from a customer purchase order.
Catalog prices, plus a flag when the PDF disagrees
The draft uses Shopify catalog pricing. If the PO unit price differs, that difference is flagged. You keep the catalog price or accept an exception. Details: flag PO vs catalog price mismatches.
Create the draft, convert when you are ready
Lines that are ready can become a draft on their own. A line you are still checking stays on the PO, and you finish that same draft once it is confirmed. A matched variant with nothing left in stock is marked on the line, so the warehouse sees it before the pick. Payment, invoice, and fulfilment stay in Shopify. Convert the draft to an order when the review is actually done.
Formats beyond PDF
POinbox also reads Excel, CSV, Word, and emailed purchase orders. A buyer who “doesn’t do portals” will still send one of those. The email-specific path is process an emailed purchase order in Shopify. Product overview: POinbox.
Where this goes wrong
- Similar titles. Two variants with close names will attach to the wrong one if you trust a fuzzy match. That is why uncertain lines stay flagged.
- PO price ≠ catalog. Copying the PDF price feels polite and leaks margin. Flag it. See the price page above.
- Missing PO number. Accounts payable matches on the buyer’s number, not your Shopify order name. Add the PO number to the draft before you convert.
- Scanned or handwritten PDFs. A photo or a low-text scan is read the same way as a digital PDF, then opened for the same review.
What review looks like on a real PDF
Take a 24-line PDF from a buyer you already know. The header has their PO number, a bill-to company, and a ship-to that is one of four locations. The lines use their part numbers. Two lines use a name that exists on three variants. One unit price is a dollar under your catalog because their item master is from last season.
A useful result is not “24 lines imported.” It is: the company and location proposed, the known part numbers attached, the two ambiguous names flagged, and the stale price flagged while the draft price stays on your catalog. You fix those three items. Then you create the draft. If the app attaches a silent wrong variant, that is a failed test, even if it was fast.
Run that file once by hand first, so you know the right answer. Then run it through POinbox. The gap between the two is the product. A clean sample PO that matches every SKU will not show you the flags. Pick a messy one.
After the draft exists, the buyer’s PO number from the file is on Shopify’s PO field. Glance at it next to the PDF header. Where the PO number lives. Conversion stays in Shopify: draft to order.