Checkout Toolbox

Flex Theme Sections

Linear Shopping Experiences

Episode 8 - Wholesale in your Shopify Store

Subscribe to the Podcast

The Podcast

Show Links


Help the Podcast


Hello. Scott Austin here, and welcome back for another episode of the Shopify Solutions Podcast. This week's topic is how to set up Shopify to support your existing or new wholesale business. We're going to get into some technical detail in this episode and talk about ways to set up wholesale on your own with apps or by editing the liquid code in your theme. So some of the details may be beyond some people's current level of comfort with Shopify. But even if those people listen along, I think they'll learn what is possible within the Shopify platform with regards to wholesale.

So let me start by giving you a few examples of wholesale scenarios so that we are on the same page of what I mean when I say wholesale.

The first scenario is 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.

The second scenario is discounts on price based on the customers wholesale status. So you, for example, you might have tiers of bronze, silver and gold wholesale. If you log in as a gold wholesale customer? You'll receive a 50% discount off of the normal price. Or a silver tier may get a 40% discount and a bronze tier might get a 30% discount.

The third scenario is buying the product in a different package. For example, for wholesale, you may require the customer to only buy in cases and let's say cases are of 12 units. So they can buy a case of 12 or two cases of 24 or three cases of 36 but they can't buy 30 they can't break a case up. They only have to buy in units of 12 cause that's the case size.

And a fourth scenario for wholesale is when the customer has different payment terms. For example, a common one 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.

So before you go into Shopify and start building out your solution for your wholesale business, you're going to want to really understand what your business rules are. So I put together a list of 12 things you need to ask yourself and understand about your business. What are your business rules for wholesale so that you can build out a solution that meets those business requirements.

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 and that anybody can get those quantity breaks, then accounts probably won't be required.

Number two, 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? That might be a credit check or some other approval that you want to do on your side.

Number three, are there tiers for wholesale customers like bronze, silver and gold. And if there are, how will those tears 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. However you want to differentiate between your customers, you need to know upfront if you're going to have multiple tiers.

Number four, are there discounts for ordering in bulk? We called that quantity breaks before. And are those discounts for bulk gonna apply for consumers? And for wholesalers. So for example, a wholesaler gets a 50% discount. Do they also get an additional discount on top of that when ordering a quantity of 100 or more for a given product?

Number five, what price is the discount applied from? Now, Shopify has two prices for a product variant. They're 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 that product is actually on sale. So the compare at price is only filled in when the product's on sale. For your wholesale product on a product that's let's say $100 and there's a 50% discount, that means the wholesale price is $50. But what do you want to do when that hundred dollar product goes on sale for $80? Is the wholesale price now 50% of that sale price, so it's $40 or is it still 50% of the original $100 price? - $50?

Number six. 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. So you're gonna want to know early on in our setup process if you're going to want to have different shipping rules, does that all affects, and the decisions we make in number seven 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. So we're going to want to know that upfront. Now a common different payment rule that we might apply for wholesale. It could be invoices where you allow your wholesale customers checkout without a credit card and instead get invoiced on net 30 terms or whatever terms that you do in your wholesale agreement. Number eight. Well, some content on your site be restricted to only logged in 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 number nine what product catalog?

Well, 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 only restricted to a catalog of 10 products. Number 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. And maybe your cases are 12 glasses. So you have to first determine are they going to be purchasing individual or cases. 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 allowed to purchase the 18 and number 11 are there order minimums for wholesale and are those minimums per product or per order? So you may say that you're selling that glassware again and you're not selling cases. They can, they can order individuals, but they have to water at least 50 glasses in there. 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 things that I do so that you can understand what the possibilities are inside of your Shopify store. So the first thing is requiring customers to log in. 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 wholesale 50 whatever different tags you to use. You can have one tag or multiple tags if there's tiers. And when you have your customers log in with that tag, you can provide them access to things so you can have it be, once they're logged in, they can see discounted prices or once they're logged in they can go to the wholesale part of the store or you can have it be, you can't even do anything in the store until you log in.

So as we think about what we're doing here with our liquid code and log in states, there's three 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 authorized a wholesale account. So the way you can control some if statements in liquid to distinguish between these for the first one have logged in or not logged in. It's a simple if statement of if customer not if customer equals or contains or anything, just if customer, if customers true, that's a logged in state. If customer is false, then it's a not logged in state. And then for the logged in and authorized as a wholesale customer, what you want to do in liquid is say if customer dot tags contains whatever your wholesale tags are.

