Skip to content

Migrating Wholesale Customers to Shopify B2B: The Part No Importer Covers

Aug 21, 2026·Peer Jakobsen

Replatforming with four hundred trade accounts behind you is a different project from replatforming a consumer store. The products move the same way. The customer base doesn't, because on Shopify a wholesale account isn't a customer. It's a company, with locations, contacts, payment terms, price tiers, and a tax treatment, and none of the standard migration tooling knows what to do with that.

TL;DR: Shopify has no native CSV import for B2B companies, locations, and contacts; its own documentation points you at Matrixify or a custom build. Beyond the import itself, four things need a plan: price tiers map to catalogs (with a three-catalog cap outside Plus), payment terms must be reassigned, VAT-exempt status does not transfer and must be re-established with checked numbers, and every buyer must set a new password. Handle those four and a migration lands with accounts ready to order on day one.

For the overall sequence of a replatform, start with the complete migration guide. Everything below is about one thing: the wholesale book.

Why the Standard Tools Stop at the Customer Record

Shopify's customer CSV import creates customers. Shopify B2B is built on a different object: the company, which owns locations, and contacts who are customers linked to those locations. Since Shopify's "B2B for all" release in April 2026, companies, catalogs, and net payment terms exist on every paid plan, which is exactly why more merchants are arriving with a wholesale book to move. See B2B on Shopify Without Plus for what the plan tiers change.

What no plan tier includes is an importer. There is no CSV upload for companies in the Shopify admin. The help centre's suggestions are to create companies manually, use the Matrixify app, or hire a partner to build against the Company API. For five accounts, manual entry is fine. For four hundred, it's a week of data entry with a typo in the middle of it.

The Four Things That Don't Transfer by Themselves

Price tiers become catalogs. Whatever your old platform called them (customer groups, price lists, trade tiers), Shopify expresses them as catalogs attached to companies. The mapping is usually clean conceptually and messy practically: outside Plus you get up to three active B2B catalogs assigned through markets, while Plus assigns catalogs directly to companies and locations without that cap. If your old store ran seven price tiers and you're landing on a non-Plus plan, tier consolidation is a commercial decision to make before the migration, not a surprise after it.

Payment terms need reassigning. Shopify B2B has native net terms (net 7 through net 90) on all paid plans, set per company location. Your old platform's terms come across only if something writes them there. This is the field wholesale merchants are most nervous about, reasonably: the customer who has had net 30 for a decade should not get "payment due on checkout" because of a replatform.

Tax treatment must be re-established, not copied. A customer who was VAT-exempt on your old platform is just a row in a spreadsheet now. On Shopify, EU and UK reverse charge is driven by a checked VAT number and the right exemption rule on the company location, and the blanket tax-exempt flag is the wrong tool for it, for reasons covered in EU VAT on Shopify. The safe posture during a migration is the boring one: tax stays collected until a number has been checked, because under-collecting is your liability, and a migration is precisely the moment stale VAT numbers surface. Expect a few percent of a decade-old wholesale book to fail a VIES check, and treat each failure as a flag for review rather than an automatic decision either way.

Buyers can't bring their passwords. Password hashes never migrate, on any platform, with any tool. Every wholesale buyer gets an invitation to set a new password, and in B2B that's not a mass email problem, it's an account management problem: a single login might sit behind a five-figure monthly order. The pattern that works is to warn accounts before cutover, send invitations a day or two after launch rather than in the launch-hour chaos, sequence them so your sales team can walk key accounts through it personally, and never import marketing consent alongside, because consent from the old platform doesn't carry (see GDPR Compliance for Shopify B2B Apps).

Your Options for the Import Itself

Full disclosure before the list: we make one of these. Weigh what follows accordingly.

Manual entry is the right answer below roughly twenty accounts. Nothing to learn, no file formats, and at that volume the typo risk is manageable.

Matrixify is the established general-purpose data tool, and if you're already using it to move products, orders, and redirects, doing companies in the same tool is a defensible choice. It imports companies with locations and links existing customers to them. Two practical notes: a wholesale-book-sized company import needs its $50/month plan, not the basic one, and it's a data mover, not a B2B tool, so it won't check a VAT number or decide a tax treatment. What you put in the sheet is what lands in Shopify.

A partner or custom API build is the right call when the migration is entangled with an ERP, punch-out, or custom pricing logic. It's also the most expensive path by an order of magnitude.

B2B Onboard, our app, exists for the case in between: a real wholesale book, no ERP project attached, and a merchant who wants the tax side handled with evidence rather than hope. You fill in a CSV template with your companies, contacts, and locations, and the import runs with a dry-run preview first, so you see what will be created and which rows will be rejected before anything touches Shopify. Every tax ID is checked against the official registry for its country during import (VIES for the EU, HMRC for the UK, and the business registers in Denmark, Norway, Australia, and New Zealand), with the result recorded as evidence on the company and qualifying companies receiving the matching tax treatment. Unverifiable numbers get flagged for your review with tax still collected, a results file shows the outcome of every row, and re-uploading a corrected file updates rather than duplicates. The column-level mechanics, which fields the template accepts and how they map to Shopify, are in the migration guide on the product site.

The honest comparison: if you have no EU, UK, or registry-checked tax IDs in your book and you're deep in Matrixify anyway, Matrixify is fine. If your wholesale book is European or mixed-market and the tax column is the part that worries you, that's the case we built for.

What "Done" Looks Like

A wholesale migration is finished when a real buyer from a real account logs in with their new password, sees their price tier, checks out on their payment terms, and the tax on the order is right, all without anyone having edited that company by hand. Work backwards from that sentence and the plan writes itself: tiers mapped to catalogs, terms in the import file, tax IDs checked with the failures reviewed, and invitations sequenced so nobody important finds out about the migration from a login error.

None of this is tax advice; your registrations and your accountant own the final word on treatment. But the mechanics are known, the failure modes are predictable, and a wholesale book of any size can arrive on Shopify ready to order on day one instead of becoming the month of data entry nobody budgeted for.

Peer Jakobsen is the founder of Mentilead. He builds Shopify B2B apps from Denmark with a focus on clean architecture and EU compliance.

We use cookies for spam protection and analytics. Learn more