For years, B2B e-commerce on Shopify was a workaround. You would create a separate store, gate it with an app, hack together customer-specific pricing through tags and scripts, and hope the whole thing held together. It worked, but it was fragile, difficult to maintain, and impossible to scale cleanly.
That has changed substantially. Shopify Plus now includes native B2B functionality that treats wholesale as a first-class use case rather than an afterthought. Company accounts, customer-specific price lists, payment terms, quantity rules, and draft orders are all built into the platform. For mid-market businesses running both direct-to-consumer and wholesale operations, this means you can finally serve both channels from a single Shopify Plus store without the duct tape.
But “native features exist” and “you can build a proper wholesale portal” are not the same statement. The native tools provide the foundation. Building a B2B experience that wholesale buyers actually want to use — and that integrates cleanly with your ERP, accounting system, and logistics operations — requires deliberate architecture and careful implementation.
This guide covers what Shopify Plus B2B includes out of the box, how to extend it for real-world wholesale requirements, and where the platform’s limitations demand custom solutions. For a broader view of the Shopify Plus platform, see our Shopify Plus guide.
The B2B Opportunity
The global B2B e-commerce market dwarfs B2C. Business buyers increasingly expect the same digital purchasing experience they have as consumers — self-service ordering, real-time inventory visibility, and instant order confirmation — but with B2B-specific requirements layered on top: negotiated pricing, purchase orders, net payment terms, and approval workflows.
For manufacturers, distributors, and brands with wholesale channels, the shift from phone and email ordering to digital self-service is a competitive requirement. Buyers will choose the supplier who makes ordering easiest, and “easiest” in 2026 means a digital portal that works as well as the Amazon account they use at home.
The question is whether Shopify Plus’s promise of handling both D2C and B2B from a single installation holds up when you move beyond basic requirements.
What Shopify Plus B2B Includes Natively
Shopify’s native B2B features have matured significantly since their initial launch. Here is what the platform handles without third-party apps or custom development.
Company Accounts
The foundation of Shopify B2B is the company entity. Unlike standard Shopify customer accounts (which represent individuals), company accounts represent business entities with multiple locations, multiple buyers, and shared purchasing relationships. Each company can have multiple locations, each with its own shipping address, tax exemptions, and price list assignments.
This matters because wholesale relationships are between businesses, not people. When a buyer leaves and is replaced, the company account, order history, and pricing agreements persist.
Price Lists
Price lists are the mechanism for customer-specific pricing. You create a price list, assign it to one or more companies (or company locations), and define prices either as fixed amounts or as percentage adjustments from your base catalogue prices.
The percentage adjustment approach is particularly useful for tiered wholesale pricing. You might have a “Gold Tier” price list at 40% off retail, a “Silver Tier” at 30% off, and a “Bronze Tier” at 20% off. When your retail prices change, wholesale prices adjust automatically. Fixed pricing is available for cases where wholesale prices are negotiated independently of retail.
Price lists support volume pricing as well — different unit prices at different quantity thresholds. Order 100 units and pay one price; order 1,000 and pay less. This is standard wholesale behaviour and Shopify handles it natively.
Payment Terms
B2B transactions rarely involve immediate payment. Shopify Plus supports net payment terms — Net 15, Net 30, Net 60, or custom terms — assigned at the company level. When a wholesale buyer places an order, the payment is not collected at checkout. Instead, an invoice is generated with the agreed payment terms, and the buyer pays within the specified period.
Native payment terms integrate with Shopify’s order management, so overdue payments surface in your admin and can trigger automated follow-up.
Draft Orders and Quick Order
Draft orders let your sales team create orders on behalf of wholesale customers — useful for phone orders, custom quotes, and complex orders that require manual intervention. The sales rep creates the draft, applies the customer’s pricing, and sends it for approval or processes it directly.
The quick order form is a B2B-specific interface that lets buyers add multiple products and variants to their cart simultaneously, using SKUs or product names. For wholesale buyers ordering dozens of line items, this is dramatically faster than browsing a catalogue and adding items one at a time.
Quantity Rules
Wholesale orders often have constraints that do not exist in D2C: minimum order quantities per product, case-pack quantities (order in multiples of 12), and maximum order quantities. Shopify Plus supports these natively, enforced at the product or variant level and assignable per company.
Building a Proper Wholesale Portal
The native features provide the transactional backbone. Building a wholesale portal that buyers actually prefer over picking up the phone requires additional work in several areas.
Customer-Specific Catalogues
Not every wholesale customer should see every product. Some products might be exclusive to certain distribution channels, regions, or customer tiers. While Shopify’s price lists determine pricing, catalogue visibility requires additional configuration.
Shopify’s B2B catalogue feature lets you assign specific product catalogues to specific companies. A company only sees the products in their assigned catalogue when they log in. This is essential for businesses with products that have territorial restrictions, exclusive distribution agreements, or tier-based availability.
For more complex catalogue logic, Shopify Functions can evaluate context at runtime and control what a specific buyer sees.
Quick Order and Reorder Workflows
Wholesale buyers are creatures of habit. A significant percentage of B2B orders are reorders — the same products, in similar quantities, on a regular cadence. Your portal should make reordering as close to one click as possible.
Build a reorder flow that surfaces order history, lets buyers select a previous order, adjust quantities, and submit. This single feature often drives more portal adoption than any other, because it directly replaces the phone call that used to handle the same transaction.
For initial orders, support CSV upload for buyers who maintain order spreadsheets. Provide search-as-you-type with SKU matching. Display real-time inventory availability. Every friction point is a reason for the buyer to revert to email.
Account Management Dashboard
Wholesale buyers need visibility into their account status beyond order history. Build a dashboard that surfaces outstanding invoices and payment status, credit limit and available credit, order tracking across all locations, and saved addresses and buyer permissions.
This dashboard replaces the account manager phone call for routine enquiries. When a buyer can check their own invoice status and track their own shipments, your operations team handles fewer support requests, and the buyer gets answers faster. Both sides win.
Approval Workflows
Many B2B organisations require purchase approval before orders are submitted. A junior buyer might have authority to order up to a certain value, with larger orders requiring manager approval. Shopify does not include native approval workflows, so this requires custom development.
Implement this through Shopify Flow for routing logic and a lightweight custom app for the approval interface. The approver receives a notification, reviews the order, and approves or rejects with a single action.
Integration Considerations
A wholesale portal that is not connected to your back-office systems is a liability. Orders that require manual re-entry into your ERP, pricing that drifts out of sync with your accounting system, and inventory that does not reflect warehouse reality will undermine buyer trust faster than any UX improvement can build it.
ERP Synchronisation
The ERP integration is typically the most complex and most critical piece of a B2B Shopify implementation. The integration needs to handle several data flows.
Product and pricing sync. Your ERP is likely the source of truth for product data, cost prices, and wholesale pricing tiers. Changes in the ERP should flow to Shopify automatically, updating products, variants, and price lists without manual intervention.
Inventory sync. Real-time inventory accuracy is non-negotiable for B2B. If a buyer orders 500 units based on your portal showing 500 available, and the actual warehouse count is 200, you have damaged the relationship. Inventory should sync at a frequency that matches your order velocity — hourly at minimum, real-time if volume warrants it.
Order sync. Orders placed on Shopify need to flow into your ERP for fulfilment, invoicing, and financial reporting, mapping Shopify order data to your ERP’s expected format including customer references, purchase order numbers, and shipping instructions.
For mid-market businesses, the ERP is often SAP Business One, NetSuite, Microsoft Dynamics, or Sage. Middleware platforms like Celigo, Patchworks, or custom integration layers built on Shopify’s webhooks and Admin API handle the data flow. The choice depends on ERP complexity, data volume, and how much transformation the data requires between systems.
Accounting Systems
If your accounting system is separate from your ERP (common in businesses that have grown into wholesale from D2C), the integration needs to sync invoices, payments, and credit notes. Shopify’s native payment terms generate invoices, but those invoices need to appear in your accounting system — Xero, QuickBooks, or Sage — for reconciliation and financial reporting.
Logistics and Shipping
B2B shipping differs from D2C: pallets rather than parcels, freight carriers rather than parcel services, and specific delivery documentation for international orders. Freight rates typically require custom calculation logic through Shopify Functions or third-party freight rating apps.
Custom Functionality: Filling the Gaps
Shopify Plus B2B covers the fundamentals, but real-world wholesale operations often have requirements that stretch beyond native capabilities.
Shopify Functions for Custom Pricing Logic
Shopify Functions let you run custom logic at specific points in the commerce pipeline. For B2B, the most relevant are discount functions and payment customisation functions.
Discount functions can implement logic beyond static price lists: volume-based tiered pricing, bundle pricing, segment-specific promotions, and pricing that varies by order frequency or annual spend. These functions run on Shopify’s infrastructure, execute in milliseconds, and apply at checkout without a separate pricing engine.
Metafields for B2B-Specific Data
Shopify metafields store custom data on products, customers, companies, and orders. For B2B, use metafields to store minimum advertised price (MAP) information, product certifications and compliance documentation, custom fields for purchase orders and cost centres, lead times and availability dates for made-to-order products, and technical specifications that wholesale buyers need but D2C customers do not.
Metafields are accessible through the Storefront API, so your wholesale portal can display this B2B-specific information without polluting your D2C product pages.
D2C and B2B on One Platform
One of Shopify Plus’s strongest B2B propositions is running both channels from a single store. But “single store” does not mean “identical experience.”
Blended Catalogue Approach
In a blended catalogue, all products live in one Shopify store. D2C customers see retail prices and the standard shopping experience. B2B customers log in through the company account flow and see their negotiated pricing, quantity rules, and payment terms. The product catalogue is shared; the commercial terms are differentiated.
This works well when your D2C and B2B product ranges overlap significantly. The operational benefit is substantial — one product catalogue to maintain, one inventory pool to manage, one set of product content to create.
Expansion Store Approach
When B2B requirements diverge significantly from D2C — different product assortments, entirely different UX requirements, or regulatory reasons for separation — Shopify Plus’s expansion stores provide a separate storefront that shares the same Shopify organisation. Expansion stores are included in the Plus subscription (up to nine additional stores), so the cost of separation is operational complexity rather than additional licensing.
Use expansion stores when your B2B catalogue is substantially different from D2C, when regulatory requirements mandate separation, or when your B2B operation has grown large enough to warrant dedicated management.
Performance at Scale
Wholesale catalogues are often large — thousands or tens of thousands of SKUs — and B2B sessions involve heavier data operations than typical D2C browsing. There are Shopify-specific considerations for B2B performance at scale.
API Rate Limits
Shopify’s Storefront API uses a cost-based rate limiting model. Complex queries (those requesting many fields, nested relationships, or large result sets) consume more of your rate limit budget. For B2B portals that need to display large product lists with variant-level pricing and inventory, optimise your queries carefully. Request only the fields you need. Paginate intelligently. Cache responses where freshness requirements allow.
The Admin API, used for back-office integrations, has separate rate limits. ERP sync processes that update thousands of products or process hundreds of orders need to respect these limits and implement throttling. Shopify Plus stores receive higher rate limits than standard plans, but “higher” does not mean “unlimited.”
Large Catalogue Handling
For catalogues exceeding 10,000 variants, search and filtering performance becomes critical. Shopify’s native search handles reasonable catalogue sizes well, but wholesale portals with complex filtering requirements (filter by material, certification, compatibility, and availability simultaneously) benefit from a dedicated search service. Algolia and Typesense both integrate well with Shopify and provide the faceted search performance that large B2B catalogues demand.
Product listing pages with hundreds of variants need lazy loading, virtualised lists, and progressive data fetching to prevent performance degradation.
Getting Started
If you are considering Shopify Plus for B2B, or adding wholesale capabilities to an existing Shopify Plus D2C store, the implementation path depends on your current state and your requirements.
For businesses new to B2B e-commerce, start with native features — company accounts, price lists, payment terms — and launch with the standard B2B theme experience. Get wholesale buyers using the portal before investing in custom development. Real buyer behaviour will tell you where to invest.
For businesses migrating established wholesale operations to Shopify Plus, the ERP integration is your critical path. Plan the integration architecture before building the frontend. A beautiful portal connected to a broken integration is worse than an adequate portal with reliable data.
For businesses already on Shopify Plus D2C adding B2B, the blended catalogue approach is the fastest path to value. Enabling B2B features on your existing store lets you launch wholesale in weeks rather than months.
Whatever your starting point: launch with the minimum viable wholesale experience, put it in front of real buyers, and invest in custom development based on what you learn.
For help building or extending your Shopify Plus B2B capabilities, explore our Shopify services or get in touch to discuss your specific requirements.