
A data map before the quote: what moves, what is rebuilt, what cannot
Platform Migration
Shopify to Magento migration for B2B stores that outgrew Shopify: a data map before the quote, rankings kept through the move, company accounts and quotes native from day one.
Map Your MigrationWhy stores move this way
2,048 variants per product, where Shopify's product model stops30 June 2026 the date Shopify Scripts are deprecated, with Functions in their place
Shopify is a very good place to start a store, and most merchants who call us about leaving it have nothing bad to say about it. They have outgrown the shape of it.
A distributor selling to companies needs a buyer hierarchy with divisions, approvers and roles, a catalog and a price list per customer, quotes negotiated inside the store, purchase orders that wait for approval, and an ERP in step with stock and orders. Adobe Commerce ships those as one B2B module: company accounts, shared catalogs, negotiable quotes, purchase orders with approval rules, requisition lists and quick order.
Shopify offers B2B on every plan from Basic up, with the feature set depending on the plan, and for many wholesalers that is enough. The stores that move are the ones where it is not: a catalog whose configurable products run past Shopify's 2,048 variants, checkout logic that lived in Shopify Scripts, which are deprecated as of 30 June 2026, or pricing per customer kept in a spreadsheet because the store cannot hold it.
A Shopify to Magento migration is how those stores get the model they need without losing the customers, the orders and the rankings they already have.
The signs
None of these means Shopify failed you. Each means the store has grown into a shape the platform was not drawn for, and the workarounds now cost more than the move.

A buyer with three divisions, five approvers and a dozen purchasers is one customer account with tags. Nobody can see who ordered what, or hold an order that should have waited for sign-off.

The buyer asks for a price, sales replies from a mailbox, the agreed figure is typed into a draft order by hand, and the history lives in one person's inbox.

Products with size, colour, material and pack count hit Shopify's 2,048 variants and get split into near-duplicate products, which confuses buyers and search engines alike.

Stock from one app, orders through another, customer records through a third, each on its own schedule with its own idea of the truth. Reconciling them is someone's Friday.

Tiered pricing, payment-method rules and shipping logic lived in Shopify Scripts. Scripts are deprecated as of 30 June 2026, and rebuilding them as Functions is a project on its own.

Every account has its own prices and the store cannot hold them, so the sheet is the system of record and the storefront shows numbers half the buyers are told to ignore.
What the migration covers

Every object in the store listed with where it goes: moved as is, rebuilt in Magento's model, or retired with a reason.

Accounts, addresses and tags move; passwords cannot leave Shopify, so every customer sets a new one through a flow we write and test.

Past orders imported as history against the right customer, so reorders, returns and reports carry on from the first day.

Every old product, collection and page URL mapped to its new address, redirected server-side and kept for at least a year.

Buyer companies with divisions and roles, a shared catalog and price list per company, and quotes negotiated inside the store.

Stock, prices and orders synced with your ERP in both directions, product data from your PIM, and your gateways connected.
Map, build, migrate, launch
What moves, what does not
1 year at least, that every redirect stays in place, as Google advisesCount for count every import reconciled against the Shopify export before cutover
Most of the store moves whole: products, variants, images, customers, addresses, tags, orders, discount codes, pages and blog posts, each exported from Shopify, transformed into Magento's model and reconciled count for count.
Three things cannot move. Passwords never leave Shopify, so every customer sets a new one on first login, through an invitation flow we write and test before cutover. Shopify Scripts and checkout customisations are rebuilt as Magento cart and checkout rules, because the logic is the same and the code is not. And apps built for Shopify's data model are replaced by Magento's own features or an extension, one by one, from the parity list.
Rankings are the part merchants fear most and the part with the clearest method. Google's own guidance for a site move with URL changes is to map every old URL to a new one, use server-side permanent redirects and keep them for at least a year, submit the new sitemap, and expect temporary fluctuation while the move is processed, which for a small or medium site takes a few weeks. We do exactly that, and we watch Search Console against the pre-move baseline until the lines meet.
Pick the destination
For distributors and manufacturers who need the B2B module as Adobe ships it: company accounts with divisions and roles, shared catalogs and price lists per company, negotiable quotes, purchase orders with approval rules and requisition lists, with the ERP synced in both directions.
For a store that outgrew Shopify's catalog and customisation limits but sells mostly to consumers or to a short list of trade accounts. Open Source carries the catalog, the checkout rules and the integrations; company accounts and quotes come from well-chosen extensions when they are needed.
Every store we migrate lands on a Hyvä frontend rather than Luma, so the first thing a buyer notices after the move is that the store is faster: Core Web Vitals passed on real devices, your brand carried over, and your extensions ported or replaced in the same project.
Not our word for it

