Shopify Wholesale vs Retail: Running Both Channels from One Store

One Shopify store can serve both wholesale and retail buyers. Here's how company accounts, pricing catalogs, and checkout work when you run both channels.

By Denis Dyli, Principal at Uncap –
Shopify Wholesale vs Retail: Running Both Channels from One Store

Most manufacturers and distributors that come to Shopify are not choosing between wholesale and retail. They are already doing both and trying to figure out whether one store can hold them. The instinct to separate them into two stores is common. Running two stores means two admin environments, two sets of products to maintain, two inventory systems to reconcile, and two integration points for your ERP.

The better question is not whether to separate them. It is how to architect a single Shopify store so that each channel gets the experience it needs without the two creating operational friction for each other. As of 2026, Shopify's native B2B layer makes a unified architecture viable for more operations than most operators realize. Here is how it works and where its limits are.

Can One Shopify Store Run Both Wholesale and Retail?

Yes. One Shopify store can serve both wholesale B2B buyers and direct-to-consumer retail shoppers simultaneously. The login state of the visitor determines which pricing, payment terms, and checkout experience they see. B2B company account holders see their assigned catalog pricing and net terms; DTC shoppers see retail pricing and standard checkout. Both groups share the same product catalog and inventory pool from one admin.

The architecture that makes this work is Shopify's company account system, available on all paid plans since April 2026. According to Shopify's B2B documentation, company accounts allow you to create buyer profiles with custom pricing catalogs, payment terms, and purchasing contacts, all managed within a single Shopify store. The DTC storefront experience remains unchanged for non-logged-in visitors and retail customers. B2B buyers log in to their company account and the storefront responds to their assigned configuration.

This is a materially different architecture from the older approach of running separate stores or using customer tags and discount codes to simulate wholesale pricing. Those workarounds required significant maintenance overhead. The native company account system is embedded in the Shopify admin and behaves as a first-class B2B layer on top of an existing or new DTC store.

How Shopify Separates Wholesale and Retail Buyers on One Storefront

The separation between your wholesale and retail channels comes down to three mechanisms that Shopify B2B manages at the company account level.

Login state determines the experience. A retail shopper browsing without an account sees your standard storefront: retail prices, standard checkout, no net terms, no PO field. A B2B buyer who logs in to their company account sees their assigned catalog pricing (which can be percentage-off retail, fixed wholesale prices, or quantity-based tiers), with net terms and a purchase order number field available at checkout. No two visitors get the same checkout configuration unless they are assigned the same company account.

Company accounts gate the B2B experience. A buyer cannot simply self-register and see wholesale pricing. You approve company accounts and assign them to the right pricing catalog. The company account can have multiple contacts (buyers, approvers, finance contacts) and multiple ship-to locations, each managed under one company profile. This gives you control over who accesses the wholesale layer without gating the entire storefront behind a password.

Pricing catalogs define channel-specific pricing. Each B2B company or company location is assigned a pricing catalog that defines how their prices are calculated: a percentage discount from your retail price list, a fixed price override per SKU, or quantity-tiered pricing. Retail customers never see catalog pricing because catalog pricing is only applied after a company account login is confirmed. The same product shows one price to a DTC visitor and a different price to a logged-in B2B buyer, from the same product page, without any product duplication.

For operators migrating from a two-store setup: The native Shopify B2B layer replaces most of what a second store was built to do. If your second store's primary function was to show different prices and payment terms to wholesale buyers, a single-store architecture with company accounts handles that natively and removes the double admin overhead.

Pricing Across Both Channels from One Catalog

Managing pricing for two very different customer types from one product catalog is where most single-store wholesale implementations either work cleanly or break down. Understanding how Shopify handles this is critical before you build the channel architecture.

Retail pricing lives at the product level. Your standard Shopify product prices are your retail prices. Every visitor who is not logged in to a B2B company account sees these prices. This is the base layer and it does not change when you add a B2B channel on top.

Wholesale pricing lives in catalogs. Pricing catalogs in Shopify B2B are separate price lists assigned to specific company accounts or company locations. A catalog can define prices in three ways: a percentage discount applied to the product's retail price (for example, 30% off all products for this distributor), fixed price overrides per variant (for key accounts with individually negotiated prices), or quantity-based price breaks at the line item level.

