Data & Customer Migration

Does blended B2B/DTC customer data (one person who buys both wholesale and retail) migrate correctly without duplicating or misclassifying the account on Shopify?

Short answer

Blended customer data migrates correctly, without duplicates, only when each person becomes one Shopify customer before any company link. One email belongs to one customer, who joins only one company (Shopify Help Center, October 2026). Signed in, that customer buys business-to-business (B2B); signed out, retail (Shopify Help Center, October 2026). Shopify won't merge B2B-linked profiles (Shopify Help Center, October 2026).

Customers per email address
OneShopify: "A single email address can be used only by one customer." Two source logins that share an email land as one record (October 2026).Source: Shopify Help Center (Creating and managing B2B company contacts using customers)
Companies per customer
One, at several of its locationsA customer joins one company but can sit at several of its company locations, with up to 50 customers per company location (October 2026).Sources: Shopify Help Center (Creating and managing B2B company contacts using customers, Creating and managing B2B customers using companies)
Merging after a company link
Refused by Shopify's merge toolProfiles linked to a company or to past business-to-business orders can't be merged, and a finished merge can't be reversed (October 2026).Source: Shopify Help Center (Managing customers)
Order history moved into a company
All direct-to-consumer orders or noneAdding a customer to a company location can bring their order history with them, but partial order history migration isn't supported (October 2026).Source: Shopify Help Center (Migrating your customer data to Shopify B2B)

Deploi’s call

Deduplicate on email before the migration starts, not during it. Every blended-account problem we have seen traces back to two source systems that were never reconciled, and the reconciliation is a business decision that gets made badly under import deadline pressure.

CustomizeLand one customer record per person when

  • The same email appears in the wholesale and retail systems, because Shopify allows one customer per email address (Shopify Help Center, October 2026).
  • The person buys for one company. Shopify lets a customer join one company, at several of its company locations (Shopify Help Center, October 2026).
  • You can merge before any company link exists. Shopify's merge tool refuses profiles linked to a company or to past business-to-business (B2B) orders (Shopify Help Center, October 2026).
  • One store serves both channels, which Deploi's blended storefront record scores CUSTOMIZE on native B2B, noting that one store keeps one history per shopper (October 2026).

WaitKeep two records while

  • Work and personal emails differ. Two customers is the correct model, and one view of the person belongs in your customer relationship management (CRM) system.
  • One person buys for two unrelated companies. Use one email per company.
  • Nobody owns the merge list. Shopify can't reverse a merge (Shopify Help Center, October 2026).

Basis: Build or Buy a Blended DTC + B2B Storefront on Shopify?, our Build vs. Buy decision record, scored CUSTOMIZE.

How does Shopify model one person who buys wholesale and retail?

Shopify models one person who buys wholesale and retail as one customer record with a company role on top. Shopify's developer guide defines a company contact as "A person that acts on behalf of the company. A company contact is associated with a retail customer record" (Shopify developer docs, October 2026). Customer identity is the other half of migrating per-segment business-to-business (B2B) catalogs to Shopify.

The buying context comes from sign-in, not from a flag on the record. "If a customer's email address is associated with a company location, then the customer gains access to the B2B customer experience." Everyone else buys as direct-to-consumer (D2C): "Any customer who isn't associated with a company location or doesn't sign in is considered a D2C customer" (Shopify Help Center, October 2026). Removing someone from a company keeps the profile, "stored as a D2C customer" (Shopify Help Center, October 2026). So the platform handles the blended buyer cleanly, and the import is where duplicates and misclassification start.

Which Shopify rules decide whether a blended record imports cleanly?

Five Shopify rules decide whether a blended record imports cleanly, so check each one against your source data before the first load.

Five Shopify rules decide how a customer who buys wholesale and retail imports
Shopify ruleWhat it does to blended data
One customer per email addressTwo source logins with one email become one record
One company per customerA buyer for two unrelated companies needs two emails
No legacy customer accounts, Shopify's older sign-in, in business-to-business (B2B)The store moves to the newer customer accounts before any company link
No merging profiles linked to B2BDuplicates must be merged before any company link
Full order history or none when added to a companyAdding a blended buyer's history moves their retail orders into the company
Sources: Shopify Help Center (Creating and managing B2B company contacts using customers, Migrating your customer data to Shopify B2B, Managing customers, Requirements and considerations for using B2B). Verified October 11, 2026.

Shopify's merge tool also refuses a profile that has ever had a subscription contract, or that holds a vaulted credit card or a store credit account (Shopify Help Center, October 2026). So flag those retail profiles before you plan a merge. B2B links are the hard part to undo, so the last two rules set the order of work.

Where should each blended source pattern land in Shopify?

Each blended source pattern lands in one of four places, and the email address decides most of them.

  1. Same email, separate wholesale and retail logins. One Shopify customer, because "A single email address can be used only by one customer" (Shopify Help Center, October 2026). Don't create name+wholesale@ addresses to keep two records; that splits one person's history for good.
  2. Different emails, same person. Two customers, which is correct. If the business needs one view of that person, build it in your customer relationship management (CRM) system, not in Shopify.
  3. One person buying for two unrelated companies. One email per company, so two records. The same one-company rule draws company boundaries in a headquarters-and-branch hierarchy.
  4. A shared inbox such as orders@company.com. One customer at the company location, inside the limit of 50 customers per company location (Shopify Help Center, October 2026). Customer accounts sign in with a code sent to the email address, and "No password is required" (Shopify Help Center, October 2026), so whoever reads the inbox can sign in.

