Checkout Toolbox

Flex Theme Sections

Linear Shopping Experiences

Episode 101 - Wholesale in your Shopify Store

Subscribe to the Podcast

The Podcast

Show Links

    Help the Podcast


    Hey. Scott Austin here. 

    The topic for this episode is Wholesale.  Back in episode 8 in 2019, I talked about how to build a wholesale store in Shopify.  This episode will be an update on that episode.

    The first assumption for this episode is that you are not on Shopify Plus.  Shopify Plus has recently improved its wholesale features and they are much better than were previously.  But the high monthly minimum fee for Shopify Plus makes it too costly for most Shopify businesses.  So we won't have any of the Plus-only wholesale features available to us.  That means we'll either be using apps or custom code to create our wholesale experience.

    Shopify Apps

    There are many apps that provide some or several features that you may want in a wholesale store.  But, in my experience, most wholesale businesses have unique business rules.  And the wholesale apps available today that try to be all-encompassing don't provide enough customization to map to these unique business rules.  So, I end up building most of the needed business rules in the theme code and just using an app for any needed pricing rules.

    I've even undone these all-encompassing wholesale apps for client's stores and implemented wholesale features in the theme code as the client's needs were not met by the app.  Of course, editing the code is going take technical skill and most stores will need to hire a Shopify expert.  So it's going to be an investment.  My client's find the return on that investment worth it as the custom code helps them automate more of their business' rules which reduces confusion and increases usage of the wholesale site.

    What is Wholesale

    Let's define what wholesale means.  Most simply, wholesale is when you sell your products to a reseller who is going to resell them to a consumer.  In most countries, there is no tax applied to a wholesale transaction.  And you may be required to know your customer's reseller permit or tax id.  

    Let's discuss some desired scenarios for a wholesale store.

    1. Discounts for buying in bulk. For this discussion, I'll refer to this as quantity breaks. So an example of this might be buy one product and it's $10. But if you buy 10 of the products, then they're $8 a piece. Or if you buy a hundred of the products, then they are $6 a piece. And usually in a quantity break scenario, it applies to any customer. So they don't have to log in to get that special discount.
    2. Discounts on price based on the customer's wholesale status. For example, you might have wholesale tiers of bronze, silver and gold. If a customer  logs in as a gold wholesale customer, they'll receive a 50% discount off of the retail price. The silver tier may get a 40% discount and the bronze tier a 30% discount.  In this case, customers will need to log in so we can determine which tier they are in.
    3. Buying the product in a different package. For example, your wholesale business may only sell products in cases.  Let's say cases are of 12 units. So the wholesale customer can buy a case of 12 units or two cases for 24 units or three cases for 36 units.  But they can't buy 30 units because they can't break a case up. They can only buy in units of 12 because that's the case size.
    4. The wholesale customer has different payment terms. For example, a common payment term in wholesale is when the customer gets to pay by invoice on net 30 terms. So they don't have to provide a credit card number when checking out. They can checkout without a credit card and you'll invoice them after the fact. And they'll send you the money within 30 days.

    Questions to Establish Business Rules

    So before you go into Shopify and start building out your solution for your wholesale business, you're going to want to define what your business rules are. So I put together a list of questions you can ask yourself to help you define your wholesale business. The questions will help you determine your business rules for wholesale so that you can build out a solution that meets those business requirements.

    1. So the first thing to consider is are accounts required? Are your wholesale customers going to be required to log in with a username and password to get their discount? You're actually going to want to do that in most scenarios because your wholesale customers are going to be repeat customers. They're going to come back and reorder their inventory to build up their stock. But if you're actually just doing quantity breaks that anybody can get those quantity breaks, then accounts probably won't be required.
    2. Do accounts need to be approved? Can anybody just walk into your store and start getting the benefits of a wholesale discount. Or are you going to want to approve who your wholesalers are? You may require a credit check or verifying tax status before approving accounts.
    3. Are there tiers for wholesale customers like bronze, silver and gold. And if there are, how will those tiers be determined? So if your wholesale customers are just going to have one discount, let's say 50% off of retail price, you're only going to have one tier. But you might have different tiers based on the volume of the customer or how often they're ordering from you or how long they've been with you.
    4. Are there discounts for ordering in bulk? We called that quantity breaks before. And are those discounts for bulk orders going to apply to consumers and for wholesalers. Additionally, if you have wholesale tiers and quantity breaks, how the two work together.
    5. What price is the discount applied from?  Shopify has two prices for a product variant. They are called price and compare at price. The price is the field that we see and use when determining what the price is going to be for the consumer in the cart and through the checkout process. When a variant has a compare at price, that's how Shopify knows that the product is on sale. Let's say we have a product with a retail price of $100.  And the wholesale discount is 50%.  So the wholesale price is $50.  What happens to the wholesale price if the retail price goes on sale?  Is the wholesale price a discount from the price or the compare at price?
    6. Are shipping rules different for wholesale and consumers? A common scenario for this is you may be offering your consumers free shipping, but you may not want to offer your wholesale customers free shipping. In the basic Shopify levels, you cannot have different shipping rules based on customer type. 
    7. Are the payment rules different for wholesale and consumers? Just like in shipping, the basic Shopify levels can't have different payment rules by customer type. A common different payment type for wholesale businesses is net terms.
    8. Will some content on your site be restricted to only wholesale customers? That content could include product price, wholesale products, wholesale collections, or other information that you want to be available only once you authorize someone as a logged in wholesale customer.
    9. What product catalog will wholesale customers have access to? Is it the same products that you're selling to consumers or is it a different set of products completely, or is it a subset of your products? So you may have 100 different products for consumers, but wholesale is restricted to a catalog of 10 products.
    10. Will your wholesale customers be purchasing in a different package size than your consumers? For example, let's say you sell glassware and you allow your consumers to purchase one glass at a time. Well for your wholesale business, you may say that wholesale customers can only buy in cases of glasses. If you decide they're only going to be purchasing cases, then you also have to ask yourself, are they allowed to break a case up.  For example, if you're selling 12 glasses, in your case, can they order 18 which would be a case and a half? Or do they have to order one case of 12 or two cases for quantity of 24 and not be allowed to purchase the 18.
    11. Are there order minimums for wholesale and are those minimums per product or per order?  Minimums could be in quantity or cost.  For example, you may not sell in wholesale by the case, but you could require a minimum order of at least 20 units of a product.  Or there could be a minimum cart value of $1000 for an order.

    Seperate Wholesale Store?

    Once you've answered these questions, you've got the business rules that your wholesale store will need to enforce.  The first big decision to make, assuming that you already have a retail shopify store, is whether your wholesale business will be incorporated into your existing store or if you are going to spin up a new Shopify store that is dedicated to your wholesale business.

    If the business rules for your wholesale business are different than your business rules for your consumer business for shipping or payments then its best for you to create a separate Shopify store.  That's because on any of the non-Plus levels of Shopify, you can't have payments or shipping that differ based on the customer.

    Also, if you are selling the products in different packages, say cases for wholesale, then its easier to go with a seperate store.

    While a seperate store increases some costs for Shopify and apps, it does make managing the seperate store experiences easier.

    Inventory Management

    If you're using Shopify for inventory management or for fulfillment, things will be more difficult if you have two Shopify stores. You can easily fulfill two different Shopify stores by going into the stores order queues and processing the orders seperately.  But Shopify inventory management will not manage a shared inventory between two Shopify store.  If you're managing your inventory and you up end up with a separate wholesale store from your consumer store, you're going to want an inventory management solution separate from Shopify.  It's going to aggregate your inventory from the two stores and manage them together.  And some inventory management systems will also allow you to combine the orders queues too.

    So now I'm going to switch gears and start talking about different tools that you can use in building out your wholesale solution in your Shopify store. And one thing to note is that there's not one tool. It's not like you can just get an app or turn on a feature and have wholesale implemented.

    There's a bunch of little things that you can do to piece together your overall wholesale solution. So here's a bunch of tools that I use. Some of them are apps, some of them are just code that I add.  These example should help you understand what the possibilities are for your wholesale store.

    Requiring Login

    There are certain parts of your store that may require a customer to log in with their wholesale account. And how you do that is use tags on your customer records. So it could be wholesale or it could be wholesale-gold or wholesale50 whatever tags you want to use. You can have one tag or multiple tags if there are wholesale tiers. And when you have your customers log in with that tag, you can provide them access to things.  You can require a login to parts of the site, like wholesale products or pricing.  Or you can require a login to any part of the site.  When I'm building a seperate wholesale sale, I ussually require a login to see any part of the site.  One side benefit of this is that the wholesale products are hidden from Google search which is good because then the won't be two listings - retail and wholesale - of your products in search.

    I've created a blog article with code samples that show you how to restrict access to parts of a page, a whole page or the whole site.  I'll include a link to in  the show notes.

    There are three login states that a customer can have. One is that they're not logged in at all. The second is that they're logged in, but this is an account that is not authorized for wholesale. And the third is they're logged in and they have an authorized wholesale account.

    So the way you can control access is some if statements in liquid, Shopify's code language, to distinguish between these login states.

    I also like to add some messaging to logged in wholesale users so that they know they are logged in.  The messaging, which I ussually put under the page header could say something like 'You are logged in with a wholesale Silver account and prices reflect your discount.'

    Account Application

    The next tool we want to think about is what our signup page looks like.  It should explain your wholesale program and have a form a user can subit to apply for the program.  I ussually use the Hulk Form Builder, which I'll link to in the show notes, to build the form.  The free level of the app will give you everything you need to make a wholesale application form.  The form gets submitted to an email address to be processed manually. If you want to be more sophisticated or have a more automated process, you could connect submissions to a database for tracking and processing. 

    Once you approve an application, you'll need to go the wholesale store's admin and add the customer record with the appropriate tag and then send a account invite.

    Only the customer themselves can turn their customer record into an account in Shopify because they have to add a password and we're not allowed as Shopify admins to add passwords to customer accounts. So you'll send an email off to them through the Shopify admin using the account invite email.  You can edit the template for that email as desired to further explain the wholesale program.

    If you have seperate stores for consumers and wholesale, I prefer to put the wholesale application on the consumer store.  I do that as most wholesale dedicated stores require a login to access the site and that code is the easiest to implement if it doesn't need an exception for an application form.

    Quick Order Form

    If you think about a wholesale customer, normally what they're doing is buying a lot of different products across your entire product catalog to fill their inventory. But most consumer stores are set up where the consumer is adding one or two products to the cart and they're navigating back and forth between collections, products and the cart.  That consumer experience isn't good for wholesale customers.  Let's say a wholesale customer wants to add a hundred different products with different sizes and color combinations in multiple quantities. Imagine doing that through your consumer experience. The wholesale customer is going to be going back and forth between the product and cart for every variant combination they want.  So one of the things that I build quite often for a wholesale store is what I call a quick order form that makes it easier for wholesale customers to order multiple variants and products at one time.

    A quick order form is a collection templates. What it does for a collection page is it takes all of the products in that collection and all of the variants for those products and lays them out in a table format. So think about a collection of men's shirts. They would see all the men's shirts and all the sizes and all the colors that are available in one table format, and there's a field next to each variant that allows them to enter a quantity for that variant.  And at the bottom of that form there's an add to cart button that will take all the different selected variants and add them all at once to the cart. So it's a way for wholesale customers to quickly make bulk orders. 

    It's not an easy template to make, so its something that you really want to spend some time on or hire someone to do, but it's one of those things that makes your wholesale service much better for your wholesale customers.


    Another thing I do for wholesale customers in a shared consumer/wholesaler store is change the cart experience for the wholesale customers. For example, I may have upsells or cross sell promotions in the cart for retail customers that I remove for the wholesale customer. So I might have an if statement in the cart code that says if customer.tags contains wholesale, then hide the consumer content.

    Now something that I'll add in the cart for a wholesale customer might be a unique navigation experience to take them back to the wholesale ordering process.  Or I might add a clear cart button to allow them to easily restart their ordering process.

    Order Minimums

    Another modification I'll do to the cart is enforcing order minimums if they exist for wholesale customers. So for some of my clients, they might say in their wholesale program, you only get your discount if you have an order of $1,000 or more. So I'll add javascript into the page that looks at what the cart total is and if the cart total does not exceed $1,000 then I'll hide the checkout buttons. And I'll also have a message saying, hey, you haven't hit your order minimum of $1,000 yet. Please add $225 more to your cart to be able to check out.  If you are enforcing order minimums to get to checkout, you're gonna want to set up your theme in such a way that all of your wholesale customers go through a cart page where you can check and see what the cart sizes before you allow them to check out. So you're going to have to do things like disable your quick checkout buttons from the product pages because that would bypass any logic that you would have in the cart to enforce the minimum order size.

    Product Minimums

    Some of the modifications I do to product pages for wholesale include things like enforcing product order minimums or controlling quantity to map to cases.

    The quantity box on the product form can be editted to start at 50, if that's the product's minimum order size.  Or the quanity box can be adjust to be a drop down that only shows the quantity in increments of the case size, like 12, 24, and 36.

    Net Payment Terms

    I've already mentioned a couple of times that a common payment option for wholesale is net terms. Invoicing is actually easy to implement inside of Shopify. Now remember, if you implement invoicing in the base level Shopify stores, that means it's going to provide that invoicing option for all customers, whether or not you offer them net terms. To do that, all you have to do is go to payments in your Shopify admin settings and add a manual payment type, just name it Net 30 or something similar.


    I use the Bold Custom Pricing app for wholesale tiers and quantity breaks.  The automated installation doesn't work for the Flex theme, which is what I use for all of the wholesale stores that I build.  But their customer support is quick and will get it properly set-up.  The app costs $40 per month for wholesale tiers and $20 per month for quantity breaks.

    Some wholesale stores just have one price list for all customers.  In that situation, you don't need a pricing app.

    Enriched Product Data

    Most wholesale stores have standard data that they want to provide on each product.  That could be MAP Pricing, Downloadable Spec Sheets or other similar things.  I ussually store those elements in metafields and create metafield definitions for them so they can be easily maintained by the store staff.  Then some theme code editting is required to expose the metafield content on the product page.

    Also, some stores want to the show the price in different ways.  For example, a store that sells by the case, may want to show the case price and the unit price.  That can be done in liquid too.  I ussually create a product metafield for the case size and use that with liquid to perform the math required.


    The Shopify customer facing account page automatically shows the customer their order history.  One thing I like to add to this page is a re-order button, that allows the customer to quickly recreate that order in the cart.  I've included a link in the show notes with instructions for this.


    That should give you some ideas on how a Shopify store can help automate some of your wholesale business. 

    Every client that I've launched a wholesale store for was surprised by how quickly their wholesale customers embraced the new process.  If you are thinking that your customers prefer talking to your sales team over a self-help store, you'd also be surprised how quickly they'd embrace a well-built wholesale store.  Wholesale stores reduce the operational overhead in your existing manual order taking processes.

    The main thing that I want you to remember is that there are a number of different ways to implement a wholesale store.  Which methods you use will depend on the business rules of your wholesale business. There's a lot of flexibility, so with a little work you'll be able to build the right solution for your business. Many of the solutions or tools that I've talked about here require some deep knowledge and comfort in editing the liquid code of the store's theme. If you're a store owner, you may not be comfortable doing that work. Not to worry though, there's an entire ecosystem of Shopify experts out there that can help you implement the right solution for your business.  The main benefit of building a wholesale store and not using a wholesale app is that you can code in your specific business rules to get the maximum gains in operational efficiency possible.

    Thanks for listening.

    JadePuma is a certified Shopify Expert. If you need any help with your Shopify store, we can help.