The catalog limit matters for channel structure. On Shopify plans below Plus (Basic, Grow, Advanced), you can have up to three active pricing catalogs. For a manufacturer with two or three wholesale tiers alongside retail, three catalogs is workable: distributor pricing, dealer pricing, and retail (the product-level default). For operations with more pricing tiers, more buyer segments with individually negotiated prices, or regional price books, the three-catalog ceiling creates a constraint that Shopify Plus resolves with unlimited catalogs.

For the full breakdown of what plan tier determines for your dual-channel setup, the Shopify B2B on all plans guide covers exactly what changed in April 2026 and where Plus still sets a different ceiling.

Wholesale pricing should not be visible to retail customers. Because catalog pricing is login-gated at the company account level, a DTC shopper browsing without an account will never see a wholesale price in the product page or cart. The risk is not accidental price exposure in the storefront. The risk is operational: if a customer service rep creates a draft order for a B2B buyer without assigning the correct company account, the order defaults to retail pricing and the buyer gets invoiced incorrectly. Building the right admin process around draft order creation is as important as the storefront configuration.

How the Wholesale and Retail Checkout Experiences Differ

Your two buyer types have fundamentally different checkout expectations, and Shopify's B2B layer is built to serve both from the same checkout infrastructure.

The DTC checkout is the standard Shopify checkout that retail customers know: add to cart, enter shipping and payment, pay now with a credit card or accelerated checkout method. Payment is collected at order placement. No special fields, no deferred terms, no login required beyond optional account creation for order tracking.

The B2B checkout is gated behind a company account login and presents a different experience on the same store. The company account holder sees their catalog pricing in the cart, a purchase order number field they can fill in before submitting, and their assigned payment terms as the default payment method. If they are on Net 30, they check out without paying now and the order creates with a payment due date 30 days from order placement. Shopify then manages the payment reminder and collection flow.

Shopify Flow differentiates order processing by channel. Once an order is placed, Flow can tag it, route it, notify your operations team, or trigger downstream actions based on whether it originated from a B2B company account or a DTC session. A large wholesale order might trigger a fulfillment approval step; a DTC order might route directly to your 3PL. This routing logic keeps your operations clean even when both order types land in the same admin.

Shopify Flow is included on all paid plans and requires no code to configure basic order routing rules between your two channels.

Product and Catalog Visibility Across Both Channels

Running both wholesale and retail from one store does not mean every product has to be available to both buyer types. Shopify's B2B catalog system allows you to control which products are visible to which wholesale accounts.

Catalog-level product visibility. A pricing catalog in Shopify B2B does not have to include your entire product range. You can create a catalog that includes only the products available to that buyer segment. A dealer program that only carries specific SKUs gets a catalog limited to those SKUs. Their logged-in experience shows only what they are authorized to buy, while your full DTC range remains visible to retail shoppers.

Products not in a catalog are visible but not purchasable at wholesale. If a B2B buyer navigates to a product page for an item not included in their assigned catalog, they will see the retail price but cannot add it to their B2B cart at the catalog pricing. This behavior is worth understanding before you go live, because buyers exploring outside their catalog can create confusion without clear messaging on the storefront.

Shared inventory across both channels. Both wholesale orders and DTC orders draw from the same inventory pool in Shopify. A large wholesale order that sells through significant stock reduces the available inventory for DTC sales in real time. If you manage allocation between channels (holding inventory for committed wholesale orders versus making it available for DTC), that logic needs to exist outside Shopify's native layer, either through a 3PL integration, a warehouse management system, or rules built in Shopify Flow that flag large wholesale orders for inventory review before fulfillment proceeds.

When One Shopify Store Is Not Enough for Both Channels

A single-store architecture handles most B2B and DTC combinations well. There are specific scenarios where the shared storefront creates constraints that a separate B2B experience resolves.

Brand separation is a hard requirement. Some manufacturers run a DTC consumer brand and a wholesale program where the two audiences should never interact with the same storefront identity. If your DTC store is consumer-facing and your wholesale buyers are enterprise purchasing managers, the visual experience, the navigation, the messaging, and the domain name may need to be completely distinct. On non-Plus plans, B2B and DTC share the same storefront URL and branding. Shopify Plus supports a dedicated B2B storefront with its own domain, navigation, and checkout experience, while remaining under the same Shopify admin.