Adobe Certified Expert
7 professionals
Adobe Certified Expert
4 masters
Adobe Certified Expert
9 experts
Adobe Certified Expert
14 experts
Adobe Certified Expert
14 experts
Google Analytics Certification
6 expertsTrusted by 100+ companies
Keep reading



FAQ
Tell us about your store and we will come back with straight answers.
Talk to usWhen the workarounds cost more than the move. The usual signs are a catalog split into near-duplicate products to stay under the variant ceiling, quotes and per-customer pricing handled outside the store, a buyer organisation the account model cannot describe, and an ERP kept in step by three apps and a weekly reconciliation. One of those is a nuisance; three together mean the platform is the constraint.
No, and no migration from Shopify can promise otherwise: passwords cannot be exported. Every account, address, tag and order history moves, and each customer sets a new password on first login through an invitation flow we write, test and time with you, usually sent in waves so your support team is not answering every buyer on the same morning. Company users on Adobe Commerce get their roles assigned before the invitation goes out.
Yes. Orders are imported as history against the right customer and company, with their line items, totals, statuses and dates, so reorders, returns, reporting and a buyer's own account page carry on from the first day. What does not come across is the ability to refund those orders through the old payment transaction, which stays in Shopify; refunds on historical orders go through the gateway directly.
Not if the move is done the way Google describes it. Every old URL is mapped to its new address, redirected with a server-side 301 and kept for at least a year; the new sitemap is submitted the day of cutover; and Search Console is watched against the pre-move baseline. Google says to expect temporary fluctuation while a small or medium site moves over a few weeks. The stores that lose rankings for good are the ones that skipped the map.
Each one is listed in the data map with its replacement: a Magento feature that does the same job, an extension we have used before, an integration written against the API, or retirement because nobody used it. Apps whose vendors also publish a Magento extension are the easy cases. Subscription, loyalty and review apps are the ones to look at early, because their data is yours and the export has to be arranged before the Shopify plan ends.
It depends on how much of the B2B module you would use. Adobe Commerce ships company accounts, shared catalogs, negotiable quotes, purchase orders with approval rules, requisition lists and quick order as one supported module. Magento Open Source has no B2B module of its own: company accounts and quotes come from extensions, which is fine for a short list of trade accounts and a strain for a distributor with hundreds. The data map and the parity list settle it before anything is licensed.
The data map takes the first two to three weeks and sets the rest. A store with a clean catalog, a handful of integrations and no custom checkout logic typically lands within a few months; a distributor with company hierarchies, an ERP integration and a PIM takes longer, mostly in the build and the parallel run. The cutover itself is a window of hours, rehearsed on staging first. The map gives you a dated plan rather than a range.
After the data map, not before. The map tells us how many products and variants have to be transformed, which integrations have to be rebuilt, which apps have replacements and which checkout logic has to be written again, and that is what sets the scope. You receive a fixed scope in writing for the migration itself and a separate estimate for anything new you decide to add on the way. There is no price list because no two catalogs are alike.
Yes, and they should. The Magento store runs on staging and then on its own domain while Shopify keeps selling, buyers from a pilot company test their accounts, quotes and reorders on it, and the final data delta is migrated in the cutover window. Shopify stays on a reduced plan afterwards so order and payment records remain reachable. Nothing is switched off until the new store has taken a full week of live orders.
Shopify Payments stays with Shopify; on Magento you connect a gateway of your choice, and card details are not migrated between processors. Stored payment methods have to be re-entered by the customer, which the invitation flow asks for at the right moment. Subscriptions depend on the app that runs them: some vendors offer a migration path to their Magento extension, others do not, and that is checked during the data map rather than discovered at cutover.
The migration is built so that you can. Shopify keeps selling until the cutover window, so stopping before it costs the work done and nothing else; the data map and the parity list are yours to keep whatever you decide. After cutover, Shopify stays reachable on a reduced plan for a period, so a rollback inside the first days is a configuration change rather than a second migration.
They are rebuilt, not moved. Scripts are deprecated as of 30 June 2026 and were never portable anyway; the logic in them, tiered pricing, payment-method rules, shipping rules, is written into the data map as plain rules and rebuilt as Magento cart price rules, shipping methods and checkout configuration. Where the logic was a true customisation, it becomes a small module in your repository with tests, so it survives the next upgrade.
Let’s build something great together!
Send us a Shopify export or collaborator access and we come back with the data map: what moves, what is rebuilt, what cannot move, and what it would take.