In what order should customers, companies and orders load?

Customers load first, then companies and locations, then contact roles, then business-to-business (B2B) orders, because each step needs the one before it. Matrixify, a bulk import app, fails a company import when a linked customer doesn't exist yet (Matrixify, October 2026). Matrixify is rated 4.9 from about 1,770 reviews, and its $20 a month Basic plan loads 50 companies per file (Shopify App Store, October 2026).

  1. Deduplicate on email in the source systems, and merge any duplicate Shopify profiles, first. Shopify's merge tool refuses profiles linked to a company or to past B2B orders, and "After the profiles are merged, you can't reverse the process" (Shopify Help Center, October 2026).
  2. Switch the store to customer accounts. Legacy customer accounts, Shopify's older sign-in, can't be used for B2B (Shopify Help Center, October 2026).
  3. Import customers, then companies and locations, then contact roles.
  4. Keep retail history retail. Adding a customer to a company brings their full direct-to-consumer (D2C) order history or none (Shopify Help Center, October 2026), so leave that option off for blended buyers.
  5. Import wholesale orders last, against the company location. Shopify's order import makes a B2B order only for a customer with a role at that location, and returns an error otherwise (Shopify developer docs, October 2026), the same check open quotes moving as draft orders meet.
  6. Spot-check blended buyers signed in and signed out.

Why can't legacy wholesale tag logic run beside catalogs?

Legacy wholesale tag logic can't run beside catalogs because two entitlement systems on one storefront give one buyer two prices. Blended stores on older platforms, and on Shopify before native business-to-business (B2B), gated wholesale prices with a customer tag plus theme logic. In native B2B, entitlement follows company location assignment and catalogs.

So import the tags and retire the logic. Tags still earn their place: Shopify's bulk Add to company flow filters customers by an existing tag (Shopify Help Center, October 2026), and customer tags carry over in Shopify's customer import. Deploi's 3-catalog cap record tells merchants to map each tag to a company or segment, migrate in one cutover and delete the tag logic afterward "rather than running both" (October 2026). Ship the catalog model and the tag retirement in the same release.

When should one person keep two customer records?

One person should keep two customer records when the identities are separate commercial relationships, when a merge would expose private orders, or when nobody owns the merge.

Deploi’s point of view

Our own position, from building on Shopify. Kept apart from the sourced facts above.

What we’ve seen
The name+wholesale@ workaround is the tell that a merge decision was avoided. It passes the import, it looks tidy, and it permanently splits one customer's history across two records that nobody will ever rejoin. When we find it in a source system, we treat it as debt to clear during the migration rather than a pattern to preserve.
Where we disagree
Blended B2B and D2C is usually presented as a store-architecture question, one store or two. That decision matters much less than the customer-identity decision underneath it, which is the same in both architectures and gets skipped in both. Answer the identity question first and the store question gets easier.
What this page adds
that a company contact sits on an ordinary retail customer record, that the buying context comes from sign-in rather than a stored flag, the Shopify rules that constrain the import, including the merge tool's refusal of profiles linked to B2B and the all-or-nothing order history move, the four source patterns those rules break, and why legacy wholesale tag logic can't run beside catalogs.

When this answer changes

  • Shopify lets one customer join more than one company.
  • Shopify's merge tool starts accepting profiles linked to a company or to past B2B orders.
  • Shopify allows part of a customer's order history to move when the customer is added to a company.
  • Shopify changes the limit of 50 customers per company location.
  • Matrixify changes how it links customers to companies, or its per-file company limits.

Related questions

This follows from How do multiple simultaneous B2B catalogs (one per customer segment) migrate to Shopify's 3-catalog limit on non-Plus plans, if we exceed that number?

More in Data & Customer Migration

Sources

Every figure on this page traces to one of these. Official and vendor pages are checked on the date shown; Deploi records are our own published decisions.

  1. Shopify Help Center, Creating and managing B2B company contacts using customershelp.shopify.com · checked October 11, 2026
  2. Shopify Help Center, Sign-in and customer accounts in B2Bhelp.shopify.com · checked October 11, 2026
  3. Shopify Help Center, Migrating your customer data to Shopify B2Bhelp.shopify.com · checked October 11, 2026
  4. Shopify Help Center, Managing customershelp.shopify.com · checked October 11, 2026
  5. Shopify Help Center, Creating and managing B2B customers using companieshelp.shopify.com · checked October 11, 2026
  6. Shopify developer docs, Apps and B2Bshopify.dev · checked October 11, 2026
  7. Shopify developer docs, Import B2B ordersshopify.dev · checked October 11, 2026
  8. Shopify Help Center, Requirements and considerations for using B2Bhelp.shopify.com · checked October 11, 2026
  9. Matrixify, Companiesmatrixify.app · checked October 11, 2026
  10. ITissible, Matrixify: Data Export Import on the Shopify App Storeapps.shopify.com · checked October 11, 2026
  11. Deploi Build vs. Buy, Build or Buy a Blended DTC + B2B Storefront on Shopify?deploi.ca · checked October 11, 2026 · Deploi research
  12. Deploi Build vs. Buy, Should You Build or Buy Past Shopify's 3-Catalog B2B Cap?deploi.ca · checked October 11, 2026 · Deploi research