If you sell B2B, your customer portal is the part of the site your best customers actually use. It is where they log in, see their own prices, reorder what they bought last month and check what they owe. So when a replatform comes up, the question buyers ask us most is some version of: will my customers still have all of that on Shopify?
The honest answer is that you keep what your customers do in the portal, not the portal itself. Most of it maps onto features Shopify now has natively. Some of it needs an app. A few pieces need custom development. And one thing will not come across at all, however carefully the migration is done.
TL;DR: Company accounts, customer-specific pricing, order history, reordering, net terms and address management are native in Shopify's B2B customer accounts. Buyers managing their own users, buyer-side approvals, requested quotes and ERP invoices are not, and need an app or custom work. Passwords do not migrate: Shopify's customer accounts sign people in with a one-time email code, so every buyer's login changes on day one.
Where Each Piece of Your Portal Lands on Shopify
Every legacy portal is different, but the same dozen functions come up in almost every B2B migration we scope. This is where each one ends up:
| What your portal does today | On Shopify | How |
|---|---|---|
| Company account with several buyers | Native | Companies, company locations and contacts |
| Customer-specific pricing and product visibility | Native | Catalogs, volume pricing and quantity rules assigned to the company |
| Order history and tracking | Native | Customer accounts show orders by company location. Past orders need migrating deliberately |
| Reorder a past order | Native | Buyers duplicate a previous order from their account |
| Quick order by SKU | Native | The quick order list theme section. Bulk CSV upload needs an app |
| Net terms and paying for orders | Native | Payment terms, PO numbers, saved payment methods, and paying from the account |
| Returns | Native | Return requests from the customer account |
| Editing a location's addresses | Native, with a limit | Only contacts with Location admin permission can edit them |
| Buyers adding and removing their own users | App or custom | Natively the merchant does this in the Shopify admin |
| Buyers creating new ship-to locations | App or custom | Natively the merchant does this in the Shopify admin |
| Saved lists and requisition lists | App or custom | Not part of native customer accounts |
| Buyer-side approvals (a buyer submits, a manager approves) | App or custom | Native review rules are for the merchant reviewing orders, not the buyer's own sign-off |
| Requesting a quote | Partly native | Merchants can issue quotes as draft orders with locked prices. A buyer-initiated request flow needs an app or custom work |
| Invoices, statements and balances from your ERP | Custom | An ERP integration plus a customer account extension to display it |
| Sales reps ordering for their accounts | Native, admin-side | Reps create draft orders, and can be restricted to their assigned company locations |
Two things stand out. First, the native column is longer than most people expect, because Shopify's B2B features have come a long way and are now on every paid plan, not only Plus. Second, the items that are not native are mostly about who controls the account: adding users, creating locations, approving orders. That is the gap that surfaces a few weeks after launch, so it is worth planning for now.
The One Thing That Will Not Move: Passwords
Shopify's current customer accounts do not use passwords. A buyer enters their email address and receives a one-time six-digit code. They can also sign in with Shop, Google or Facebook. Shopify's older password-based accounts are deprecated, and they cannot be used for B2B customers and orders at all.
That means there is nothing to migrate. Your customers' existing passwords are not imported, and on launch day every buyer signs in a new way. Handled well, most buyers find it easier, because there is no password to forget. Handled badly, it is a flood of "I can't log in" emails in your first week.
What to plan for:
- Tell buyers before launch, not after. A short email a week ahead that says the address and login are changing, and how the code works, prevents most of the confusion.
- Find the shared logins. Legacy portals are full of accounts like orders@ or purchasing@ used by several people. With email codes, everyone on that inbox is the same person to Shopify, with the same permissions and no record of who did what. Decide whether each buyer gets their own contact before you import.
- Check any single sign-on early. If buyers reach your portal from their own systems today, that connection needs redesigning for Shopify's customer accounts. Integrations built on Multipass belonged to the old account system. See our note on the legacy customer accounts deprecation.
The Gap Nobody Mentions Until Launch: Who Manages Users
In native Shopify B2B, the merchant manages every company contact. A buyer company cannot add a new employee, remove someone who left, or set up a new ship-to location. The main contact can be given Location admin permission, which lets them edit that location's addresses and see all of its orders, but they still have to ask you for every new user and every new location.
With a handful of wholesale accounts, that is fine. With a few dozen active accounts, each with turnover and new sites, it becomes a steady stream of "please add this person" requests that your team handles by hand. And your customers notice, because their old portal probably let them do it themselves.
We ran into this first with QC Supply, when we moved them from Magento to Shopify Plus, and built them a buyer portal so the company's main contact could manage users, locations and permissions without contacting QC Supply. We later turned that into a public app, the B2B Buyer Portal, so this should be read with that in mind. It adds user management, location management, custom roles and activity logs on top of Shopify's native B2B, and requires Shopify Plus with B2B and the new customer accounts. It is not the only app in this category, and if each of your accounts has a single buyer, you do not need one at all.
What You Have to Migrate for the Portal to Feel Intact
The features in the table only feel intact to a buyer if their data arrives with them. In our experience this is where portal migrations actually go wrong, rather than in the features themselves.
- Companies, not just customers. Many older platforms store one customer per person, with the company as a text field. Those records have to be grouped into Shopify companies, which is a data-cleaning job that nobody budgets for. Duplicate spellings of the same company are the usual culprit.
- Contacts assigned to the right locations with the right permission. Each contact is either Ordering only or Location admin, per location. Get this wrong and buyers either cannot see their own orders or can see a colleague's.
- Pricing and catalogs. Every customer-specific price your old portal showed must exist in a Shopify catalog on day one. Test it by logging in as real accounts, not just by checking the import finished.
- Payment terms, tax exemptions and PO requirements per company location. A buyer who suddenly cannot check out on terms will call you within the hour.
- Order history. Decide how far back buyers need to see, then import it attached to the right company location. Reordering from an old order only works if that order came across.
- Saved addresses. In Shopify these belong to company locations, so a buyer's personal address book from the old portal needs mapping to locations, not copying across as is.
Our B2B replatform scope guide covers where this data work sits in the wider project, and our B2B implementation guide covers the requirements work that makes the list above answerable.
Three Ways to Handle What Is Not Native
1. Native customer accounts plus apps
The right answer for most B2B stores. Use everything Shopify provides, add an app for each specific gap, and customize nothing you do not have to. It is the cheapest to run and the least likely to break when Shopify ships updates.
2. Customer account extensions for the parts that are yours
When the missing piece is your own data, such as open invoices from the ERP, a credit limit, or account statements, it is built as an extension that displays inside Shopify's customer account. The buyer stays in one portal, and the data comes from the system that owns it.
3. A custom portal
Occasionally the portal is the product: complex multi-level approvals, quoting that involves several departments, or a rep-driven buying process that looks nothing like a checkout. Then a custom build is justified. It is also the most expensive option to build and to maintain, so it should be the conclusion of a scoping exercise, not the starting assumption.
A Pre-Migration Checklist
- List every function buyers use in the current portal, and ask your sales team which ones customers would call about if they disappeared.
- Mark each one native, app or custom using the table above.
- Count how many accounts have more than one buyer, and how often you add users or locations for them today.
- Find shared logins and decide how each will be split.
- Decide how many years of order history to bring across.
- Write the launch email explaining the new sign-in, before launch week.
- Test with real buyer accounts on the new store: pricing, terms, order history and reorder, for at least one company of each type.
Moving a B2B Portal to Shopify?
Send us a list of what your buyers do in your current portal and we will tell you which parts are native, which need an app, and which are genuinely custom. Explore our Shopify B2B development services or talk to us directly.
Frequently Asked Questions
Can I keep my customer portal when I move to Shopify?
Mostly. Company accounts, customer-specific pricing, order history, reordering, net terms, returns and address management are native in Shopify's B2B customer accounts. Buyers managing their own users and locations, buyer-side approvals, requested quotes and ERP invoices need an app or custom work. Passwords do not carry over, because Shopify's customer accounts sign buyers in with a one-time email code.
Will my B2B customers' passwords transfer to Shopify?
No. Shopify's current customer accounts are passwordless: buyers enter their email and receive a one-time six-digit code, or sign in with Shop, Google or Facebook. The older password-based accounts are deprecated and cannot be used for B2B. Plan a short email to buyers before launch explaining the new sign-in.
Can B2B buyers add their own users and locations on Shopify?
Not natively. In Shopify B2B the merchant adds company contacts and creates company locations in the admin. A contact with Location admin permission can edit that location's addresses and see all of its orders, but cannot add users or new locations. Apps such as our B2B Buyer Portal add that self-service.
Will customers see their order history after migrating to Shopify?
Only for orders you migrate. Shopify shows buyers their orders by company location, and they can reorder from any past order, but history from your old platform has to be imported and attached to the right company location. Decide how many years buyers need before the migration starts.
Do I need Shopify Plus for a B2B customer portal?
Not for the core. Shopify's native B2B features, including companies, catalogs, payment terms and B2B customer accounts, are available on every paid plan. Plus adds higher limits, more automation and deeper customization, and some B2B apps, including our B2B Buyer Portal, require it.
Can the Shopify customer portal show invoices and balances from our ERP?
Yes, with custom work. Shopify shows orders and payments for orders placed in Shopify. Invoices, statements, credit limits or balances that live in your ERP need an integration to fetch them and a customer account extension to display them inside the buyer's account.