Like if customer dot tags contains wholesale, then that's telling you that they are a logged in with the authorization they need. Then you can combine those two. So you can have if customer and customer dot tags contains wholesale, and that means that they are logged in with a wholesale account. So as you're building out your access in your store at different levels, you can use that if logic to address these different states of logged in, not logged in, authorized for wholesale, not authorized for wholesale. Now if you want to have an entire store that requires customers to be logged in, you'll actually add your code on the theme dot liquid file and that'll cover all pages. And there's actually a Shopify tutorial that's pretty quick to find on Google. It's 15 to 20 lines of code to add. And if the customer's not logged in, it automatically redirections at the login page.

So you only have any page you land on. There's only one choice if you're not logged in and that is to Login, but you can also on your collection pages, your product pages or other types of pages, you can add code on those templates. Also to not have the requirement to log in across the entire site, but they're just going to log in on certain pages. And what I like to do with a page for wholesale is I'll actually put in the top bar a link that says wholesale, and if you click on that link and you're not logged in, you get the wholesale upsell page, which explains that the wholesale program's all about. And there's a form there that you can sign up if you're interested in learning more or are starting off the process. But that same page I'll have in the if logic, if they are logged in and they are a wholesale account, then I'll put an explanation of, Hey, welcome to the wholesale account.

Here's the benefits and here's some links too. Start the shopping experience. Here might be some forms or information or collections that are specific to your wholesale discount level. So the next tool we want to think about is what our signup page looks like. And where I normally do for a Shopify store is I just create a html form, much like the contact us form that most teams have and use that functionality. The contact us form. Usually I have to add a couple of fields to it like company name, website and other information you want to collect. But I just use that html form, edit it in liquid, um, and use that. That form gets submitted straight to the account email address to be processed manually. If you want to be more sophisticated or have a more automated process, you could, instead of doing an html form that gets submitted via Shopify to an email address of the Shopify store owner, you can have a form builder that connects to a database and then all the submissions get stored in that database.

And depending on what database you're using, that can have some automation workflow tracking too, track that customer through the approval process. Most new stores that don't have a lot of wholesale customer volume coming in all the time for new signups. Don't need to have that type of functionality, but it is possible to do that and now the approval process for wholesale accounts is a manual process. Whether you're doing it in a database connected to a form builder or you're getting that html form submitted via Shopify to your email address, you're going to look at the information in that form and decide if you're going to approve this customer as a wholesale account. And if you do, you will do because that form wasn't connected to the Shopify customer records. It either went to an email or went to a database separate from Shopify. What you're going to have to do, if you're going to approve that customer for an account, you're going to have to go into the Shopify admin customer section, an add a customer record with the information that they've given you, and then would that customer record, you're going to send them an 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 to Shopify admins to add passwords to customer accounts. So you'll send an email off to them through the Shopify admin and in that email you'll have the ability to add some information. Welcome to our wholesale account and explain a little bit about your program and give them links in that kind of stuff. But the approval process on the back end is manual with you creating their customer account, sending the account invite off to the customer with whatever messaging you want in that email. One of the big decisions you're going to have to make when setting up your wholesale program is, is your wholesale store going to be in the same store as your consumer or retail store? You can in Shopify, create a second store and put all your wholesale in there and there's pros and cons behind this. So a couple of reasons you'd want to have a separate store if you must have different shipping methods or payment types for your wholesale customers, then your consumers.

The only way you can do that in the base Shopify levels is to have a second store. Also, another reason you might want a second store is if the product catalog is completely different or if the shopping experience for your wholesale customers is going to be very different than it is for your retail customers. Now, a couple of the downsides to having two separate stores is there's just the overhead of two separate stores. If you're using Shopify for inventory management or for fulfillment, things will will be a lot more difficult. You can easily fulfill two different Shopify stores by going into the stores and doing them that way, but what Shopify will not do is do inventory management of the same products across two different Shopify stores. 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. If you think about a wholesale customer, normally what they're doing is they're buying a lot of your different products across your entire product catalog to fulfill their inventory. And if you think about the way that most consumer stores are set up where the consumer is adding one or two products to the car and they're navigating back and forth, that might not work well for your wholesale customers. Let's say they want to add a hundred different products with different sizes and color combinations in multiple quantities. Imagine doing that through your consumer experience. We're going to be going back and forth into the car, back to the product catalog, searching and finding and browsing what they're looking for and it becomes quite cumbersome. So one of the things that I build quite often for a wholesale store is what I call a quick order form.

