Shopify B2B (Wholesale) in 2026: A Setup Guide for SMBs
Shopify B2B wholesale in 2026: native company accounts, price lists and Net 30 are no longer Plus-only. A setup guide for SMBs, and when to build custom.
If you searched for how to set up wholesale on Shopify and the first results told you to budget for Shopify Plus, you read advice that went out of date this April. As of the second of April 2026, Shopify extended its native B2B features to merchants on the Basic, Grow and Advanced plans, at no extra cost. An SMB selling to trade buyers can now do it properly inside an ordinary Shopify store, on a plan costing tens of dollars a month rather than the two thousand-plus a month Plus has historically asked for. The single most repeated line in this niche, that wholesale is a Plus thing, is now wrong for most small businesses, and a surprising amount of the guidance still circulating has not caught up.
Here is the short version of how to set up B2B on Shopify in 2026. Inside your existing store you create a Company profile for each wholesale buyer, build a B2B catalogue holding your wholesale prices, set payment terms such as Net 30, and assign that catalogue so a company's buyer sees trade pricing and a dedicated B2B checkout when they log in. You do not stand up a separate wholesale store to do this. The same storefront serves both your retail shoppers and your trade accounts, and the platform decides who sees what based on who is logged in. The rest of this guide walks through each piece, tells you honestly what still needs Plus, and draws the line where native Shopify stops being enough and a build makes sense.
I have set up wholesale on Shopify across a fair number of SMB stores, through the password-page era, the old Wholesale Channel era, and now. The 2026 setup is genuinely good, and most of the workarounds people still use, the hidden trade page, the discount-code-as-wholesale-pricing trick, the entire second store, exist only because the native tools used to be locked away.
How to set up B2B on Shopify in 2026
The mental model that makes Shopify B2B click is this. A standard Shopify store thinks one customer is one email address with one set of prices. B2B replaces that with a richer structure. A Company is the account, it can have one or more locations, and each location can have several human buyers attached. Pricing is no longer baked into the product. It lives in catalogues, and a catalogue is a list of products with their own prices that you assign to specific companies. When a buyer from an assigned company logs in, Shopify swaps their view to that catalogue's prices and routes them through a B2B checkout that understands purchase orders and payment terms.
So the setup, in order, runs like this. You enable B2B and create your companies, by hand in the admin or by import. You build at least one B2B catalogue and put your wholesale prices in it. You set payment terms and decide which companies get them. Then you assign the catalogue so the right companies see the right prices. After that a trade buyer signs in, sees their pricing, builds an order, and checks out on card or on terms with a PO number against it. No separate URL, no password gate, no manual quoting.
What you can do natively without Plus, on Basic, Grow or Advanced, is up to three active B2B catalogues, company profiles, payment terms, volume pricing, vaulted credit cards, and in the US, ACH payments. That covers a large share of real SMB wholesale. What still requires Plus is unlimited catalogues for highly granular customer-specific pricing, direct assignment of a catalogue straight to a company or location, and deposits or partial payments. On non-Plus plans you assign catalogues through Markets rather than per company, which is a little less precise but works fine for most setups. I will come back to where those Plus-only gaps actually bite.
Company accounts and buyer permissions
The company account quietly fixes the biggest operational headache in wholesale, which is that a trade customer is rarely one person. A retailer that buys from you might have an owner who negotiates terms, a manager who places the weekly order, and an accounts person who never logs in but needs to be on the invoices. The old single-customer model forced all of that through one shared login and one address. The company model gives each company its own profile, its own locations with their own shipping and billing addresses, and its own list of buyers.
Buyer permissions are where this earns its keep. You can decide, per company, which buyers can place orders, and whether a buyer can check out on payment terms or only on card. For a business that wants the shop-floor manager ordering stock but not committing the company to Net 30 credit without sign-off, that distinction is the whole point. Location-level structure also means a company with three branches can have each branch ordering to its own address while everything rolls up under one account for your reporting.
There is real work in this. Onboarding companies is an operational task: somebody has to create the company, add its locations, invite the buyers, and set the permissions. For a handful of trade accounts that is an afternoon. For a business bringing two hundred stockists onto the system it is a project, usually a CSV import with the data cleaned first, and it goes wrong quietly if address or tax fields are inconsistent. Shopify has added AI-assisted company creation to speed this up, but the data hygiene is still yours.
B2B catalogues and customer-specific pricing
A catalogue is where your wholesale pricing actually lives, and it is more flexible than a flat trade discount. It can hold a straight percentage off your retail price, the simplest case, or specific fixed prices per product, which you want as soon as your margins differ across the range. It can also carry volume pricing, so an order of fifty units gets a better unit price than an order of ten, which is the bread and butter of wholesale terms.
This is also where customer-specific pricing becomes practical rather than a hack. If you run trade tiers, a standard wholesale price and a better one for larger accounts, you build a catalogue per tier and assign each company to its tier. If you sell internationally, catalogues support currency-specific pricing, so you hold genuine GBP prices for UK stockists and genuine EUR prices for European distributors rather than letting a live exchange rate decide your wholesale margin. A wholesale price set by yesterday's FX rate is a price you do not control.
The native catalogue limit on non-Plus plans is three. For a lot of SMBs that is plenty: a standard trade catalogue, a premium-tier catalogue, maybe one more. The ceiling becomes a problem when your pricing matrix is genuinely complex, several trade tiers multiplied by several regions, because each combination wants its own catalogue and three runs out fast. When that happens you are looking at Plus, which lifts the cap, a wholesale pricing app that manages tiers differently, or a custom pricing layer. Which way you go depends on how much of your business sits in those extra tiers.
If your pricing has outgrown three catalogues, or you are not sure how to model your tiers without painting yourself into a corner, that is a structural decision worth getting right before you build. It is one of the things WitsCode is brought in for: mapping a messy real-world pricing matrix onto Shopify's catalogue model, or onto a custom layer when the native model cannot hold it.
NET-30 and payment terms: extending credit through checkout
Wholesale runs on credit. A trade buyer expects to receive goods and pay later, and Net 30, payment due thirty days after invoice, is the default expectation in most industries. Shopify B2B handles this directly. You can set Net 15, Net 30, Net 60, Net 90 or custom terms, and you assign terms per company, so a buyer you trust gets thirty days and a newer account stays on card until they have earned it. At the B2B checkout the buyer chooses to pay on terms instead of by card, enters a purchase order number, and has their company billing and shipping details already filled in. Tax-exempt handling is built in too, which matters when your buyer is a reseller who should not be charged tax.
Here is the part the cheerful guides skip. Payment terms are a checkout feature, not a credit facility. When a buyer checks out on Net 30, Shopify records the order as due in thirty days and lets it through. It does not lend you the money, check whether that customer is good for it, or chase the invoice if they do not pay. The credit risk is entirely yours. Offering terms genuinely does lift order frequency and order value, but you are extending the credit. That means deciding who gets terms, ideally with some basic credit checking, and having a process for invoices that go past due. The feature makes the transaction smooth. It does not make the customer trustworthy.
One Plus-only gap belongs in this section specifically. Deposits and partial payments, taking a percentage up front on a large order and the balance later, are not available on the non-Plus plans. If your wholesale model leans on deposits for big or made-to-order orders, that is a genuine reason to look at Plus or a build, because there is no clean native workaround on Basic, Grow or Advanced.
Same store or a separate wholesale store: the decision
This used to be a real debate, and a lot of older content still presents it as one. The thinking went that wholesale was different enough from retail to deserve its own Shopify store, its own URL, its own theme, kept apart from your consumer storefront. In the era before native B2B catalogues, when wholesale pricing meant hacks and password pages, that separation made a kind of sense.
In 2026 it mostly does not. A separate wholesale store means a second Shopify subscription, a second set of products to keep in sync, a second theme to maintain, and inventory split across two stores or held together with an integration. That is real ongoing cost and friction, and the thing it solved, keeping trade pricing away from retail shoppers, is now handled natively. With B2B catalogues, one storefront shows retail prices to the public and trade prices to logged-in company buyers automatically. The two audiences never see each other's pricing, and you maintain one store, one product catalogue, one stock pool.
So the honest default for an SMB is the same store. Run B2B inside your existing Shopify store and let the catalogue system separate the audiences. The genuine reasons to run a dedicated wholesale store are narrow: you need a completely different brand or buying experience for trade, you have tax reasons to keep the entities separate, or you are large enough that a multi-store Plus setup is already on the table. If none of those apply, and for most SMBs none do, a separate store is cost and complexity buying you something you no longer need. If you are running one and quietly regretting it, consolidating back into a single store with B2B catalogues is a sensible and common project.
Native, app, or custom: where the line falls
With the Plus myth cleared away, the real decision for an SMB is which of three routes fits. Native Shopify B2B is the right call when your setup fits inside the box: up to three pricing catalogues, standard payment terms, company accounts with straightforward buyer permissions, no deposits. That covers a large majority of small-business wholesale, costs nothing on top of your existing plan, and you should not over-build past it.
A wholesale app is worth looking at when you have outgrown native in a specific direction but not enough to justify Plus: more pricing tiers than three catalogues allow, a more elaborate buyer self-registration flow, quantity rules native does not quite handle. The well-known B2B wholesale pricing apps fill those gaps at a monthly cost, with the usual trade-off that the logic and sometimes the data live inside someone else's plugin.
A custom build, or a custom layer on top of native B2B, is the answer when the wholesale operation is core to the business and does not map cleanly onto either the native model or an app. That is the case when pricing is tied to a customer's history or contract, when buyer onboarding needs a real self-serve flow with approval steps, when the B2B storefront needs its own considered experience rather than a stripped-down retail theme, or when wholesale orders have to sync into an ERP. At that point you are no longer configuring Shopify, you are building on it, and that is a different kind of job.
Where WitsCode comes in
WitsCode is a small web development agency, and we describe ourselves as the last-mile developer for vibe coders, the people who get a setup most of the way there and then hit the part that does not just configure. Shopify B2B is full of those parts. The native setup is strong, but plenty of SMB wholesale operations sit right on the edge of it: a fourth pricing tier that breaks the three-catalogue cap, deposits the non-Plus plan will not take, a buyer onboarding flow that needs approval logic, an ERP that has to see every trade order, a separate store that should be folded back into one. A lot of the stores we are asked to look at have a half-built B2B setup, often AI-scaffolded, that handles the simple case and falls over on tax exemption, buyer permissions, or terms.
That is the work we do. We will set up native Shopify B2B properly when native is the right answer and say so plainly, and build the custom catalogue logic, buyer onboarding, B2B storefront and integrations when it is not. If you are sitting on wholesale enquiries and a setup you are not confident in, or a separate store you would rather not be maintaining, that is the conversation to have with us. We will tell you which of the three routes fits before anyone writes a line of code.
Get weekly field notes.
Practical writing on shipping products, straight to your inbox. No spam.
Need help with this?
WordPress Development
We design and build web apps, MVPs, and SaaS products. Talk to us about what you are working on.
Talk to usWant to discuss shopify niche topics (gap-fill) for your business?
Start a project and we'll talk through where you are, what's working, and the highest-leverage moves for the next 90 days.