Skip to content

B2B strategy

How to sell wholesale on Shopify (2026 guide)

By QuotWay Team · June 18, 2026 · 10 min read

How do you sell wholesale on Shopify?

To sell wholesale on Shopify, you set up trade-only pricing for approved business buyers, decide whether retail shoppers can see those prices, and give buyers a way to order at their negotiated rate - usually through Shopify's built-in B2B tools, customer tags and segments, or a quote app. As of 2026, Shopify's B2B features (Companies, customer-specific pricing, and payment terms) work on Basic, Grow, and Advanced plans too, so you no longer need Shopify Plus to run wholesale.

That's the short version. The longer version is that "wholesale" covers a lot of separate jobs - pricing, gating, applications, minimum orders, quoting, and getting paid on terms - and Shopify handles each one a little differently. This guide walks through the real path, names which tool does which job, and is honest about where you'll need an app and where you won't.


The three ways to sell wholesale on Shopify

There are three main ways to run wholesale on a Shopify store, and most growing brands use a combination of them rather than picking just one.

1. Shopify B2B (Companies and Locations). This is Shopify's native business-to-business layer. You create a Company for each wholesale account, attach one or more Locations (their warehouses or buying offices), assign buyers to it, and set rules like customer-specific catalogs, price lists, and payment terms per company. Buyers log in and check out at their own pricing. The important 2026 update: Shopify B2B is no longer limited to Shopify Plus - Companies, customer-specific pricing, and payment terms are available on Basic, Grow, and Advanced plans. If you sell to defined business accounts that reorder, native B2B is the cleanest foundation.

2. Tag-based wholesale. This is the long-standing approach for stores that aren't ready for full B2B, or that sell to a looser group of trade buyers. You tag wholesale customers (for example, wholesale or trade), then use customer tags and segments to control what they see and pay - discounted prices, a hidden retail price, a different "Add to cart" experience. It runs on a single storefront and customer list, which keeps things simple, but Shopify's tag-based price control is more limited than a true price list, so it often leans on apps.

3. A separate wholesale channel or store. Some brands keep retail and wholesale fully apart - a separate Shopify store, a password-gated storefront, or an expansion store under one organization. This gives you total control over branding, pricing, and the buying experience, at the cost of running two storefronts and two catalogs. It's usually worth it only at meaningful wholesale volume.

For most merchants adding wholesale to an existing store, the practical answer is native B2B for defined accounts, tags and segments for everyone else, and a quote app for the deals that need a conversation. Which leads to pricing.


How to set wholesale pricing on Shopify

Wholesale pricing on Shopify is set in one of three places depending on which selling method you chose: B2B price lists (per company), customer tags and segments (for tag-based wholesale), or app-managed pricing rules. Pick the one that matches how structured your accounts are.

A few honest considerations before you build it:

  • Customer-specific pricing (native B2B). If you're using Companies, you attach a price list to each company or catalog - a fixed wholesale price, a percentage off retail, or per-variant pricing. This is the cleanest model because the price is tied to the account, not to a tag someone has to remember to apply.
  • Customer tags and segments. Without full B2B, you tag trade buyers and use segments to drive discounts and visibility. It works, but tags are manual and easy to get out of sync, and Shopify's native discounting is built around codes and automatic discounts rather than true per-customer list pricing - which is why many tag-based setups add a pricing app.
  • Avoid the duplicate-SKU trap. A common workaround is listing each product twice - one retail SKU, one wholesale SKU. Merchants who've done this consistently report it breaks inventory, because the same physical stock is split across two SKUs and the counts drift. Prefer one product with B2B price lists or a tag/segment rule over duplicating SKUs.

One thing to be clear about: QuotWay does not manage price lists or tiered-pricing rules. It's a quote and negotiation app, not a pricing engine. Where it fits wholesale pricing is the part that isn't a fixed list - the negotiated and large orders where the number moves with quantity and the relationship. For automatic list pricing, use Shopify B2B price lists or a dedicated pricing app; for quoted and negotiated pricing, read on to the quotes section.


How to set minimum orders (MOQ and minimum order value) on Shopify

