Setting Up B2B Wholesale on Shopify Plus

Complete guide to launching a B2B wholesale channel on Shopify Plus. Covers company accounts, price lists, net terms, buyer portals, and order management workflows.

E
ECOSIRE Research and Development Team
|March 19, 202611 min read2.4k Words|

Part of our B2B eCommerce & Operations series

Read the complete guide

Setting Up B2B Wholesale on Shopify Plus

B2B wholesale commerce has historically required separate platforms: a public Shopify storefront for retail, a password-protected WooCommerce site or custom portal for wholesale, and manual processes for everything in between. Shopify Plus's native B2B module eliminates this fragmentation. One platform now handles both retail and wholesale, with the same product catalog, inventory, and fulfillment infrastructure.

This guide walks through the complete setup of a B2B wholesale channel on Shopify Plus — from company account configuration to price list management, payment terms, buyer portal setup, and the operational workflows that make B2B commerce function at scale.

Key Takeaways

  • Shopify Plus B2B is available at no additional cost beyond the Plus subscription ($2,000/month)
  • Company accounts support multiple contacts with different roles (admin, buyer, accountant)
  • Price lists can be assigned per company or per contact — with percentage discounts or fixed-price overrides
  • Net payment terms (Net 30, Net 60, Net 90) are configurable per company
  • B2B buyers access a dedicated self-service portal — reducing sales team order-entry burden by 60–80%
  • Wholesale-only products can be hidden from the retail storefront
  • Minimum order values and quantity increments are enforceable at checkout
  • Draft orders (manual orders) remain the most flexible path for complex wholesale transactions

Understanding Shopify's B2B Architecture

Shopify Plus B2B operates as a separate storefront experience on the same Shopify store. The retail and wholesale channels share:

  • The same product catalog and inventory
  • The same fulfillment and shipping infrastructure
  • The same Shopify admin backend
  • The same reporting and analytics

What separates them:

  • Separate customer login (B2B customers log in via a B2B storefront URL or the same storefront with B2B-specific pricing)
  • Different pricing (price lists per company)
  • Different checkout (B2B checkout allows net terms, requires PO numbers)
  • Different catalog visibility (wholesale-only products hidden from retail)

The B2B Storefront URL

When B2B is configured, Shopify creates a separate B2B buyer portal at a URL like yourdomain.com/b2b/ or a subdomain (wholesale.yourdomain.com). B2B buyers log in here and see their company-specific pricing, catalog, and order history.


Step 1: Configuring Company Accounts

Creating a Company

Navigate to Shopify Admin → Customers → Companies → Create Company. The company record contains:

  • Company Name: Legal company name
  • External ID: Your internal customer number (for ERP integration)
  • Company Locations: Shipping and billing addresses (companies can have multiple locations)
  • Payment Terms: Default payment terms for this company (can be overridden per order)
  • Price List: Which price list this company sees
  • Tax Settings: Tax exempt status if applicable

Adding Contacts

Each company can have multiple contacts. A contact is a customer record linked to a company. Contact roles:

  • Admin: Can manage the company account, add contacts, view all orders
  • Buyer: Can place orders and view their own orders
  • Accountant: Can view invoices and payment history (view only, no ordering)

To add a contact: Open the company → Contacts → Add contact. Enter their email and assign a role. Shopify sends them a login invitation automatically.

Company Locations

Large wholesale accounts often have multiple ship-to locations (regional distribution centers, individual retail locations in a chain). Create a company location for each unique shipping address. Buyers can select which location to ship to at checkout.


Step 2: Building Price Lists

Price lists are the core of B2B pricing configuration. Each price list defines the pricing a company or segment of companies receives.

Price List Types

TypeConfigurationBest For
Percentage AdjustmentAll retail prices minus X%Wholesale tiers (30% off retail, 40% off retail)
Fixed PricesSpecific price per variantNegotiated pricing contracts
HybridPercentage default + fixed overridesMost B2B relationships

Creating a Price List

Shopify Admin → Products → Price Lists → Create Price List:

  1. Name: "Wholesale — Tier 1" or "Company ABC Price List"
  2. Currency: The currency for this price list (useful for international B2B)
  3. Adjustment: Percentage below retail (e.g., 30% below your retail prices)
  4. Fixed Overrides: Specific products where the percentage doesn't apply — enter the exact price

Assigning Price Lists

Assign a price list to a company or a specific company location. A company with 10 locations can have one price list for all locations, or different price lists per location (for multi-tier distribution arrangements).

