Setup guide

Wholesale on Shopify, from an empty store to a first order.

This covers everything, including the parts of Shopify's own B2B that have nothing to do with our app. No jargon, exact click paths, and what each screen should look like when you've got it right. Allow about two hours the first time.

Already set up B2B in Shopify?

Skip to Part 5: install the app. Parts 1 to 4 are Shopify's own setup, which you may already have done.

Part 0 · 5 minutes

Before you start

Four things to have ready. None of them cost extra.

  • A Shopify plan that includes B2B. Basic, Grow, Advanced or Plus. B2B used to be Plus-only; it isn't any more.
  • A theme from the last few years. Any Online Store 2.0 theme, which includes Shopify's free themes (Dawn, Horizon, Trade and others). If your theme is older than about 2021, the ordering page can't be added to it.
  • Your wholesale pricing decided. Usually a percentage off retail (for example 50%), or a fixed price per product.
  • One real wholesale customer to test with. Their business name and the email address they'll sign in with.

How Shopify B2B fits together

A company is the business you sell to. Each company has at least one location (where it ships to and what it pays). People at that business are contacts, and they sign in with their own email. A catalog holds your wholesale prices and is assigned to the location. Get those four right and everything else follows.

Part 1 · 5 minutes

Turn on customer accounts

Wholesale buyers must sign in, and Shopify's B2B only works with its current accounts system. Buyers get a six-digit code by email; there's no password to forget.

  1. In your Shopify admin, click Settings (bottom left), then Customer accounts. Settings → Customer accounts
  2. Choose Customer accounts (the current version). If you see an option called "Classic customer accounts", that's the old one and B2B can't use it.
  3. Click Save.

If your retail customers use the old accounts

You can leave classic accounts on for retail shoppers and still use current accounts for wholesale buyers. Shopify calls this running both; your wholesale buyers use the sign-in link on your ordering page.

Part 2 · 10 minutes

Add your first company

