Shopify B2B & the wholesale channel
The separate wholesale storefront Shopify used to sell as an add-on is retired, and the replacement is the company-account model built into your main store. If you are still running a legacy trade site, nothing explodes overnight, but you are maintaining a second catalogue that no longer gets attention and that your accounts will eventually find broken.
This article is the migration, in the order that keeps orders arriving while you do it. It assumes you have live stockists who reorder, which is what makes the sequence matter — a brand with no accounts can simply build the new setup and skip the careful parts.
Why the order matters more than the tooling
The rebuild itself is a couple of afternoons. The risk is entirely in the handover.
A boutique that reorders twice a year has your old trade URL in a bookmark, in an email, or written on the back of a line sheet. When that URL stops working, nobody calls you. The buyer assumes the brand went quiet, places their gift-season order with whoever answered, and you find out eleven months later when the reorder does not arrive.
So the sequence is: rebuild quietly, run both for a while, move accounts deliberately, and only then turn the old one off. Never the other way round.
Step one: inventory what you actually have
Before touching anything, write down the current state. Four lists.
Every active account: shop name, buyer name, buyer email, the last two order dates and values. Anyone who has not ordered in eighteen months is not an account, they are a lead.
Every price each of them pays. Legacy channels tended to run percentage-off rules, so the real wholesale price may not be written down anywhere as a number. Pull it off recent orders line by line and convert it into a fixed price per product. Your candle is twelve dollars, not half of whatever retail says today.
Every product that exists on the trade site but not on the consumer store. Trade-only sizes, case-pack variants, display units, tester packs. These are the things that get silently dropped in a migration.
Every custom arrangement. One account on thirty-day terms, one with a lower minimum because they were your first stockist, one who gets a scent nobody else carries. These are memory, not configuration, and memory does not migrate.
Step two: rebuild on the main store
Now build the replacement. On the top plan that is companies, catalogs and price lists; on a standard plan it is a tagged trade customer group, draft orders or an app. The choice is covered in Shopify wholesale, and the full comparison of the old and new models is in Shopify B2B vs the wholesale channel.
Three things to get right while you build.
Use fixed prices, not a rule that keys off retail. This is the single change that prevents the migration's classic accident: a retail promotion silently discounting wholesale. A case of six candles invoices at seventy-two dollars against a landed cost of thirty-one dollars twenty, leaving forty dollars eighty. A four-day retail sale that drags the wholesale price down to nine dollars fifty a unit turns that forty dollars eighty into twenty-five dollars eighty, on every case that goes out that week.
Recreate the trade-only products as real products with their own stock, hidden from consumers by catalog rather than by hope.
Rebuild the custom arrangements as settings, not notes. Terms on the company, minimums as quantity rules, the exclusive scent as a catalog with one company in it.
Step three: run both for one ordering cycle
Do not switch on a Monday and switch off on a Tuesday. Leave the old site reachable and read-only for one full buying cycle — for most gift and home brands that is a season, so six to twelve weeks.
During that window, every new account goes onto the new setup only. Every existing account gets moved as they reorder, which means the move happens in a conversation where you are already talking to them.
Watch two things: orders that come in at a price you did not expect, and orders that fail at the cart because a minimum or increment is stricter than the buyer remembers. Both are configuration bugs and both are easiest to catch on real orders rather than on your own test order.
Step four: move the accounts, one email each
This is the part brands try to do with a bulk announcement, and it half works.
Send one email per account, from a person, with the buyer's name in it. Say that ordering has moved to the main site, give the direct link, confirm their price and their terms have not changed, and attach the current line sheet. Then place their next reorder for them as a draft order the first time, so the new route has already worked before they have to use it alone.
Three sentences is plenty. What matters is that their price is stated in the email, because the quiet fear on the other end is that the migration is a price rise wearing a hat.
For the accounts that do not reply, pick up the phone. A stockist who has bought four times is worth ten minutes.
Step five: redirect, then close
Once an account has ordered successfully on the new setup, they are migrated. When the last one has, close the loop properly.
Redirect the old trade URLs to the new trade login page rather than to the homepage. A buyer who lands on a consumer homepage with a newsletter popup has not been helped.
Export everything before you cancel anything: orders, customers, products, and any theme files you might want. A closed channel takes its data with it.
Cancel the add-on, and only then remove the duplicate products. Deleting first and cancelling second is how brands lose a product history they needed for reorder forecasting.
What if you are not ready to rebuild yet?
Then do the cheap half. Export the account list and prices today, because that is the part you cannot recover later, and move ordering to draft orders in the meantime. Draft orders are unglamorous and they work: you build the order, you send an invoice, the buyer pays a link. For a brand with under ten accounts, that is a complete system, not a stopgap.
Build the structured version when the admin stops fitting in the gaps of your week — usually somewhere past fifteen accounts or past the first stockist who wants their own catalogue. The from-scratch build is in Shopify wholesale store setup.
If what you are really weighing is whether to keep a second storefront at all rather than consolidate, the argument on both sides is in a separate wholesale store on Shopify.
What this is a good moment to fix
A migration is the one time your accounts expect to hear from you about commercial terms, so use it.
Raise the minimum if your current one is below the point where an order is worth packing. Two hundred dollars is a common floor for a small brand, and a migration email is a reasonable place to say the opening order is now two cases.
Retire the custom arrangements you regret. The account with the unique price they negotiated in year one, the one with terms they have never once honoured. Moving to a new system is the natural moment to move everyone onto the same three tiers.
Tighten the case pack. If you have been shipping loose units to one shop because they asked nicely, put them on sixes like everyone else.
And if you are looking at the account list and realising it is short, the migration is also a prompt to fill it. Paste your store link into WholesalePilot to see a preview of the kinds of retailers and distributors that stock comparable products, then work that list while the new portal is fresh.
Questions brands ask about the retired channel
Will my old trade site stop working on a specific date? Treat any date you hear as a floor rather than a promise, and migrate on your own schedule rather than on a deadline. A retired product stops getting fixes long before it stops loading.
Do I lose my wholesale order history? Not if you export it first. Pull orders and customers to a file before cancelling anything, and keep it somewhere you will find it next year.
Can I keep the same login details for my stockists? No. Accounts on the new model are attached to companies and have to be invited. Say so in the migration email so the password reset is expected.
Does this affect my consumer store at all? Only in the sense that trade prices now live on the same product pages behind a login. Check with a logged-out browser that a retail shopper sees retail pricing everywhere before you send a single invitation.