And what a quick water forum is, is it 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 in that collection, in the laser mountain, 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 at the bottom of that form. There's an add to cart button that will take all the line items, all the different variants that they wanted to add and add them all at once at one time into their cart. So it's a way for wholesale customers to quickly make bulk orders, have a lot of different variants across the product catalog.

It's not an easy template to make it something that you really want to spend some time in 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 this scenario, it's usually when there's a consumer facing experience inside the same store as the wholesale facing one does. I frequently changed the cart experience for wholesale customers. For example, I may have upsells or cross sell promotions in the cart for retail customers, or maybe there's a line where they can leave a message for wholesale customers. I may take those things and remove them. So I might have an itch statement in the cart that says customer Andy. Customer Dot. Tags contains wholesale, then you know, do x, Y or z or in less customer and customer dot. Tags contains wholesale to either add something for a wholesale customer or remove something for a wholesale customer.

Now something that I'll add in the cart for a wholesale customer might be a unique navigation experience. So if the header contains a nav experience for consumers, but there's a different navigation paradigm like to the quick order forms for the wholesalers, I might put in the cart at the bottom of the cart because they're going to be going back and forth navigating cause they're adding more items to the cart than the average consumer is. I'll add a nav bar in there if they're a wholesale customer. Another modification I'll do to the cart is enforcing order minimums. If they are, 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 for people that are logged in as wholesale customers, 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. And if you're 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 there about the order size. And now if we look at a product page, some of the modifications I do to product pages for wholesale include things like order minimums or controlling quantity.

So if for the wholesale program, the client requires that a, the customer must order at least 50 or whatever quantity of a specific product. There's javascript that I can add in there to enforce that minimum. And also if they're ordering by cases, for example, they can only order 24 or 48 in increments of that case size. You can enforce that in the input controls for quantity. And when you start doing things like that, and when you start doing things like controlling quantity, you have the choice of whether you do that through the quantity input or you can also do that as variance. So you could, instead of allowing a quantity input, make the quantity of variant. So if they can only order in cases, the variants might be one case to case three case, four case, whatever. I'm all the way up to the limit of a hundred cases because you can only have a hundred variants inside of Shopify on a product.

But you may want to move quantity control out of the quantity box and hide that quantity box and move it into variance. Or he could still keep it in quantity box and say that no, you can only order in increments of 24 and enforce that with javascript. And when you start doing things like that, things like your plus and minus buttons for your quantity box, you're going to want to hide those so that people were just typing in the numbers that are allowed. And another thing that I do in the product page is there may be an app that I'm using for showing the wholesale price that automates that process for me, but I may also want to show the full price. So that may be some liquid code that I add that shows the wholesale price to them. And then with text treatment to make it smaller or different colors.

So it's very clear what's going on. I can say, and here's the full price for ordering by the case. I may add some code that shows the per product price. So let's say they're ordering a case of 10 for $100 they'll see the case price of $100 but I'll also add some code that does the math of theirs. 10 products per case. So the hundred dollars per case is actually equal to $100 per product. And if you're on your product page and you're changing the settings for things like quantity, you're then going to want to also, when you get to the cart, make sure that the customer can't change the quantity in the cart. So if we're only allowing them to order in units of 24 because that's our case sizes on the product page, you're going to want to change or update your cart so that they can't change the quantity in the cart.

So if there's a quantity box with a plus and minus or whatever controls are in there, you're going to want to remove those. But you're also still gonna want to allow the customer to take that item out of their cart. So I'll remove the quantity control, but I'll add in a hyperlink that removes that line item from the cart for them. Some other things that I do for the wholesale experience, things like not showing email signups or not showing popups to wholesale customers, so depending on how you're doing email signups and what popups you're using, there's different ways to do that. For example, if you're using Klaviyo for your popups, it's easy code to add inside of Klaviyo that actually looks at customer tags and you can say, don't show these popups for customers that contained these tags. If your email signups are embedded in your pages, you can just have some if statements or some in less statements actually that say the less customer you know, tags contains wholesale, then show these items.

