How to sell wholesale on Shopify in one shop: registration, tags, and bulk-page prices. Retail prices stay on the product template.
2026-09-30

How to sell wholesale on Shopify without opening a second store

Retail customers buy one lamp. Resellers want *their* price on forty SKUs, in one go. How to sell wholesale on Shopify is usually answered with a second storefront or a `TRADE20` code. The second catalogue drifts. The code leaks. The buyer still walks product pages like a consumer.

This is the single-store path: who gets in, which price they see, where they order. It does not “replace Shopify Plus B2B” — native catalogs exist. It does show how OO - EU B2B & Wholesale uses ordinary customer accounts, tags and a bulk form for mixed D2C + wholesale shops.

We already covered B2B pricing per customer group. That is the rate card. This piece is the chain: apply → tag → bulk page → test.

What Shopify gives you out of the box

The storefront is one product, one list price, Add to cart. Fine for a consumer. Painful for a stockist reordering a range. Automatic discounts on a customer segment knock money off in the cart; the product page still shows retail, and a code is hard to keep private.

Shopify’s own B2B layer is different. Catalogs and pricing in B2B lets a catalog control products and prices for company locations. Basic, Grow and Advanced get up to three active catalogs across B2B markets; Plus does not have that cap. That is a real Shopify path. Plenty of EU merchants still run blended stores on regular customer accounts. They need trade prices in the same shop, without pretending this app is Plus.

Tags plus a discount also skip: an approval signup, a quantity grid for many SKUs, and prices that never appear on the public product page.

Patterns that look like wholesale and are not

A second Shopify store

Two themes, two catalogues, two tax setups. Every price change twice. Inventory feeds disagree. Support asks which URL the buyer used.

One code for every trade account

Fast. The installer and the national distributor get the same 20%. Codes leak. You cannot show a different assortment per tier. You cannot hold a negotiated SKU price.

Draft orders from admin

Five house accounts: fine. Fifty: you *are* the shop. The buyer cannot reorder at “their” rate without emailing you.

None of that gives you apply → approve → tag → bulk grid, with retail left alone on the product template.

One shop, two buyers

OO - EU B2B & Wholesale is Built for Shopify (5.0 from 33 reviews). Listing: custom B2B pricing for customers and groups, registration forms with approval, tiered/volume pricing, order forms, product visibility, VAT validation and tax exemption via VIES, multilingual. $8.95/month or $101.88/year (5% off), 7-day trial, billed in USD.

The recommended wholesale setup is a sequence, not “install and done”.

Who is allowed in

Listing: EU B2B registration forms. The buyer applies, you approve, you tag (`Wholesale`, `Wholesale_Level_1`). Form visibility: specific customers, tags, logged-in, or everyone. For wholesale, use tags — never “All customers”, or retail sees trade.

Where they order

Primary path: a dedicated bulk order page in the nav (“Wholesale order”) with the Bulk Order Page extension. Faster than hopping product pages. Product pages are optional. If you keep both, match price and visibility and send B2B to the bulk page. An enabled form with no theme block still shows nothing.

Which price they see

How B2B pricing works: rates apply only inside the bulk order form, only for customers who can see that form. They do not change Shopify product prices, do not apply on the regular product page, and do not stack across forms. Everyone else keeps seeing normal Shopify prices.

One strategy per form: percentage (scales when catalogue prices move), individual prices (negotiated), or one fixed price. Do not mix them in a single form. Different tiers: separate forms, separate tags. Each customer sees one form.

Prefer a collection for the product list so new SKUs appear on their own. Listing categories include order minimums and limits — use them if your deal is a minimum case or spend.

EU VAT

Listing: VAT validation & tax exemption via VIES. That is exemption and number checks, not a full rate engine. The deeper walkthrough is EU VAT exemption. Do not skip it if you sell to businesses across the border; do not claim the app calculates every EU rate.

Example: lighting, two tiers

Retail keeps `/products/wall-light` at list price. Wholesale gets “Trade order” in the nav. Tag `Wholesale` on approved accounts. Collection “Trade range” on the form. Strategy: 15% off catalogue. Test account with the tag: form visible, discount in the grid, checkout. Guest: no form, no 15%.

Distributors? Second form, tag `Wholesale_Level_2`, individual prices — not the same 15% stacked.

Go live in order

  1. Install OO - EU B2B & Wholesale. $8.95/month or $101.88/year, 7-day trial.

  2. Publish the registration form and approve a test customer. Tag `Wholesale`.

  3. Create the bulk page, add the extension, link it in the menu. Visibility: that tag. Products: a collection. One pricing strategy.

  4. Test as that customer. Test as a guest. Place a test order.

  5. Turn on VIES / tax exemption only if you need EU B2B VAT.

Docs: recommended setup and the bulk forms collection (including the bulk order page extension). Change theme: place the app blocks again.

Wrap-up

How to sell wholesale on Shopify is not a second store and not a leaked code. It is access, a bulk page, and prices that live only there. Native catalogs are the Companies/Plus route; this app is the tag-and-form route in the same D2C shop.

Put the first wholesale tag in OO - EU B2B & Wholesale and let the next reseller order without a draft from you.

online origins logo full

Custom webshops, websites, and applications combined with smart online marketing to help your business grow online!

linkedin online origins iconinstagram online origins icon

Reviews

5/5

Check on Google

Mail: info@onlineorigins.nl

Tel: 073 234 0612

KVK: 89825624

BTW: NL865123639B01

Bruistensingel 500,
5232 AH 's-Hertogenbosch
Cookies

© 2026 Online Origins