Shopify Plus B2B: How to Run Wholesale and Retail From a Single Store

Niko MoustoukasUpdated

Quick summary

Shopify Plus B2B provides company profiles with multiple contacts, custom price lists per company, payment terms (net 30/60/90), purchase order fields, and a separate B2B storefront with login-gated access. It is the right choice for merchants with 20+ active trade accounts who need price list management. For smaller wholesale operations, a customer tag-based app on standard Shopify is more cost-effective.

Running wholesale on the same Shopify store as your DTC business sounds straightforward on paper. In practice, before Shopify Plus added native B2B functionality, merchants were cobbling together third-party wholesale apps, separate Shopify stores, and password-protected pages just to give trade buyers a different price and payment experience.

If you are on Shopify Plus and have a B2B or wholesale channel, this is the clearest guide to what the native B2B features actually do, how to configure them properly, and where the limitations are.

What does Shopify Plus B2B include?

Shopify Plus B2B (also called Shopify B2B or wholesale on Plus) is a native feature set that lets you serve business buyers from the same store as your retail customers, without them seeing each other's prices or having the same checkout experience.

The core components are:

Company profiles: A "company" in Shopify B2B is an entity representing one of your wholesale customers. Each company can have multiple contacts (buyers at that company), multiple locations (for multisite buyers), and its own assigned price list and payment terms. This mirrors how B2B relationships actually work, where you might have one wholesale account that has three separate warehouse locations all ordering independently.

Custom price lists: You assign a price list to each company. Price lists can be defined as fixed prices per variant, percentage discounts from the retail price, or a combination. You can have as many price lists as you need, so a tiered wholesale structure (silver, gold, platinum accounts with different discount levels) is straightforward to implement.

Payment terms: B2B buyers in Shopify Plus can be offered net payment terms: net 15, net 30, net 60, or custom terms. This means wholesale customers can place an order without paying immediately, with payment due on the agreed terms. For B2C customers checking out on the same store, this option is invisible.

Quantity rules and order minimums: You can set minimum order quantities per product or per order for B2B buyers. This prevents wholesale customers from ordering single units at trade prices and allows you to enforce pack sizes or pallet quantities where relevant.

Self-serve B2B portal: Shopify Plus B2B gives wholesale buyers their own login experience. When a B2B contact logs in, they see B2B prices, can view their account, review order history, and place orders without interacting with customer service. This reduces your B2B order administration overhead significantly.

Separate B2B checkout experience: The checkout flow for B2B customers differs from the DTC checkout. Payment terms are presented instead of (or alongside) payment options. The order confirmation references their company and location.

How to set up B2B companies in Shopify Plus

Setting up B2B in Shopify Plus follows a specific sequence:

  1. Enable B2B in your admin: Navigate to Settings, then Customer accounts, and enable the B2B features if they are not already active.

  2. Create company profiles: In your Shopify admin, go to Customers, then Companies, and create a new company. Enter the business name, assign a main contact (this should be a customer record in your store), and add any additional locations.

  3. Create and assign price lists: Go to Products, then Price lists. Create a price list appropriate for that company tier. You can set a blanket percentage discount (for example, 40% off retail for all products) or set fixed prices per variant for specific items. Assign the price list to the company.

  4. Set payment terms: On the company profile, assign the payment terms you have agreed with that buyer. Net 30 is typical for established wholesale accounts.

  5. Configure quantity rules: If you have minimum order requirements per product, set these at the product or variant level. You can also set minimum order values at the company level.

  6. Invite company contacts: Once the company is configured, invite the buyer contacts to activate their B2B account. They receive an email and set up their login, after which they access the store with their trade pricing automatically applied.

Setting up a B2B price list strategy

Price list strategy matters more than most merchants initially realise. A few principles that work well in practice:

Tier by discount depth, not by customer name: Rather than creating individual price lists for every wholesale customer, create three or four tiers (for example: Reseller 30%, Reseller 40%, Distributor 50%) and assign customers to tiers. This is much easier to maintain and means you only update prices in a few lists rather than across dozens.

Use percentage-based discounts where your retail prices change frequently: Fixed prices require manual updating every time you adjust retail pricing. A percentage discount automatically reflects retail price changes.

Create a separate price list for clearance or discontinued lines: Rather than adjusting your main tier pricing, use a time-limited price list for specific clearance products.

Consider your minimum order values carefully: Setting minimums too high frustrates small wholesale customers and reduces your order frequency. A minimum that equals roughly three times your average B2B order value is usually counterproductive.

B2B checkout vs DTC checkout: key differences

When a B2B buyer is logged in, the checkout experience differs from what retail customers see:

