How to turn a customer's emailed purchase order into a Shopify draft order
Updated October 28, 2026
Short answer: in Orders > Drafts, create an order, select the B2B customer and then the company location the PO is for, before adding products, so the location's catalog prices and payment terms apply. Add each line by SKU, converting cases to units, enter the buyer's number in the PO number section, check the payment terms and shipping address, then send the invoice or create the order. B2B with PO numbers and net terms works on the Basic, Grow and Advanced plans as well as Shopify Plus.
Before you start: set the buyer up once
A draft order is only as right as the buyer's setup behind it. For each wholesale account, Shopify B2B keeps a company, one or more company locations (a store, a warehouse, a head office), and the contacts who order for them. Each location carries its own catalog, payment terms and checkout settings. Setting these up once means every PO from that buyer starts with the right prices and terms.
Shopify B2B is available on the Basic, Grow, Advanced and Shopify Plus plans, but not on Starter or Retail. On Basic, Grow and Advanced you can have up to 3 active B2B catalogs; Plus has no limit. Deposits, partial payments and payment requests per fulfillment need Shopify Plus.
What to copy from the PO, and where it goes
| On the PO | Where it goes in Shopify | What goes wrong |
|---|---|---|
| Buyer and ship-to store | The B2B customer, then the company location | The wrong location means the wrong catalog prices, terms and address. |
| PO number | The draft's PO number section | Put in a note instead, it's hard to find when the buyer asks about it. |
| Item codes and descriptions | Line items, added by SKU | The buyer's own item code, or a similar product, gets picked. |
| Quantities (often in cases) | Line item quantity, in the units you sell | "4 cases" entered as 4 units. See cases vs units. |
| Prices on the PO | Compare with the catalog price; custom line price only if agreed | An old price list on the PO replaces your current price, or the reverse. |
| Payment terms (net 30 and so on) | Payment due later, then the term | A net 30 account invoiced as due immediately. |
| Requested ship date and instructions | The draft's note | "Don't ship before the 15th" lost because it had no field. |
Step by step
- Check it isn't already in. Buyers resend POs and send revisions under the same number. Filter your Drafts and Orders lists by the PO tag (step 6) before you start. See duplicate and revised POs.
- Create the draft. In the Shopify admin, go to Orders > Drafts and click Create order.
- Select the B2B customer, then the company location. Pick the location the PO ships to, not just the company. Once the customer and location are set, the draft's prices, payment terms and checkout options follow that location's settings. Do this before adding products, and if you change the location later, recheck every line's price.
- Add the lines by SKU. Search each product and click Add. Where the buyer uses their own item codes, keep a list that maps their codes to your SKUs; it's the most reused thing you'll own. Enter quantities in the units you sell, converting cases or dozens first.
- Compare prices with the PO. The draft shows the catalog price for that location. If the PO shows a different price, decide which is right before you send anything. If you've agreed a price that isn't in the catalog, set a custom price on that line item.
- Enter the PO number. In the PO number section, click the edit icon, enter the buyer's number exactly as written and click Done. Add the same number as a tag, such as PO-4471, so you can find the order by its PO later.
- Check the payment terms. If the location already has terms, the draft uses them. For a buyer on net terms, choose Payment due later and confirm the term in the Payment terms drop-down. Shopify's net terms start from the day the order is placed.
- Check the shipping address and shipping. Confirm the address is the ship-to on the PO, and add shipping if you charge it. A shipping method you preselect can't be changed by the customer at checkout.
- Add the ship date and instructions to the note. Requested delivery dates, "no substitutions", "ship on our carrier account": anything on the PO that has no field of its own.
- Send the invoice or create the order. Send invoice emails the buyer a checkout link, with an optional message. With payment terms, you can create the order now and collect later. Invoices lock the draft's prices by default.
- Keep the PO with the order. Save the original PDF or email where you can find it from the order number, such as a shared folder named by PO number. If the buyer disputes a line later, you'll want the document, not your memory of it.
The checks that catch most mistakes
- Line count: the draft has as many lines as the PO.
- Units: every case or dozen on the PO became the right number of units.
- Total: if the PO states a total, the draft's subtotal matches it, or you know why it doesn't.
- Terms: a net-terms buyer isn't on due immediately.
- Location: the ship-to on the PO is the company location on the draft.
Have a second person check any PO over a size you choose, such as 50 lines or a set dollar amount; long orders are where typed quantities slip.
We're building something for this
We're building a Shopify app that reads emailed purchase orders and drafts the order for you to check and approve. It isn't available yet; this page will say when it is.
Common questions
Do I need Shopify Plus for B2B draft orders with a PO number and payment terms?
No. Shopify B2B is available on the Basic, Grow, Advanced and Shopify Plus plans, and PO numbers, net payment terms and sending a draft order as an invoice are listed for all four. Deposits on draft orders are Shopify Plus only, and Basic, Grow and Advanced can have up to 3 active B2B catalogs.
Where do I put the customer's PO number?
On a B2B draft order there is a PO number section: click the edit icon, enter the number and click Done. Use that field so the number is stored as the order's PO number, and also add it as a tag (such as PO-4471) so you can filter for it later.
Why does my draft order show the wrong wholesale price?
Prices on a B2B draft order come from the company location's catalog once the B2B customer and company location are set. Select the location before adding products, and if you change the location, check that every line shows that location's catalog price. If the PO has a negotiated price that isn't in the catalog, you can set a custom price on the line item.
When do net 30 payment terms start?
Shopify's net terms start from the day the order is placed. After the terms expire the order shows as Overdue in the customer's account, and payments on saved cards aren't captured automatically.
Can I save a draft order and finish it later?
Yes. A saved draft can be updated later from the Drafts page in the Shopify admin, which is useful when you're waiting on the buyer to confirm a price or a substitute.
Related guides
- Cases vs units on Shopify wholesale orders: stop "4 cases" shipping as 4 units
- Duplicate and revised POs on Shopify: avoid entering an order twice
Sources
- Shopify Help Center: Creating B2B orders using draft orders
- Shopify Help Center: B2B features by plan
- Shopify Help Center: Shopify B2B
- Shopify Help Center: Setting up payment terms in B2B
- Shopify Help Center: Creating draft orders
Questions: support@alpenglowsoftware.com