Price List Best Practices

  • Create tiered price lists (Tier 1: 30% off, Tier 2: 35% off, Tier 3: 40% off) aligned with order volume commitments
  • Use company-specific fixed-price lists only for your largest accounts with negotiated contracts
  • Review price lists quarterly against your margin requirements — as COGS change, percentage-based lists automatically adjust

Step 3: Payment Terms Configuration

B2B buyers commonly pay on terms rather than at checkout. Shopify Plus allows configuring payment terms per company:

Available Payment Terms

TermDescription
Net 7Payment due 7 days from invoice date
Net 15Payment due 15 days
Net 30Most common B2B term — 30 days to pay
Net 60Extended terms for larger accounts
Net 90Very large accounts only
Due on ReceiptImmediate payment required
Fixed DatePayment due on a specific calendar date

Setting Default Terms per Company

Open the Company record → Payment Terms → select the default term. This becomes the default at checkout for all orders from this company.

How Payment Terms Work at Checkout

When a B2B buyer with Net 30 terms completes checkout:

  • "Net 30" appears as a payment option alongside credit card
  • If they select Net 30, the order is placed without payment capture
  • An invoice is generated with the due date (order date + 30 days)
  • The invoice appears in the buyer portal for download
  • Payment is captured manually when received, or via bank transfer link if you've configured Shopify Balance

Accounts Receivable Management