Custom checkout logic per channel is required. If your wholesale checkout needs validation rules that your DTC checkout does not (enforcing minimum order values for B2B, blocking orders that exceed a buyer's credit limit, adding compliance fields that flow to downstream fulfillment systems), those rules require Shopify Functions, which is Plus-only. A shared storefront without that logic means your B2B checkout cannot enforce rules at the checkout layer, only in your operations team's manual review.

Your wholesale buyer program has outgrown three pricing catalogs. On non-Plus plans, the three-catalog ceiling is a real constraint for operations with more than three distinct pricing tiers. If you need to maintain individually negotiated prices for key accounts, regional price books, and tiered distributor programs simultaneously, Plus removes that ceiling.

The Shopify B2B vs Shopify Plus guide works through exactly when the dedicated storefront, unlimited catalogs, and Shopify Functions capabilities justify the Plus upgrade for a dual-channel operation.

The Operational Reality of Running Wholesale and Retail Together

A single Shopify store with both channels active is operationally simpler than two stores in most respects: one admin, one product catalog, one inventory system, one integration point for external tools. But the integration point is where dual-channel operations most commonly create problems.

Your ERP needs to differentiate order types. When both wholesale orders and DTC orders flow into Shopify, your ERP needs to receive them differently. A DTC order typically creates a standard sales transaction. A B2B order on net terms creates an accounts receivable entry with a due date. If your ERP integration does not distinguish between the two and route them to the correct transaction type, your AR is inaccurate and your DTC reporting is contaminated with wholesale volume.

Pricing changes need to reach the right layer. When you update a customer tier's pricing in your ERP, that change needs to flow to the right Shopify pricing catalog, not to your retail product prices. When you run a retail promotion, it should not affect the catalog pricing your wholesale accounts are locked into. The sync logic between your ERP and Shopify has to be channel-aware. A connector that simply updates all prices from the ERP without distinguishing B2B catalogs from retail product pricing will create conflicts between your channels.

Inventory allocation across channels needs oversight. If your wholesale business operates on committed purchase orders with planned fulfillment windows, and your DTC business sells from the same SKUs on a first-come-first-served basis, a large DTC sales event can deplete inventory that wholesale buyers have already ordered. Handling this at the Shopify level requires either physical inventory separation (warehouse locations per channel), Flow-based reservation logic, or a warehouse management system that manages allocation above the Shopify layer.

For manufacturers and distributors running both channels on Shopify with an ERP in the mix, Uncap Connect is built specifically for this: a native Shopify ERP integration that handles both B2B and DTC order types correctly, keeps pricing catalogs and retail prices in sync with the ERP separately, and ensures AR records for net terms orders flow into the right ERP transaction type automatically.

Starting the Right Architecture for Your Operation

The single-store approach to Shopify wholesale and retail is not a workaround. For most manufacturers and distributors running a wholesale channel alongside a consumer or trade program, it is the operationally correct starting point. One admin to manage, one integration to maintain, one inventory pool to control.

The design decisions that determine whether it works well are: how many pricing tiers your wholesale program needs, whether your two buyer audiences need visually and domain-distinct storefronts, whether your B2B checkout requires custom validation logic, and how your ERP tracks and reconciles the two order types.

Getting those decisions right before the build starts saves the rework cost of discovering them afterward. As a Shopify Platinum Partner since 2013 with more than 380 B2B and wholesale commerce implementations, Uncap has designed dual-channel Shopify architectures for manufacturers and distributors across a wide range of buyer programs, ERP environments, and operational structures. If you are designing wholesale commerce on Shopify alongside a retail channel and want an honest read on which architecture fits your operation, talk to our experts before you commit to the build.

Continue reading

Let's build what comes next, together.

If you're evaluating a platform migration, planning a Shopify B2B launch, or scaling an operation that's outgrowing its current stack, a working session with our team is the right next step.
Book a Strategy Session →
No pitch deck. No slick spin. No B.S.
Peggy Farabaugh
CEO @ Vermont Woods
They are brilliant and very knowledgeable of all that Shopify can do.
Pete Suter
CEO @ Shirley's Popcorn
They are incredibly responsive, honest, and innovative. I've literally never worked with any vendor or partner who works as hard, or is as committed.
Doug Hall
CMO @ PerfectPlants
Super easy to work with, made recommendations based on UX & eCommerce best practices & flawlessly guided us through the migration from WooCommerce. Great people, great price, great results.
Jonit Bookheim
Co-Owner @ Mata Traders
They genuinely want to create something that will make their clients happy and successful.
Growth Chart