Do this once for a real customer. Once you've seen it work end to end, add the rest.

  1. Go to Customers, then the Companies tab. Customers → Companies
  2. Click Add company. Enter the business name exactly as your buyer would recognise it, then Save. Shopify creates one location for you automatically.
  3. Open the location (it'll be named after the company). Add the shipping address and, if you give terms, set Payment terms such as Net 30. If you always take payment up front, leave it as due on receipt.
  4. Still on the company, find Contacts and click Add contact. Enter the buyer's name and email. This email is how they sign in, so use the one they actually read.
  5. Give the contact permission to order. Shopify offers "ordering only" and "location admin". Ordering only is right for most buyers.

What "good" looks like

On the company page you should see one location with an address, and at least one contact with an email. If a company has no contact, nobody can sign in, and our setup checklist will flag exactly that.

Part 3 · 15 minutes

Set your wholesale prices with a catalog

A catalog is Shopify's price list: which products a company can buy, and what they pay. This is where your wholesale discount lives.

  1. Go to Markets, then Catalogs. Markets → Catalogs
  2. Click Create catalog and give it a name only you will see, such as "Wholesale 50%".
  3. Choose All products if every product is available to wholesale, or Specific products to pick a list. You can change this later.
  4. Set the price. For a straight discount, use Overall adjustments → Price decrease and enter your percentage. For individual prices, use Manage products and pricing and type the price for each one. A fixed price always beats the overall adjustment.
  5. Click Save.
  6. Assign the catalog to the company you just made. On Shopify Plus, assign it straight to the company location. On Basic, Grow and Advanced, assign it to a B2B market and put that company's location in that market.

The mistake that costs the most time

If a location ends up with two catalogs, Shopify charges the lowest price across both. An extra catalog with no discount on it doesn't "add" retail pricing, it can undo your wholesale pricing for products only that catalog contains. Our setup checklist warns you when a location has more than one.

How many catalogs can I have?

On Basic, Grow and Advanced: up to three active catalogs across all your B2B markets, which is plenty for "everyone gets the same deal" or a few pricing tiers. On Plus: unlimited, and you can assign them to individual companies.

Part 4 · 10 minutes, optional

Minimums and case sizes

If you sell in sixes, or won't ship fewer than 12, tell Shopify. The ordering page then enforces it while the buyer types, instead of you fixing orders afterwards.

  1. Open your catalog: Markets → Catalogs → your catalog
  2. In Products and pricing, click Manage, then Manage products and pricing.
  3. For a product, set the minimum, the increment (your case size) and, if you want one, a maximum.
  4. Save.

Volume pricing works too: set a lower price at, say, 24 units, and buyers see the break when they reach it.

Part 5 · 2 minutes

Install B2B Quick Wholesale

  1. Install the app from the Shopify App Store. Your 7-day trial starts when you pick a plan; nothing is charged until it ends.
  2. Open the app. It lands on Setup, a checklist that has already read your store.
  3. Work down the list. Anything marked Needs fixing has a button that takes you straight to the screen that fixes it.

The checklist is the instruction manual

It checks your companies, contacts, catalogs, prices, ordering page, theme and shipping, and tells you in plain language what's missing. If it says you're ready, you are.

Part 6 · 10 minutes

Create the ordering page

This is the page your buyers will use. The app makes it, then you add the order form to your theme.

  1. On the Setup checklist, click Create the page. The app creates a page at /pages/wholesale-ordering.
  2. Click Add to theme. Your theme editor opens with the order form ready to drop in.
  3. In the panel on the left, choose your wholesale source collection — the collection holding the products wholesale buyers may order. Use an existing collection or make one first.
  4. Click Save in the top right of the theme editor.
  5. Back in the app, refresh the checklist. The ordering page item should turn green.

The theme editor may preview a different page

That's normal and doesn't matter. Use the page picker at the top of the editor to preview your ordering page if you want to see it while you set it up.

Optional settings worth knowing, all in that same panel:

  • Match my theme's colours — on by default, so the page looks like the rest of your store. Turn it off to pick your own accent colour.
  • Categories — filter buttons across the top, one per line you type.
  • Free shipping threshold — shows buyers how much more to add.
  • Retail price (MSRP) — show the price they'll sell at next to their cost.

Part 7 · 15 minutes

Wholesale shipping that retail shoppers never see

This is the part most stores get wrong. Without it, either your wholesale rates appear for everyone, or your buyers pay retail postage on a pallet.

  1. In the app, open the Shipping tab.
  2. Enter your wholesale rate tiers, for example: $10 under $100, $20 from $100 to $250, free above $250. The app creates rates with those names in every shipping zone that needs them.
  3. Leave find my wholesale rates automatically on. It treats any rate with "wholesale" in the name as wholesale, which is why the names matter.
  4. Turn the rules on. From then on, wholesale buyers see only wholesale rates, and retail shoppers never see them.
  5. Decide who can use local delivery and pickup, if you offer them.

Before you ever uninstall

Use Remove wholesale rates in the Shipping tab first. Uninstalling removes the rules but leaves the rates behind, and every retail shopper would then see them at checkout.

Part 8 · 10 minutes

Invite your buyers

There's no invitation to send from Shopify. Buyers simply sign in with the email you added as a contact, so tell them where to go. Something like this works:

Add the page to your main menu as "Wholesale ordering" if you want buyers to find it without the link.

Part 9 · 15 minutes

Test it yourself, as a buyer

Do this before you tell anyone. Add yourself as a contact on a test company, using an email you can receive.

  • Open the ordering page signed out. You should see a sign-in prompt, not products.
  • Sign in with your test contact's email and the code Shopify emails you. You land back on the ordering page.
  • Check the prices are your wholesale prices, not retail.
  • Type a quantity below your minimum. It should snap up to the minimum.
  • Add a few products. The bag at the top of your theme should update.
  • Go to checkout. You should see only wholesale shipping rates.
  • Open your store in a private window, signed out, and add anything to the cart. At checkout you should see only your normal retail rates.
  • Place the test order, then refund or cancel it.

If any of those go wrong

Go back to the app's Setup checklist first. It will usually name the cause. If it says everything is ready and something still looks wrong, see below.

Part 10

When something looks wrong

What you seeWhat it meansFix
Buyer sees retail prices Their company location has no catalog, or has a second catalog with no discount Assign your wholesale catalog to that location, and remove the extra one
The ordering page is blank The order form isn't on the page, or it's set to a different page handle Setup checklist → Add to theme, then Save in the theme editor
"Setup needed" on the page No wholesale collection is chosen, or the collection is empty Theme editor → the order form block → choose your collection
Buyer can't sign in They aren't a contact on a company, or you're on classic accounts Add them as a contact; turn on current customer accounts
Retail shoppers see wholesale rates The shipping rules are off App → Shipping → turn the rules on
Buyers see no shipping at checkout No wholesale rate covers their order total or their zone App → Shipping → check your tiers cover every total, including large ones
Prices look right, but the buyer is charged retail They're signed in as a personal customer, not as their company Have them sign out and back in; check they appear under the company's contacts

Still stuck?

Email b2bquickwholesale@gmail.com with your store address and a screenshot of the Setup checklist. That screenshot usually tells us the answer straight away. More about support.

Ready when you are.

7 days free, then $34.95 a month.