Minimum orders come in two distinct flavors that merchants often mix up: minimum order quantity (MOQ) - "you must buy at least 24 units" - and minimum order value - "your order must total at least $500." Wholesale buyers expect one or both, and Shopify's native checkout doesn't enforce either out of the box, so this is usually an app job.

How merchants handle minimums today:

  • A cart-rules or order-limits app. The most common route. These apps block checkout until the cart meets a quantity or value threshold, and many let you scope the rule by collection, product, or customer tag so retail isn't affected.
  • Shopify Functions (cart and checkout validation). On the technical side, validation functions can reject a checkout that doesn't meet a minimum - flexible, but it's developer work.
  • Quote-first for large or custom orders. When the "minimum" is really "let's talk for an order this size," moving the buyer to a quote is often cleaner than a hard cart block.

Be honest with yourself about which problem you have. If every wholesale order must clear a fixed threshold, an enforcement app is the right tool. QuotWay does not enforce MOQ or minimum order value - it doesn't sit in the checkout to block a cart. What it does instead is give large and negotiated orders a structured path: the buyer requests a quote, you propose pricing for the quantities involved, and the agreed order converts to a Shopify draft order. So MOQ enforcement and quoting solve different jobs, and many wholesale stores use both.


How to gate wholesale prices (hide price and login-to-view)

Gating prices means hiding your wholesale or trade pricing from the public storefront and showing it only to approved buyers - often paired with swapping "Add to cart" for a "Request a quote" or "Login to view price" prompt. It's one of the most-requested wholesale setups on Shopify, and merchants usually think of "hide price" and "request a quote" as a single feature.

Your options:

  • Native B2B login pricing. With Companies, buyers simply see their own pricing once logged in; the public store shows retail. This is gating by design.
  • Tag or segment + theme work. For tag-based wholesale, you hide the price and the cart button for non-trade visitors using customer tags, sometimes with a "login to view price" message. This can be theme code or an app.
  • A hide-price / request-a-quote app. These add the button and the price hiding without touching theme code by hand, and let you target who sees quoting versus retail checkout.

One accuracy point worth understanding before you rely on gating: hiding a price on the storefront is usually a visual change, not a search-engine one. Many hide-price tools - QuotWay's included today - hide the price visually for the targeted shopper, but the price can still appear in the page source, structured data, or /products.json, which is how it can reach Google. So treat "hide price" as "keep trade pricing off the retail page for the wrong audience," not "removed from search engines." If keeping prices out of search results entirely is a hard requirement, confirm the specific tool does server-side gating before you commit. In QuotWay, hide price is available on Starter and above and visually hides prices on your storefront for the buyers you target with rules (by customer, customer tag, or segment).


How to collect wholesale applications and approve accounts

A wholesale application is a form where a prospective trade buyer submits their business details, and you review and approve them before they get trade pricing or access. Manual approval is the norm in wholesale, because you want to vet who's buying at trade rates.

The practical setup:

  1. Capture the application. A form on a /wholesale or /trade page collecting business name, tax or reseller ID, website, and expected volume. This can be a Shopify form, a form app, or a contact page.
  2. Review and approve. On approval, you either create a Company in Shopify B2B and invite the buyer, or apply a wholesale tag to their customer record so your tag- and segment-based rules start applying.
  3. Give them their pricing and access. Once approved, the buyer logs in and sees trade pricing (native B2B), or your gated pricing unlocks (tag-based). For accounts that negotiate, this is also when you'd point them to your quote flow.

There's no single native "wholesale application with approval" button in Shopify, so this step is typically a form plus a manual review process plus the tagging or Company creation that follows. Keep the friction low on the form and the vetting tight on your side.


How to handle wholesale quotes and negotiation

This is where most wholesale deals actually happen, and where they most often fall apart. Fixed price lists cover the predictable accounts, but a lot of wholesale is negotiated: a buyer asks for a price on 500 units, you come back with a number, they counter, you settle, and someone re-keys the order. When that lives in email and a spreadsheet, prices get retyped by hand, discounts come out inconsistent, follow-ups slip, and there's no record of who agreed to what.

