
A distributor sends a screenshot of last month’s lines and asks you to “raise qty on the blue SKU”. You open a Shopify draft order, hunt variants, override unit prices, email the invoice. That is a real wholesale workflow. Shopify draft orders for wholesale B2B should stay an invoice URL. It should stop being a typing job.
OO - EU B2B & Wholesale lists Draft orders, Manual orders, and Bulk processing under Order management. The Growth plan names bulk forms, draft checkout, and repeat order in one line. The buyer enters quantities; the app writes the draft with the B2B unit price and redirects to the invoice.
This is not which collection feeds the form. That article is the product source. It is not net terms. That one is pay-later. This one is authorship: you in the admin versus checkout creating the same draft object.
Create order in admin, add lines, send invoice, convert when paid. Built for the merchant. A buyer at 6 a.m. has no admin. Every extra SKU is your search box. Every net price is a manual override until someone leaves retail on the line.
Native drafts are fine for one-off invoices and payment methods you attach by hand. They do not let a tagged wholesaler submit forty lines at group price with a server check that rewrites a tampered cart.
Hence the shared spreadsheet. Hence “can you duplicate last week’s draft?”.
Admin drafts only. Works until the price list moves and three unpaid invoice links still show last quarter’s net.
Retail checkout, credit later. The first tax base is wrong. The credit is a second job.
A bulk form that still hits standard checkout. The grid shows B2B numbers. Without the app embed, How B2B pricing works is blunt: checkout never switches to the draft. Catalog price wins.
Self-service quantities and a Shopify draft at net — that pairing is the Growth path.
OO - EU B2B & Wholesale is Built for Shopify (5.0, 34 reviews). Custom B2B pricing, registration, tax/VIES, translatable. Free: one pricing rule, one form. Starter $22/month (or $220/year): unlimited custom and volume, EU tax exemption, tax display, login to see prices. Growth $37/month (or $370/year): + bulk forms, draft checkout, repeat order, quotes, order limits, wholesale cart. 14-day trial. USD. It does not replace Shopify Plus B2B / Companies.
Docs, in order:
The form shows the B2B price while the buyer types quantities.
A line with a B2B price uses draft-order checkout. The draft is created with that unit price.
The ordinary product-page price does not move because of the bulk form. Custom Pricing and Volume pricing are separate modules.
One form, one strategy: per-product prices, one fixed price, or a percentage off the Shopify price. Other forms do not stack.
Keep Validate custom prices on the server on (B2B pricing → Bulk forms → Design & settings). Draft checkout then recomputes the unit from the form and the customer, and fixes a browser-edited cart line. Turn it off only as a temporary workaround when price resolution fails.
The app embed on the live theme is not optional. No embed, no draft-checkout script. Theme app blocks: Enable in the hub is not pixels.
Do not also enable Use draft order logic in EU Tax Exemption. That VAT flow is separate and is not combined with bulk draft checkout. Tax draft is for prices *including* VAT; VAT-exclusive stores stay on Standard Checkout. Wholesale draft checkout is the net-price path, not a VIES bypass.
Repeat order sits on Growth next to draft checkout. Do not advertise subscriptions or auto-ship. Manual orders on the listing stay the escape hatch for the buyer who never logs in. Starter already covers custom/volume so you are not typing retail into that admin draft; the self-serve form plus draft checkout is Growth.
Catalog: packaging SKUs in collection Pallet. Until now you rebuild a 22-line draft every Monday.
Growth setup:
Bulk form on, collection Pallet, visibility tag `wholesale-pack`.
Percentage-off so catalog changes flow through.
Server validation on. Tax Exempt draft logic off (ex-VAT store).
Embed on. Bulk block on the wholesale page.
The buyer logs in, sets 200 / 80 / 40, checks out. Admin shows a draft at net, not retail. Payment happens on the invoice URL. You do not search variants.
Embed off: same button, standard checkout, retail. That is “when the price is missing”, not a broken price list.
Install OO - EU B2B & Wholesale. Starter for group prices; Growth for bulk + draft checkout.
Tag the test customer. Confirm custom or volume on the product page (embed).
One bulk form. One strategy. Collection as source.
Server validation on. Tax draft logic off if you sell ex-VAT.
Save the embed. Log in as that customer. Confirm a draft appears, not a quiet native checkout.
Keep admin drafts for guests — as an exception, not as the price list.
Finish setup until the dashboard says Active. A theme change keeps config, not the pixels; re-enable the embed.
Shopify draft orders for wholesale B2B are still Shopify drafts. Native ones you type. Growth bulk forms write the same object at net price when embed and server validation are on. Keep that flow away from Tax Exempt’s VAT draft.
Turn on draft checkout in OO - EU B2B & Wholesale. The buyer types quantities. You type the exception — not the Monday pallet.
Services
Reviews
5/5
Mail: info@onlineorigins.nl
Tel: 073 234 0612
KVK: 89825624
BTW: NL865123639B01
Bruistensingel 500,© 2026 Online Origins