I’ve been working a lot with Shopify Plus over the last few months, as a result of various new and existing clients opting to migrate from other systems. One area that I keep getting asked about recently is wholesale, which I thought I’d write a more detailed piece about as it’s an area that’s changing a lot and also something that’d not particularly well documented online.

Is Shopify Plus Suitable for B2B eCommerce?

The short answer to this question is not currently / not really, however they are improving their solution and they do have a lot of B2C brands running a wholesale channel through the platform, in various ways. Although there are a lot of core B2B features missing and it’s not an obvious fit, B2C retailers with a simple wholesale channel could relatively straightforwardly operate on the Shopify Plus platform.

Shopify Plus Wholesale Overview

Presently, there are three options for managing a B2B / wholesale storefront with Shopify Plus (all based around having a second B2C store), these are:

  • The Shopify Wholesale Channel – a fully dedicated channel for selling products via wholesale
  • Customising the theme for different groups of tagged customers – adapting the overall experience for logged in customers assigned to a wholesale group
  • A separate Shopify store – creating a completely separate storefront for wholesale

The bulk of this article is focused on the wholesale channel and what is and isn’t possible, but I’ve also detailed how merchants can create a more customized experience via other options. I’ve never really considered any of these to be particularly robust historically, but they can actually meet quite a lot of requirements and provide a pretty good introductory set of features / capabilities for B2B.

What is the Shopify Plus Wholesale Channel?

The Shopify Plus wholesale channel was released in early 2017, in a bid to improve Shopify’s native wholesale offering. The wholesale function operates as a ‘channel’, which means it is based on your existing store, sharing the same product data, customer data, order data etc. The store operates separately though with it’s own non-editable theme – which is password protected. Customers are then invited to join the wholesale channel and assigned a group, which dictates things like pricing, visibility of products etc.

Customers and their tagging, order limits etc are also managed separately in the wholesale channel area.

The core of the wholesale channel is built around price lists, which allow you to set custom pricing and pricing logic against individual and groups of products, and customers / customer tags. These price lists also allow for things like tiered pricing and the over-riding of pricing for specific customers. These are setup via the following initial options:

All of the price lists are set against groups of customers, which are managed via the customer tagging functionality within Shopify.

You can create a price list by selecting one or more customer groups / tags and then configuring the rules for the products you want to include.

As can be seen above, there’s some flexibility around the tiered / volume-based pricing and it can be managed at an individual product level.

The configuration options for each group of customers is fairly good, with options around things like:

  • Visibility of products
  • Pricing of individual products
  • Global reduction in cost of products
  • Pricing breaks
  • Password-protected storefront
  • Ability to invite, edit and cancel wholesale accounts
  • Set complex pricing discounts (both percentage and fixed) at a collection, store and product level
  • Tiered pricing
  • Tiered pricing structures / discounts per customer
  • Ability to set min. And max. order thresholds against customers
  • Ability to provide different payment options for different customers (not hugely flexible)
  • Ability to set product visibility for different customers

The above screenshot shows how the invitation process for customers is managed – you can also do this via a direct link.

Payments & managing ordering options

Merchants are able to assign different purchasing options to different customers – such as rules to assign maximum order values and also whether a customer can pay online or whether the order is set to draft initially (allowing for payment via a different method, such as BACS) – this would be forced and that customer would have no option to complete their purchase online. Admin users are then able to manage the order from the admin – setting the order as paid, partially paid or cancelling it etc.

The maximum / minimum order thresholds can be quite useful for preventing larger orders from using all available inventory at a low rate or just adding a layer of approval for orders.

Limitations with payments, shipping options etc via the wholesale channel

One of the biggest frustrations I have with the existing wholesale channel functionality is that you can’t provide different payment methods (e.g. pay by finance for example), shipping options (e.g. a special shipping rate for customers or a same day option) etc to different wholesale customers – these will simply remain the same as your main Shopify store. I’d imagine this will get better very soon, but I think it’s something that a lot of merchants would want to be able to do.

That said, the wholesale channel uses draft orders, so an admin user is able to allow for things like credit, reducing or excluding shipping costs etc, it’s just that you’re not able to provide different options to different groups of users (or even all users, compared to the main store) on the front-end.

Design / front-end restrictions with the wholesale channel

The main issue with the wholesale channel is that you’re unable to edit the theme or adapt the front-end. The standard template is basic, but looks clean and is very simple, as below.

The only elements of the above that can be edited is the logo and the links included in the top navigation. For example, you couldn’t remove the search function or add in a mini cart etc.

Wholesale / B2B via Editing theme files, customer tags & scripts

If the wholesale channel doesn’t meet your requirements, you could look at using the themes + scripts option, which essentially allows you to create a different experience for users tagged as different types of customers (e.g. customers tagged as high-value-wholesale). Shopify allows for various aspects of the front-end to be adapted to different customer groups (tagged customers in Shopify terminology), along with different pricing, availability, discounting for different products etc.

Although there’s a manageability overhead with this route, there’s far more flexibility around how the front-end of the store looks etc and it’s more in-line with how other platforms would likely handle the experience (based on a user seeing a different set of products / pricing etc after logging in).

This route can be pretty effective and allows for lots of customization on the front-end and more tailored payment options etc.

Wholesale via a separate store

The alternative option would be to setup a completely separate store / clone store. This route would allow for a completely different experience and would also make managing the catalog etc easier – however, you’d end up managing various aspects of the site / order management etc in two places, which nobody wants. This would be more feasible if you’re using an OMS or ERP as your master.

Deathwish Coffee is a good example of a Shopify Plus retailer who are using a separate store for their wholesale channel.