Table of Contents- Companies
- Catalogs
- Checkout
- Online Store Experience
- B2B Landing Pages, Logins and Domains
- Minimum Order Total
- B2B Discounts
- Sales Rep
Companies (B2B customers)### Migrating Customers to an Existing Company within B2B on Shopify
You can now add a customer to an existing company with their order history. This can be actioned from the company page, the company location page or the customer profile. Once you select this action, you can then choose to add the customer’s order history to the company location and notify the customer that they can start placing B2B orders.
Before migrating a customer to an existing company, consider the following:
- If the customer was previously assigned to a different company, that company’s orders will not migrate to the new company.
- Canceled or deleted orders will not be migrated.
- Orders will be added to one company location, they cannot be split across multiple.
- The customer’s full order history will be migrated, a partial order history migration is not supported.
- If you make a mistake, you can remove the customer from the company with the original orders that were migrated over.
For step by step instructions see our Migrating your customers to a B2B company help doc.
Updating the Company Name Field
When a customer is migrated to create a company, the Company name field will default to the customer’s first and last name. This field can then be updated by editing the Company profile. To update multiple Company name fields at once, use a 3P app such Matrixify.
Dropshipping (Flexible Shipping Addresses)
By default, a company’s shipping address is pre-populated during checkout and B2B buyers are restricted from changing it. However, there is the option to let your buyers change the shipping address when they place an order. This is often known as drop shipping.
To allow for this, when migrating your customers to companies, enable ‘Allow customers to ship to any address’. To update this for an existing company, navigate to the company or company location and enable this under Checkout settings.
Locating Wholesale Customers for Migration
To identify your Plus Wholesale Channel customers, go to the Customer page and filter by a Customer tag that was created to identify a Plus Wholesale Channel price list. You can see these tags in the Plus Wholesale Channel app by viewing the ‘Tags’ column on the Customers or Price lists page. When you filter by one of these tags, all Plus Wholesale Channel customers that have been assigned to this tag’s price list will appear.
Company Account Requests
Company account requests lets your potential customers submit a form on your online store to request access to buy from your business as a B2B company. It is built on top of the Shopify Form app and allows you to customize the form fields according to your needs. After your potential customer submits a form, a new company, a company location, and a customer are created in your Shopify admin. Then, an admin will need to manually approve them, by setting buying or admin permissions for the customer, to grant access.
To automate this process, you can use Shopify Flow, which allows for automation of various tasks. However, automating the approval process would require a custom app.
For potential customers to access the form, add it to your online store by creating a new page in the online store editor. You can then add your form on that page, and provide links to the page in your menu or footer.
For step by step instructions on setting up and reviewing requests see our Company account requests help doc.
Automatic Payment Reminders
There’s the option to set up payment reminder notifications when a payment is due or overdue. To enable these:
- Go to Settings > Notifications > and click ‘Customer Notifications’
- Navigate to the Payments header and select ‘Payment reminder’.
- Then, click 'Manage payment reminders. From here you can set up multiple payment reminders that can be sent on or after the due date.
Catalogs (B2B Pricing)### Tiered Pricing
Using Discount Functions or a 3P app such as Discount Ninja, you can configure a tiered pricing structure where B2B customers receive a higher discount based on the amount they spend per order. For example:
- Spend per order $1 - $500 receive a 15% discount
- Spend per order $501 - $1000 receive a 20% discount
- Spend per order $1001- $3000 receive 30 % discount
Quantity Rules
Using catalogs you can set quantity rules to restrict the number of items a B2B customer can purchase in one order. You can enforce a minimum or maximum quantity for a product, or require your customers to purchase a product in specific increments.
If you have a Plus Wholesale Channel price list that uses minimum, maximum or increment quantity rules, it can be copied to a B2B catalog. However, if you add a new variant to a product, then it won’t automatically inherit the quantity rules applied to other variants in the catalog. It would need to be added to the catalog manually. For step by step instructions see the Copy your wholesale price lists to B2B catalogs help doc.
If you’re creating a new catalog, you can set quantity rules within the admin or by importing a CSV. For step by step instructions see the Setting up quantity rules and volume pricing help doc.
Please note that all quantity rules are set in your catalog to apply to independently, not to the product as a whole. For example, if you set a minimum quantity rule for a product with multiple color variants, then the customer needs to purchase at least that quantity of all the same color variants.
Volume Pricing
Using catalogs you can offer price breaks to customers when they purchase a certain quantity of a product in the same order. Before setting up volume pricing, consider the following:
- Volume pricing is set on a variant level not the product level. Therefore, a customer needs to purchase the required quantity of a specific variant to meet volume pricing requirements.
- After you set volume pricing, the price for that variant automatically converts to a fixed price, and overall adjustments aren’t applied to that variant’s price.
- You can have up to 10 price breaks per variant.
If you have a Plus Wholesale Channel price list that uses variant level volume pricing, it can be copied to a B2B catalog. However, if it uses product level volume pricing (mix and match) this is not supported on B2B on Shopify and cannot be copied to a catalog. In this case, create a new catalog with each variant as a separate product. For step by step instructions see the Copy your wholesale price lists to B2B catalogs help doc.
If you’re creating a new catalog, you can set volume pricing within the admin or by importing a CSV. For step by step instructions see the Setting up quantity rules and volume pricing help doc.
Decimal Price Adjustment
Currently, a catalog percentage price adjustment cannot be set to a decimal, for example, 10.5%. However, a decimal can be added using the Catalog API.
Managing Product Visibility
You can control which products are visible to your B2B and DTC customers. Use catalogs to manage the visiblity of products for B2B customers. When you’re creating or editing a catalog, choose the products that will use the catalog’s pricing. To make these products visible to a B2B customer when they log in to B2B on Shopify, assign the catalog to the corresponding company or company location that the customer is associated with. For more details, refer to the “Creating B2B catalogs” help doc.
If there is a product you’d like to hide from your DTC customers but still want to be visible to your B2B customers, remove the product from the online store. To do this, navigate to the product, go to ‘Managed sales channel’ in the menu at the top of the Publishing card, and remove the ‘Online Store’ as a sales channel. This can also be completed for multiple products at once from the product page by going to ‘Exclude from sales channel’ under the more actions menu.
Compare at Price
As a merchant, you may want to display the retail price (either crossed out or simply shown) next to the discounted wholesale price in your store. You can achieve this on B2B on Shopify using the built-in CSV import feature for fixed prices, or you can opt to implement it through custom metafields.
Option 1: CSV import with fixed prices
- Export the Catalog to a CSV file.
- Fill in the Compare At column.
- Import the updated Catalog CSV file.
Option 2: Use Metafields
- Add a custom metafield titled “Retail Price”, or whatever is most accurate/intuitive for your customers, to the product variants.
- Then add in the retail price for each product. The metafield information will be displayed to customers from the online store when browsing products via themes/liquid.
- This option works well with percent-adjusted pricing.
Checkout### Customizing Shipping Rates
In a blended store you may want to display different shipping rates for DTC and B2B customers. To achieve this you can use a Delivery Customization Function.
Use the PurchasingCompany hook in BuyerIdentity to determine whether the buyer interacting with checkout is B2B or not (this will return null for DTC buyers as they will not have a company associated). From there you can use the hide operation to hide the shipping options that are not applicable to the buyer.
There are also 3P apps that offer this functionality such as Shipfy.
Customizing Payment Methods
If you have a blended store you may want to hide or different payment options for DTC and B2B customers. To achieve this you can use a Payment Customization Function.
Use the PurchasingCompany hook in BuyerIdentity to determine whether the buyer interacting with checkout is B2B or not (this will return null for DTC buyers as they will not have a company associated). From there use the hide operation to hide the payment options that are not applicable.
There are also 3P apps that offer this functionality such as Payfy
Tagging B2B Orders
While it’s not necessary for B2B on Shopify, you might still want to tag your wholesale orders. If so, you can use Shopify Flow to do this by setting up the following workflow:
- Set the flow to trigger when an order is created.
- Set a condition to check if the order is a B2B order. You can do this by checking if ‘order.purchasingEntity.__typename’ equals ‘PurchasingCompany’ as This field is only available on B2B orders.
- Add the action to ‘add order tags’ and identify the appropriate tag to add when a B2B order is created.
Shopify Flow also has a template called ‘Tag B2B Orders’ that follows this workflow.
Online Store Experience### Customizing the Online Store Theme
In a blended store, if you prefer to have unique online store experiences for B2B customers, you can achieve this using store contextualization. With this feature, you can tailor the theme content, store layouts, and promotional materials for B2B on Shopify. This is achieved by editing sections and blocks specific to your B2B workflow.
For step-by-step instructions on how to edit your theme see Adapt your theme for specific markets or B2B on Shopify help doc. you need to use an Online Store 2.0 theme, or a theme built with JSON templates. If you’re not using one of these options, you can still create customizations using the ‘customer.b2b’ liquid variable to edit your theme’s code.
Customizing Email Notifications
If a notification is enabled, both B2B and DTC customers will receive it. However, you can tailor the email message for each customer type by using liquid code. To distinguish between B2B and DTC customers, use the liquid variable 'customer.b2b?’. This is similar to using liquid to display different elements in the online store theme. Remember, you will need to change each notification one by one.
Quick Order List
Shopify’s quick order list feature allows your customers to easily add multiple variants to their cart at once, using a list of all variant options on the product description page. It is supported on free Shopify themes, version 11.0.0 or later. If you don’t want to change or update your theme, then you can add code to your theme using Liquid or Javascript to display the Quick order list. If you’re not comfortable with reading or editing theme code, we recommend working with a developer or partner agency. If you don’t have a dedicated agency, consider contacting a B2B-specialized Shopify partner.
B2B Landing Pages, Logins, and Domains### B2B Landing Page for a Blended Store
In a blended store, if you’d like to have a separate landing page for your B2B customers consider creating a new page in the online site editor. On this page, add the new customer account URL for B2B customers login and any other information that you would like to have publicly available related to your wholesale business.
A subdomain, for example, b2b.merchant.com could also be set up to direct B2B customers to this specific page.
B2B Landing Page for a Dedicated Store
In a dedicated store you have the flexibility to display your products on a public landing page, while keeping all B2B and wholesale information hidden until a customer logs in and authenticates themselves as buyers. To configure this:
- Use the theme editor within the online store.
- When using this feature in a dedicated B2B store, the ‘default’ context is the logged out B2B experience while the ‘B2B’ context is the logged in B2B experience.
- In the ‘default’ context within the theme editor, remove elements that you don’t want visible to customers who have not logged in. This could include wholesale pricing, ‘add to cart’ buttons and the navigation in the header and footer.
- If PDPs and collection pages are removed from the navigation, they will still be ‘live’ but not accessible via the storefront navigation unless a customer is logged in.
Storefront Gating
To create a secure and personalized B2B experience, where only verified B2B buyers can access wholesale products, prices, content, and more, there are following options available:
- Option 1: Remove B2B-specific products from the view of DTC customers.
- Navigate to the product, then go to ‘Managed sales channel’ in the menu at the top of the Publishing card, and remove the ‘Online Store’ as a sales channel. This can also be completed for multiple products at once from the product page by going to ‘Exclude from sales channel’ under the more actions menu. Then, leave the product assigned to a Catalog for your B2B buyers.
- Option 2: Use Locksmith, a 3P app, to block specific pages
- With Locksmith enabled, you can control access to products and pages in the Online Store channel.
- You can add “locks” to any piece of content, to restrict access and even hide it from view.
- You can add “keys” to those locks, with conditions on who is allowed to use each one. These access conditions include customer tags and email addresses, passcodes, secret links, geographic location, purchase history, a schedule, and more.- Option 3: Use liquid to block specific pages
- With “customer.b2b?” liquid code, you can hide elements from customers unless they have logged in and authenticated themselves as B2B buyers.- Option 4: Modify online store preferences to restrict access to B2B customers
- Go to your online store settings
- Select “Restrict access to B2B customers only" under “B2B customers” card
- All visitors will be directed to the login page, and only B2B buyers who are associated with a company will be able to login. All other buyers will be sent to a “access denied” page.
- When this setting is enabled potential customers will not be able to access a company account request form.
B2B Login Page
B2B on Shopify uses a different login page than the Plus Wholesale Channel. Instead of the Plus Wholesale Channel’s login page (example.shopifyapps.com/accounts/sign_in), wholesale customers log in using the new customer accounts URL. This URL can be shared with your wholesale customers in a variety of ways, depending on whether you have a blended store or a dedicated store.
Also, you can customize the new customer accounts page URL. To set this up, follow these steps to connect a subdomain.
Custom Domains
If you have a custom domain for the Plus Wholesale Channel (examplemerchant.com), you can use this same custom domain for your new dedicated B2B store. Before making this transition, ensure that your new B2B store is fully prepared to go live. Then, follow these steps:
- Remove the domain from the Wholesale Channel on the original store.
- Add the domain to the new store.
This is also possible for a custom subdomain (wholesale.merchant.com). In this case, follow the connect a third-party subdomain steps to the new store.
Minimum Order Total
With the cost of shipping products across the country, you may want to set a minimum order total that your wholesale customers must meet to place an order. This rule applies to the full value of the order, rather than any individual product added to their cart.
If you need to set minimum (or maximum) order totals for your wholesale customers today on B2B on Shopify, this use case can be accommodated by one of the following methods.
Option 1: Using a 3P app such as MinMaxify
- Install a 3P app to enable a minimum total order value that wholesale customers must meet.
- Identify these customers by using a customer tag so that Shopify understands that the minimum order total applies.
- Watch one of our product experts provide an overview of this solution.
Option 2: Using a combination of metafields and cart validation Functions
- Create a custom metafield on company location(s) and title it “minimum order total”.
- Add a minimum order total to the company location metafield, for example, $1,000.
- Create a checkout validation Function to confirm the order total for this customer is at or above the minimum order total once they’re at checkout.
- If below minimum order total, the Function will not allow the checkout to be completed.
B2B Discounts
Currently, B2B discounts can be enabled by contacting Shopify Plus Support. Enabling discounts in your store will allow you to create discount codes that can be differentiated for B2B vs. DTC customers using segmentation, however any automatic discounts created would apply to both B2B and DTC. If you want to create separate automatic discounts for B2B and DTC, this can be achieved using a Discount Function (segmenting for B2B customers based on whether a purchasingCompany is present on the BuyerIdentity) or using a third-party app from the Shopify App Store.
If you’re using discount codes in a blended store, create customer segments to control whether only B2B or DTC customers can use them. Here’s how:
- Create segments using “companies is not null” to identify B2B customers and “company is null” to identify DTC customers.
- On the discounts page, select “specific customer segment” under “customer eligibility” for any discount codes.
- Choose the segment that should be able to use the discount.
Please note that you will need to complete this step for all historical DTC discount codes, to ensure they do not also apply to B2B customers within a blended store.
For more information on discounts, refer to our Discount codes FAQ help doc.
Sales Reps
Wholesale sales reps are typically dedicated agents employed by your company or independent contract that promotes your brand to other businesses. This functionality is available on B2B on Shopify using Companies staff permissions. You can decide whether each sales rep is able to:
- View companies
- Create & edit companies
- Delete companies
- Assign other sales staff to company locations
You can also limit their view to only the company locations they are assigned to. To streamline the permission process when adding multiple staff members, create a role within staff permissions that predefines their assigned permissions and customize the role title to align with your internal organization structure (e.g., users with the “Sales Rep” role can only view and place orders for their assigned company locations).
For step by step instructions on setting up and assigning sales reps see our Setting up sales staff for B2B help doc.
Learn More
If you’d like to learn more about transitioning from the Plus Wholesale Channel to B2B on Shopify, explore our comprehensive Migration Kit for checklists, product walkthroughs, and more.















