All guides
B2B & Wholesale

The Complete Shopify B2B Setup Guide

Step-by-step guide to setting up Shopify Plus B2B — company accounts, catalogs, price lists, payment terms, and trade account approval flows.

Published
15 June 2025
Reading time
14 min read
In this guide
  1. 01What Shopify B2B actually includes
  2. 02Setting up company accounts
  3. 03Creating B2B catalogs and price lists
  4. 04Configuring payment terms
  5. 05Trade account application flow

What Shopify B2B actually includes

Shopify Plus B2B (available from 2022 onwards) gives you company accounts, company contacts, location-specific addresses, B2B-only catalogs, price lists, and net payment terms — all natively in Shopify without a third-party app. This is a significant change from the older customer-tag-based wholesale approach.

The key distinction: B2B company accounts are separate from standard customer accounts. A company can have multiple contacts (buyers), multiple locations (shipping addresses), and each location can have its own price list and payment terms.

Before setting up, confirm you're on Shopify Plus — these features aren't available on lower plans.

Setting up company accounts

In the Shopify admin, go to Customers → Companies → Create company. You'll set the company name, add contacts (buyers who can log in and place orders), and configure locations.

Each contact needs a Shopify customer account linked to them. You can invite new contacts or link existing customers. Contacts have roles: admin (can manage the company) or buyer (can only place orders).

Locations represent shipping addresses. A company might have a head office location and several warehouse locations. Payment terms and price lists are set at the location level, so you can have different terms for different delivery addresses within the same company.

Creating B2B catalogs and price lists

A B2B catalog is a product scope — which products are visible to B2B companies. A price list sets the pricing for those products. You can have multiple catalogs and price lists, assigned to different company locations.

To create a price list: Shopify admin → Products → Price lists → Create price list. Set the currency, then add pricing adjustments — either a percentage off/on the compare price, or fixed prices per product/variant.

Assign the price list to a company location: go to the company, open the location, and set the price list. From that point, when a contact from that company logs in and adds products to cart, they see the price list pricing automatically.

Configuring payment terms

Net payment terms (Net 30, Net 60, Net 90) are set at the company location level. When a buyer checks out, they see 'Pay on terms' as a payment option rather than entering card details. The order is placed, an invoice is generated, and the buyer pays within the agreed period.

To enable terms: go to the company location, enable B2B payment terms, select the due date rule (Net 30, etc.), and optionally set a credit limit. The buyer will see the terms option at checkout automatically.

For purchase order number capture at checkout, use a Checkout Extensibility extension — a custom field that captures the PO number as a checkout attribute.

Trade account application flow

Shopify doesn't have a built-in trade account application form — you'll need to build one or use an app. The typical flow: an unapproved visitor fills out an application form on the storefront, you review it in the admin, and on approval, you create the company account and invite the contact.

For a custom implementation: a Shopify Form (or custom HTML form) submits to a custom app endpoint. The endpoint stores the application and emails you for review. On approval, the app uses the Shopify Admin API (B2B mutations) to create the company, location, and contact, then sends an invite email to the buyer.

This is the most common piece of B2B that requires custom development beyond native Shopify configuration.

Need help implementing this?

I build what I write about. If you need this implemented on your Shopify store, get in touch.

Discuss your project

Ready to build this on your store?
Let's scope it.

I reply personally within 24 hours.