Feature DTC Checkout B2B Checkout
Pricing Retail prices Company price list
Payment options Card, PayPal, BNPL Net terms + card
Payment terms display Not shown Net 15/30/60 shown
Company/location selection Not applicable Company location selector
Order minimum enforcement Not applied Applied based on company rules
Gift messaging Available Typically suppressed

With Checkout Extensibility, you can further differentiate the B2B checkout experience by adding custom fields specific to wholesale orders (purchase order numbers, delivery reference codes, or internal approval codes).

What are the limitations of Shopify Plus B2B?

Native B2B on Shopify Plus is solid for most wholesale use cases but it has limits:

No tiered pricing based on quantity in a single order: Shopify's native B2B does not support "buy 10, get 30% off; buy 50, get 40% off" pricing within a single checkout. You can approximate this with Checkout Functions, but it requires development work.

Limited order form experience: B2B buyers often want to see a grid of all SKUs, quantities, and add to cart in bulk. Shopify's native B2B portal is not purpose-built for rapid order entry in the way that dedicated wholesale platforms like Handshake or OrderEase are. You may need a third-party order form app (like Quick Order Form or similar) to give your buyers a fast bulk ordering experience.

Approval workflows are limited: If you need orders to go through an internal approval step before being confirmed, Shopify B2B does not have this natively. You would need to handle it through Shopify Flow automations or a third-party app.

Credit limits are manual: Shopify does not enforce credit limits on net-terms orders. If a company exceeds their agreed credit limit, Shopify will not block the order. You need a manual process or a third-party integration to enforce this.

B2B and DTC on the same URL can cause SEO concerns: If your wholesale customers are browsing product pages, their logged-in sessions affect personalisation but not typically SEO. However, if your B2B content (trade-only products, price lists) is indexed, you may need to handle this through robots.txt or login gates.

When to use a separate wholesale store vs native B2B

Scenario Recommendation
Wholesale is 20% or less of revenue Native B2B on Plus
Simple tiered pricing (2-3 tiers) Native B2B on Plus
Complex quantity-based pricing rules Separate store or third-party app
B2B buyers need rapid bulk order entry Add an order form app to native B2B
Different product catalogues for wholesale vs DTC Separate store
B2B requires approval workflow Third-party app or custom development
International wholesale with different tax rules Separate store or careful native setup

For most merchants upgrading to Plus with an existing wholesale channel, native B2B handles 80% of requirements cleanly. The cases where a separate wholesale store still makes sense are primarily around highly complex pricing logic or fundamentally different product catalogues.

Key actions to take now

  1. Audit your current wholesale setup: If you are using Wholesale Club, Wholesale Gorilla, or a password-protected page for wholesale, list every feature you are currently using. Map each one to the native B2B equivalent to identify any gaps before migrating.
  2. Create your price list structure before migrating: Decide how many tiers you need and what the discount depth is at each tier. Set this up in Shopify before inviting any B2B customers to reduce confusion during the transition.
  3. Set quantity rules at the product level for your highest-volume B2B products: Start with the top 20% of your product catalogue by B2B order volume. You can add quantity rules to the rest once the primary setup is stable.
  4. Test the B2B portal as a buyer before going live: Create a test company and contact, log in as that contact, and walk through the full order journey including checkout with net terms. Identify any friction points before your actual wholesale customers encounter them.
  5. Add a B2B order form app if your buyers order many SKUs at once: Shopify's native portal is fine for low-SKU orders. If your wholesale customers regularly order 20 or more different lines, an order form app dramatically reduces the time it takes them to place an order.
  6. Communicate the change clearly to existing wholesale customers: If you are migrating from a separate wholesale store or a third-party app, give buyers advance notice and a clear guide to the new login process to avoid support queries.

Frequently Asked Questions

Can I run B2B and DTC on the same Shopify Plus store without customers seeing each other's prices? Yes. B2B pricing is only visible to contacts who are logged in with B2B accounts and assigned to a company with a price list. DTC customers see retail pricing and have no visibility of wholesale pricing.

Do I need a separate Shopify store for my wholesale channel? Not if you are on Shopify Plus. The native B2B features are designed to let you run both channels from a single store. A separate store makes sense only if you have fundamentally different product catalogues or highly complex pricing rules that native B2B cannot handle.

Can Shopify Plus B2B handle net payment terms? Yes. You can assign net 15, net 30, or net 60 terms (and custom term lengths) to each B2B company. Orders placed on net terms are logged and can be invoiced and tracked within Shopify. Third-party integrations like Resolve or Two can add deeper trade finance functionality if you need automated credit checking.

What happens if I already have wholesale customers set up as regular customer accounts? You will need to create company profiles and assign your existing wholesale customers as contacts to those companies. Shopify provides tools to do this in bulk. Your existing customer purchase history remains intact. Once assigned to a company, they gain access to B2B pricing and payment terms on their next login.