Shopify doesn't natively manage collections for overdue invoices. For accounts receivable management beyond basic invoice generation, integrate with:

  • QuickBooks Online (Shopify's accounting integration)
  • Xero (via Shopify integration)
  • Settle (Shopify-native AR automation)
  • Apruve (B2B credit management + net terms financing)

Step 4: Minimum Order Values and Quantity Rules

B2B orders typically have minimums that retail orders don't.

Order Minimums via Checkout Validation

Use Shopify Functions (Plus only) to enforce minimum order values at checkout:

  • Create a validation function that checks cart total
  • If cart total < minimum, block checkout with an error message: "Minimum order for wholesale is $500"

Quantity Increments (Case Packs)

Many B2B products sell in case quantities (12-pack, 24-pack). Enforce this via:

  • Product variants with case-quantity inventory tracking (each unit = one case)
  • Shopify's quantity rules metafields (minimum, maximum, increment) — accessible via the Storefront API and rendered in your B2B theme

Minimum Order Quantity per Product

Set minimum order quantities via Shopify's product metafields for B2B:

  • Metafield: b2b.minimum_order_quantity — integer value
  • Your B2B theme reads this metafield and enforces minimum at the add-to-cart stage

Step 5: The B2B Buyer Portal

The B2B buyer portal is a self-service interface for wholesale customers. Access it at yourdomain.com/b2b/ (or your configured URL) after logging in with their company credentials.

Buyer Portal Capabilities

FeatureWhat Buyers Can Do
Browse catalogSee products with their company-specific pricing
Quick orderSearch by SKU or product name, enter quantities, add to cart directly
ReorderRe-order previous orders with one click
View order historySee all orders across the company
Download invoicesPDF invoices for completed orders
View payment statusWhich invoices are paid, outstanding, overdue
Manage account contactsAdmins can add/remove buyers from their company
Track shipmentsOrder fulfillment status and tracking links

Customizing the B2B Portal

The B2B portal uses Shopify's "Trade" theme by default, designed specifically for B2B UX. Customize it with your brand colors, logo, and navigation structure via the standard Shopify theme editor.

Custom functionality (bulk CSV order upload, custom approval workflows, territory restrictions) requires theme code customization or additional apps.

Quick Order Feature

One of the most-requested B2B features: rapid bulk ordering by SKU. The Trade theme includes a built-in quick order form. Buyers type or paste SKUs, enter quantities, and add multiple products to cart without visiting individual product pages. This is essential for wholesale buyers who order from an established product list each cycle.


Step 6: Product Visibility for B2B

Wholesale-Only Products

Products that should only be visible to B2B buyers (private label items, bulk configurations, distributor SKUs) can be hidden from the retail storefront:

  • Add the product to a B2B-only collection
  • Set the product as "Draft" on the retail channel but "Active" on the B2B channel
  • Or use customer tag-based visibility: publish product to the storefront, but require login and specific tags to see pricing

B2B vs. Retail Pricing Display

On your retail storefront, retail pricing shows. When a B2B buyer is logged in and browsing the main storefront (if your configuration routes them there), they see their price list pricing instead of retail pricing. The product pages display B2B prices automatically based on session authentication.


Step 7: Integration with ERP and OMS

Enterprise B2B operations require order data to flow into downstream systems:

ERP Integration Pattern

Shopify webhook orders/create fires for every new B2B order. Your integration middleware:

  1. Receives the webhook
  2. Checks the order's company field (populated for B2B orders)
  3. Creates a sales order in your ERP (NetSuite, SAP, Dynamics)
  4. Maps Shopify's order data to ERP's required fields
  5. Returns an acknowledgment

Inventory Sync

B2B orders consume from the same inventory as retail. Your ERP's inventory management must write back to Shopify via the inventory API to keep levels synchronized, particularly for made-to-order or allocated inventory scenarios.

EDI Integration

Large retail wholesale buyers (chain stores, distributors) often require EDI-format order transmission. Shopify's order API data can be transformed to EDI formats via middleware platforms like SPS Commerce, TrueCommerce, or custom EDI translators.


Operational Workflows for B2B Commerce

Order Approval Workflows

Some B2B operations require internal approval before orders are fulfilled (credit limit checks, new customer verification). Implement with:

  • Shopify Flow: Trigger on B2B order creation, set status to "On Hold," send internal Slack notification for review
  • Manual approval: Team member reviews and releases the hold
  • Automatic approval after credit check pass

Sample Order Workflow

Wholesale reps often send product samples to prospective buyers. Handle this via Draft Orders:

  1. Create Draft Order with sample products
  2. Apply 100% discount (internal-only discount code)
  3. Mark as "sample" in order attributes
  4. Send draft to the sales rep or buyer for confirmation

Credit Limit Enforcement

Track outstanding invoice balances per company against a credit limit. When a new order would exceed the limit, use Shopify Flow + a custom app to:

  1. Calculate current outstanding AR balance from your accounting system
  2. Compare against credit limit
  3. If exceeded: convert order to "On Hold," notify AR team, email buyer about credit limit

Frequently Asked Questions

Can B2B and retail customers share the same storefront or do they need separate sites?

Both approaches work. Shopify Plus allows a "combined" storefront where retail and B2B coexist — B2B buyers log in and see their pricing, retail buyers see retail pricing. Alternatively, the B2B buyer portal creates a completely separate URL/experience. The combined approach works well when you want wholesale buyers to access the same product pages and content. The separate portal works better when your B2B catalog or UX requirements differ significantly from retail.

How do I handle international B2B customers with different currencies?

Shopify Markets combined with B2B price lists enables international wholesale pricing. Create a price list in the buyer's local currency (GBP, EUR, AUD, etc.) and assign it to the international company. The buyer sees prices in their currency, and Shopify handles the payment in that currency. This requires your Shopify store to have the relevant currency enabled in Markets settings.

What's the difference between Shopify Plus B2B and using Bold Custom Pricing?

Shopify Plus B2B (native) provides company accounts, buyer portals, net terms, and B2B checkout — a complete B2B infrastructure. Bold Custom Pricing provides segmented pricing (different prices for different customer tags) without the full company account and portal infrastructure. For established B2B wholesale operations requiring company accounts and net terms, Shopify's native B2B is superior. For simpler wholesale pricing (just different prices, no portal), Bold is faster to implement and works on non-Plus plans.

Can wholesale customers place orders via phone or email that still run through Shopify?

Yes, via Draft Orders. Your sales team creates a Draft Order in Shopify Admin, applies the appropriate wholesale pricing, and sends a payment link to the buyer. The buyer pays online, or the sales rep captures the payment manually. Draft Orders support all payment methods, tax overrides, shipping overrides, and custom line items (for services, setup fees, etc.).

Does Shopify Plus B2B support approval workflows for large orders?

Natively, Shopify doesn't have built-in order approval workflows. Build approval workflows using Shopify Flow: trigger on order creation, set the order to hold, send notification to the approver via Slack or email, and release the hold upon approval. For more sophisticated approval routing (multi-level, conditional on order value), third-party apps like OrderLogic or custom app development are needed.


Next Steps

Setting up B2B wholesale on Shopify Plus correctly from the start prevents operational headaches at scale. Price list misconfigurations, missing payment terms, and portal UX issues all compound as your wholesale customer count grows.

ECOSIRE's Shopify Plus services include complete B2B channel setup: company account configuration, price list architecture, payment terms, buyer portal customization, ERP integration, and operational workflow design. We've built wholesale channels for manufacturers, distributors, and DTC brands expanding into wholesale.

Discuss your B2B commerce requirements with our Shopify Plus specialists and get a custom implementation plan for your wholesale channel.

E

Written by

ECOSIRE Research and Development Team

Building enterprise-grade digital products at ECOSIRE. Sharing insights on Odoo integrations, e-commerce automation, and AI-powered business solutions.

Chat on WhatsApp