A B2B quote app is built for exactly this part. QuotWay is a B2B quote and negotiation app for Shopify that runs the negotiated side of wholesale inside your existing store:

  • Quote requests. Add a "Request a quote" button on products, the cart, or your whole catalog, so a trade buyer can ask for pricing instead of checking out at retail. Every request lands in one organized quote inbox tied to the buyer. See how the quote button and form work.
  • Negotiation with a record. You respond with a versioned proposal - line pricing, volume or deal discounts, shipping, and an expiry. The buyer can counter-offer (Starter and above), you counter back within a floor price you set, and every round is saved as a version, so you always know what was offered and agreed. See negotiation and counter-offers.
  • One-click conversion to a draft order. When the buyer accepts, the agreed quote becomes a native Shopify draft order with the negotiated prices - no re-keying, no CSV export, no parallel system. Invoicing, payment, and fulfillment stay in Shopify.
  • Net terms on conversion. For organization buyers on a B2B-capable store, converting a quote can apply Shopify's own payment terms (such as net 30) on QuotWay's Enterprise plan - so a trade account can be invoiced and pay later rather than entering a card at checkout. This uses Shopify payment terms, not a separate credit product, and again, it doesn't require Shopify Plus.

The honest boundary, restated: QuotWay quotes, negotiates, and records the agreed price, then hands the order to Shopify. It doesn't run a price-list rules engine and it doesn't enforce minimums. It's the path for the negotiated and large orders that a fixed price list can't cover on its own.


A practical wholesale checklist for Shopify

Use this as the build order. You don't need every item on day one - start with the accounts and pricing, then layer on the rest as wholesale grows.

  1. Decide your model. Native B2B (Companies) for defined accounts, tags and segments for looser trade buyers, or a separate channel at higher volume. Most stores combine the first two.
  2. Set wholesale pricing with B2B price lists or customer tags/segments. Avoid duplicating SKUs - keep one product per item.
  3. Gate prices if you need to - show trade pricing only to approved buyers, and remember storefront hiding is usually visual, not search-engine-level.
  4. Build a wholesale application with manual approval, and decide whether approval creates a Company or applies a tag.
  5. Set minimum orders (MOQ or minimum order value) with a cart-rules app or a checkout validation function if your accounts require them.
  6. Add a quote flow for negotiated and large orders, so the back-and-forth has structure and a record instead of living in your inbox.
  7. Offer payment terms (net 30 and similar) for trusted accounts on a B2B-capable store.
  8. Convert agreed deals to Shopify orders so invoicing, payment, and fulfillment all stay in one place.

Native Shopify handles steps 1, 2, 3, and 7 for defined B2B accounts; apps tend to cover steps 4, 5, and 6. QuotWay covers the quoting and negotiation in step 6, the draft-order conversion in step 8, and payment terms on conversion in step 7 for B2B-capable stores. See the plans and pricing to find the one that matches your wholesale volume - there's a free Lite plan to prove the quote-to-order loop on your own store at no cost.


Frequently asked questions

Can I sell wholesale on Shopify without Shopify Plus? Yes. As of Shopify's 2026 rollout, B2B features - Companies, customer-specific pricing, and payment terms - work on Basic, Grow, and Advanced plans, not just Plus. You can run wholesale with native B2B price lists, customer tags and segments, or a quote app like QuotWay on any of these plans. Plus is no longer a requirement for selling wholesale on Shopify.

How do I set different prices for wholesale and retail without duplicating SKUs? Use Shopify B2B price lists attached to a company, or customer tags and segments that apply a wholesale price to tagged buyers - both keep one product per item. Avoid the duplicate-SKU workaround (one retail SKU, one wholesale SKU): it splits the same physical stock across two SKUs and reliably causes inventory counts to drift out of sync.

Does Shopify enforce minimum order quantities for wholesale? Not natively at checkout. To require a minimum order quantity (MOQ) or minimum order value, you add a cart-rules or order-limits app, or build a checkout validation function. QuotWay does not enforce minimums; for large or negotiated orders it gives buyers a quote flow instead, where you set pricing for the quantities involved and convert the agreed deal to a Shopify draft order.

See how QuotWay handles this on your store.