Everything the old store knows
Products, variants, option pricing, customers, the full order history with refunds and tracking, reviews, content and redirects. Reconciled to the cent.
Migration guide
How we move Zoey wholesale stores to Shopify: accounts to B2B companies, customer and account pricing to catalogs, net terms, quotes, orders and redirects, at a fixed price from $2,500 over six to eight weeks.
Every migration includes the storefront, the apps and your back-office systems, not just the data. Pixel-perfect, a facelift or a complete redesign?

A Zoey store is a wholesale operation first and a website second. Its value sits in the accounts, the contacts and their permissions, the customer group and account-specific prices, the net terms and credit limits, the quick order forms and the quotes your sales team works every day. A Zoey to Shopify migration has to carry all of that into Shopify B2B, not just the product list. This guide explains how we move Zoey stores to Shopify, how each Zoey B2B feature maps to companies, locations, catalogs, price lists and payment terms, and where the real decisions are.
To be fair to Zoey, it is a purpose-built B2B system with a built-in CRM, invoicing, accounts receivable tools and an offline mobile app for field reps. Some of that needs an app or a process change on Shopify, and our audit costs it out before you commit.
Zoey exports CSV files from its list screens through Bulk Actions: Basic and Full Product Data plus further templates, Full Account Data, Account Contacts Data, Basic and Full Order Data, order comment history, and the Invoice, Quote and Draft lists. Customer group prices export as columns in the product file, and account-specific prices use their own Account, SKU and Price template. Plans from Plus up also include the Zoey REST API, which we use to cross-check the files.
| Data | Source on Zoey | Moves to Shopify? |
|---|---|---|
| Simple products with SKUs, descriptions, prices, costs, weights, stock and images | Full Product Data export | Yes. SKUs are kept and used as the join key for pricing, redirects and integrations. |
| Configurable, bundle and grouped products | Product export and product type settings | Yes, as products with options and variants, bundles, or separate products linked in the theme. See the section below. |
| Categories | Category tree in the catalog | Yes, as collections, with the tree rebuilt in the menus. |
| Accounts, locations and addresses | Full Account Data export | Yes, as Shopify B2B companies and company locations with their addresses. |
| Contacts and their roles | Account Contacts Data export | Yes, as customers attached to the company, with Shopify’s ordering roles. Custom permission sets are mapped to the nearest role. |
| Customer group pricing and tier pricing | Group price columns and tier price settings on each product | Rebuilt as B2B catalogs with price lists, quantity rules and volume pricing. |
| Account-specific product prices | Account Specific Prices CSV, or NetSuite item pricing | Rebuilt as company catalogs where the plan allows, or folded into shared price tiers. A plan decision. |
| Net terms and credit limits | Payment Terms on each account | Terms become Shopify payment terms. Credit limits are not native and need an app or ERP control. |
| Orders with line items, tax, shipping, status, shipments and sales rep | Full Order Data export | Yes. Real Shopify orders with original numbers, dates, the company attached, a payment record and per-shipment tracking. Refunds and cancellations are recorded as such. |
| Open invoices and unpaid balances | Invoice list and Net Terms tabs | Settled in your accounting system; open balances are carried there, not re-created as live Shopify invoices. |
| Quotes and drafts | Quote and Draft lists | Open quotes are re-created in a quote app or as draft orders; closed quotes are kept as an archive file. |
| Quick order forms and saved versions | Quick Order Form settings | Rebuilt with Shopify’s quick order list and reorder features or a B2B app. Saved customer versions do not transfer. |
| Product reviews | Reviews and Ratings list, which supports export | Yes, into Judge.me or the review app you choose, matched on SKU. |
| Passwords | Not usable outside Zoey | No. Buyers sign in to Shopify’s customer accounts with a one-time code sent by email. |
| Design, blocks and theme | Zoey’s visual designer | No. Design is rebuilt as a Shopify theme. |
Zoey launched in 2015 as a Magento-based hosted platform, and its URL handling still follows that model: each product and category has a URL key, Zoey writes URL rewrites automatically when a key changes or a category moves, and the admin keeps a URL Rewrite grid with 301 and 302 entries. Behind the friendly URLs sit system paths such as /catalog/product/view/id/164 and /catalog/category/view/id/9. Category URLs can include the parent path, for example /smoothies/super-detox-smoothies, and depending on the store’s settings product and category URLs may end in .html. Stores also build custom URLs such as /brand/brandname.html pointing at search results like /catalogsearch/advanced/result/?brand=brandname.
Shopify uses /products/handle and /collections/handle, so each of those forms needs a 301. Zoey’s help documents importing redirects but not exporting the rewrite grid, so we build the map from the URL keys in the product export, a full crawl of the live site, and the Search Console page list, and we add the system paths and brand URLs that backlinks still use. Account pages such as /quotes/view/ are not indexed and simply point to the Shopify customer account. Every redirect is requested against the live domain before cutover.
Cart2Cart and LitExtension both list Zoey as a source for Shopify; Cart2Cart, a partner of ours, handles Zoey through its data migration service package rather than the self-service wizard, and LitExtension works from Zoey’s CSV exports. Both are fine for a first pass on products and customers. Neither carries tracking numbers on shipped orders, refunded orders tend to arrive as plain paid orders with a false balance, and redirects are built from guessed slugs. More importantly for Zoey, neither tool creates Shopify companies, locations, catalogs or payment terms from Zoey accounts. We use the tools where they save time and build the B2B layer, the orders and the redirects ourselves through the Shopify Admin API.
Our migrations start from $2,500 for stores under 500 products and 5,000 orders ($3,500 for larger stores), and typically take six to eight weeks for smaller stores. Almost every Zoey store is a B2B store and many are connected to QuickBooks Online or NetSuite, so the B2B build and integrations are quoted as a fixed price after the audit, and you know the full cost before work begins. Terms are 50% to begin and 50% once the store is live and you are fully satisfied with the figures.
The two models are close, which is good news. A Zoey account holds locations, each location holds addresses, and contacts belong to the account with roles and permissions. Shopify B2B has the same shape: a company holds company locations, each with its own billing and shipping addresses, and customers are attached to the company with a role per location. We map them one to one:
Zoey supports net terms from 10 to 120 days, early-payment formats such as 2% 10 Net 30, credit limits that block net terms ordering when unpaid orders exceed them, and statements of open invoices. Shopify B2B payment terms cover Net 7, 15, 30, 45, 60 and 90, due on fulfillment and a fixed date, and Plus adds deposits. We map each account’s term to the nearest Shopify term and list any that do not fit, such as Net 120 or discounted terms, for you to decide on.
Shopify has no native credit limit. If limits matter, we either use a B2B app that enforces them or let your ERP or accounting system hold orders that exceed them. Open invoices are a cutover decision rather than an import: we reconcile the unpaid balance per account on the last day in Zoey and confirm it matches QuickBooks or NetSuite, which then remains the system that collects it. Historical orders import with their payment status so buyers still see their history.
Zoey’s quote workflow lets buyers add items to a quote, hides pricing until an admin releases it, supports change requests and expiry, and converts an accepted quote to an order. Shopify has no native buyer-initiated quote request. Merchants create draft orders for a company location and send them as invoices, and you can require buyers to submit orders for review as drafts before you accept them. For a full request-for-quote flow we install a quote app that turns accepted quotes into draft orders, and we re-create open Zoey quotes in it.
Quick order forms map to Shopify’s quick order list in the theme, reorder from order history in customer accounts, and a B2B ordering app where buyers relied on saved order pads or pasting SKU and quantity lists. Sales rep assignments move as company metafields or staff permissions, and reps place orders through draft orders in the admin. Zoey’s offline mobile ordering app has no direct Shopify equivalent, so field teams that rely on it need an order-capture app, and we name the options in the audit.
Every Zoey migration ends with a reconciliation ledger from Zoey export counts to live Shopify counts for products, variants, companies, locations, contacts and orders, with order totals checked and every exclusion named; the pricing map showing where each customer group, tier and account price went; a payment terms table per company with any changed terms flagged; the open balance reconciliation at cutover; the redirect verification list with the status each URL returned; an integration list with what replaced each connection; and a recorded walkthrough of Shopify B2B for your team.
Zoey accounts become Shopify B2B companies, their locations become company locations with addresses, and contacts become company customers with ordering roles. Account numbers are kept as external IDs so your ERP still matches them.
Customer group and tier pricing become B2B catalogs with price lists, volume pricing and quantity rules. Non-Plus plans allow up to three active catalogs, so stores with many per-account prices usually need Shopify Plus or consolidated price tiers. We decide this in the audit.
Net terms become Shopify B2B payment terms such as Net 30 or due on fulfillment. Shopify has no native credit limit, so we use a B2B app or your accounting system to enforce limits, and open invoices stay with QuickBooks or NetSuite for collection.
Shopify supports draft orders that you send to a company as an invoice, and it can require orders to be submitted for review. For buyer-initiated quote requests we add a quote app that converts accepted quotes into draft orders.
From 2,500 dollars for stores under 500 products and 5,000 orders (3,500 dollars for larger stores), typically six to eight weeks for smaller stores. B2B builds and ERP or QuickBooks integrations are quoted as a fixed price after the audit. Terms are half to begin and half once the store is live and you are fully satisfied with the figures.
Start with the migration survey. For larger wholesale stores with per-account pricing, see the Shopify Plus migration page, and for the platform Zoey grew out of, the Magento to Shopify guide.
More than the data
Getting the records out of Zoey is the part software can do on its own, so it is the part most providers sell. The storefront your customers see, the apps that run the store and the systems behind it are the rest of the work, and where a data-only migration hands the problem back to you. All four are in scope here.
Products, variants, option pricing, customers, the full order history with refunds and tracking, reviews, content and redirects. Reconciled to the cent.
Rebuilt exactly as it is, given a facelift, or redesigned completely. Quoted inside the migration, not as a second project.
Reviews, search, subscriptions, loyalty, bundles, email. Matched to a Shopify equivalent, dropped where the platform now does it, or rebuilt as a custom app.
ERP, CRM, PIM, 3PL, POS, accounting and EDI, reconnected and tested before cutover. Nobody rekeys orders on launch day.
The first question we ask
Your storefront does not have to come across unchanged, and it does not have to be thrown away either. We quote whichever route you pick inside the migration.
Indistinguishable from the old store, down to the spacing, but rebuilt on a current Shopify theme so it is faster and maintainable underneath.
The same structure, better executed: typography, spacing, color, photography, product pages and navigation. The shape your customers know stays put.
A new storefront, designed as a prototype you click through before a line of Liquid is written, then built on Horizon.
Included with every migration
A Zoey to Shopify migration is not finished when the data lands. Every migration we deliver includes an SEO and growth evaluation once Google has re-crawled the new store and the first real analytics exist: how it is indexed, where it ranks and who outranks it, a technical tag audit, speed, product copy, and quick wins in the order to do them. Here is one we delivered, based on a real engagement.
Other platforms
Tell us about your store in ten minutes. We come back within one business day with an honest assessment, a recommended track and a fixed price.