I've already mentioned a couple of times that one of the payment options that may have my clients use for wholesale is invoicing. An 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 they're wholesale or consumers or regardless of what tier of wholesale they are. 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 and invoice and follow the rest of the process where you get to message to the customer about that payment type. So I've just explained a bunch of manual methods, manual coding that I do inside of liquid inside the store's theme. Two, enhance that wholesale experience. Now I'm going to talk about automated tools that exist to do some of this or some of the functions we haven't talked about yet.

So the first one I want to talk about is apps. And I only use one app for wholesale and that's bold custom pricing and it does both. The wholesale discounts, 50% off on products or quantity breaks by 10 and get, you know, a better price. And it's the only wholesale app that I use. And that's for a couple of reasons. The first is that bold. It makes a number of pricing apps that work with one another. You see pricing apps in Shopify are complex. They have to adjust the theme in many places, sir, if you were to use a whole select from one company and another app that requires pricing like subscription from another company, it would be very difficult to get them to work together. Bold has multiple different pricing apps for different pricing scenarios, things like subscription and wholesale, and those apps are designed to work together so you can integrate two or three of them for different business models and still be confident they're gonna work together in your store.

Now the second reason I choose bold is their customer support. Generally bold customer support will go out of their way to help you set up the app and solve any problems that you may come across. Now, word of caution here, if you're the type of person who wants to do everything yourself with the bold app, there are many things that you may want done that aren't in the app settings and they're not documented anywhere. And some of those things need to be done on the bold servers and that can only be done by the bold support team. So be prepared to contact bold support whenever you come up against something you can't solve yourself. They're quick and responsive and they get most problems solved. But it's very rare that I actually do a wholesale app by bold implementation in a client store without engaging bold customer support multiple times to get things done.

One thing to note is that the bold custom pricing app is not a complete wholesale solution. It does the important work of handling the price changes needed for wholesale end quantity breaks, but it doesn't do other things like sign up forms and processing requests. So if you use this app, you'll need to implement some of the other tools that I've been discussing to get a complete wholesale solution. So let's shift gears and talk about Shopify plus plus has a channel for wholesale that is separate from the online channel. There's also some workflow tools in that channel to help you manage new customer signups and process them through the approval process. I'm not going to go into the details of implementing wholesale in plus as plus as a much broader platform and no one is implementing it just for the wholesale features, but do know that with floss, all the pricing rules for discounts and quantities are taken care of with built in cart scripts.

So there's no need for a wholesale app. Wholesale can be implemented in the dedicated wholesale channel or within the online channel. So you have the choice of a separate store inside of the same Shopify instance through the wholesale channel or combining them wholesale and consumer experience. The wholesale channel gives us separate, simplified user experience for wholesale customers, but we don't get as much control over that wholesale channel user experience as we do in a normal Shopify store. True theme customization, and in plus you can have different shipping and payment rules for consumers and wholesale customers. So I've just thrown a lot of information at you on the questions to ask about your wholesale business and the multitude of solutions that you can use to building wholesale into your Shopify store and it's a lot to digest. So what I'm going to do now is explain what I typically use as a base level solution for wholesale in a Shopify store.

So if you're not sure where to start, this solution works for many stores to start off with. The first step is to use the bold custom pricing app to have wholesale discounts and or quantity breaks, and I'm going to include a link to that in the show notes. Most stores apply this to their existing product catalog in their existing collection and product pages. Then what you need to do on top of that is a signup form where those who want to be a wholesale customer can learn about your wholesale and apply to join. That form can be a simple html form that just sends you an email similar to what most deems contact us forms do. You can then process those requests manually if you approve the application. Add the person as a customer in the Shopify admin and give them the appropriate tag for their wholesale tier.

That's the same tag you're going to use inside of the bold custom pricing app and then send them an invite to create an account from that customer record. Basically, all they will need to do is add a password to the customer record. With these tools in place, you can get started with your wholesale business. As that business grows, you can add to that wholesale solution as needed. I advise my clients to have their software tools investment, which the wholesale solutions falls under, follow their revenue, not lead it. In other words, start with a smaller solution, less options, less functionality, et Cetera, and then as your business grows, add the functionality needed to solve some of the pains you are feeling with the actual customers in orders going through your system. That way you know you're investing in the right things to grow revenue and profit.

That's it for this week's topic on implementing wholesale in Shopify. The main thing that I want you to remember is that there are a number of different ways to implement wholesale in which method or methods you use well 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, well 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.

Thanks for listening.

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