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 Miva stores to Shopify: attribute templates and inventory variants, price groups and B2B, full order history and every legacy URL redirected. Fixed price from $2,500, typically six to eight weeks for smaller stores.
Every migration includes the storefront, the apps and your back-office systems, not just the data. Pixel-perfect, a facelift or a complete redesign?

Miva stores are rarely small. They tend to be mid-market businesses with deep catalogs, attribute templates shared across hundreds of products, inventory variants with their own prices and images, price groups for trade customers and years of order history. That configuration is the value of the store, and it is also what makes a Miva to Shopify migration harder than a CSV export and import. This guide explains how we move Miva Merchant 9, Miva 10 and current Miva stores to Shopify with the catalog structure, customer pricing and search rankings intact.
To be fair to Miva, it handles large, complex catalogs well, and a store that relies heavily on custom modules should cost out the Shopify equivalents before deciding. That is what our audit is for.
Miva gives you three ways to get data out: flat-file exports from Data Management, XML provisioning, and the JSON API (Miva 9.12 or later), which exposes products, attributes, categories, customers, orders and URIs with paginated list queries. We use the API for most entities and the flat files as a cross-check.
| Data | Source on Miva | Moves to Shopify? |
|---|---|---|
| Products with codes, SKUs, names, descriptions, prices, costs, weights, stock, images | Export Products to Flat File, or ProductList_Load_Query in the JSON API | Yes. Product codes are kept as SKUs and used as the join key for redirects, reviews and integrations. |
| Attributes, options and attribute templates | AttributeAndOptionList_Load_Product and the attribute template screens | Yes, as options and variants where they change what is picked, and as line item properties or metafields where they do not. See the section below. |
| Inventory variants | Variant records with their own part products, prices and images | Yes. Each variant becomes a Shopify variant with its own SKU, price, stock and image. |
| Categories and subcategories | Category export or API | Yes, as collections, with the tree rebuilt in the menus. |
| Customers with addresses, custom fields and marketing consent | Export Customers to a Flat File, or CustomerList_Load_Query | Yes. Consent is carried exactly and custom customer fields become customer metafields. |
| Price groups, customer-specific pricing and availability groups | Price Groups and Availability Groups | Rebuilt as Shopify discounts, B2B catalogs and price lists, or customer segments. Not a one-click move. |
| Orders with line items, attributes chosen, tax, shipping, discounts, status, shipments | Export Orders to Flat File, or OrderList_Load_Query | Yes. Real Shopify orders with the original number and date, the chosen options on each line, a payment record and per-shipment tracking. Refunds and cancellations are recorded as such. |
| Passwords | Not usable outside Miva | No. Customers set a new password or use Shopify’s passwordless sign-in. |
| Product reviews | Miva Product Reviews module, which supports export | Yes, into Judge.me or the review app you choose, matched on product code. |
| Coupons and gift certificates | Price groups with coupons; gift certificate module | Coupons recreated as discount codes. Outstanding balances recreated as Shopify gift cards. |
| Page templates, MMT-managed templates, custom modules | Miva template files and installed modules | No. Design is rebuilt as a Shopify theme; each module is mapped to a Shopify feature or app, or retired. |
Miva stores often carry three generations of URLs at once, and all of them may still be indexed or linked. The oldest form is the raw dynamic URL, for example /mm5/merchant.mvc?Screen=PROD&Store_Code=SC&Product_Code=ABC123 for a product and /mm5/merchant.mvc?Screen=CTGY&Store_Code=SC&Category_Code=widgets for a category. Stores that turned on Miva’s short links (in Domain Settings on older versions, now under URI Management, Legacy SEO Settings) have code-based forms such as /p/ABC123, /c/widgets and /pc/widgets/ABC123, sometimes with the product name appended as .html. Since Miva 9.4, URI Management holds a table of URIs per product, category and page, with one canonical URI and any number of older or redirecting ones.
Shopify uses /products/handle and /collections/handle, so every one of those forms needs a 301. Shopify matches redirect paths and query strings, so the dynamic merchant.mvc links can be redirected, but each distinct query string is its own entry. We build the map from three sources: Miva’s URI export (Data Management offers an export of URIs to XML), a crawl of the live site, and the Search Console page list. The product and category codes in those URLs are the join key to the new handles. Every redirect is requested against the live domain before cutover, and the non-canonical Miva URIs are included, because old backlinks tend to point at them.
Cart2Cart and LitExtension both list Miva Merchant as a source for Shopify, and Cart2Cart is a partner of ours. Both are fine for a first pass on products, categories and customers. Their limits show up on the parts that matter most for Miva stores. Neither carries tracking numbers on shipped orders. Refunded orders tend to arrive as plain paid orders, which leaves a false balance on each one. Redirects are built from guessed slugs rather than from Miva’s URI table. And neither tool understands attribute templates, price groups or availability groups, so that configuration has to be designed on Shopify by hand. We use the tools where they save time and finish the rest ourselves through the Miva JSON API and the Shopify Admin API.
Our migrations start from $2,500 for stores under 500 products and 5,000 orders ($3,500 for larger stores), which typically take six to eight weeks. Most Miva stores are larger than that, and many have B2B pricing, an ERP or other integrations. Those are quoted as a fixed price after the audit, so 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.
This is where most of the design work sits. A Miva attribute can be a drop-down, radio button, checkbox, text field or text area, and it may or may not change the price, the weight or the item that is picked. Attribute templates let one set of attributes be copied or linked to many products, and inventory variants turn combinations into their own product records with separate prices, descriptions and images.
Shopify allows three options per product and up to 2,048 variants. Only attributes that identify a stocked item belong in those three options. Everything else has a different home:
Products with more than three variant-driving attributes are split or restructured, and we show you the proposed structure for each affected product family before anything is imported. Linked templates are useful here: one template usually maps to one Shopify pattern, which keeps a large catalog consistent.
Miva price groups do a lot of jobs. Depending on eligibility (coupon only, specific customers, all logged-in customers or all shoppers) a group can be a sitewide sale, a coupon, a trade discount or customer-specific pricing. Availability groups hide categories and products from customers who are not members. We inventory every group and map each by purpose:
Membership comes straight from Miva’s customer and group data, so no trade customer loses their pricing at launch.
Mid-market Miva stores are usually connected to something: an ERP or accounting system, a warehouse or 3PL, a shipping tool, a marketplace feed. We list every integration in the audit with its Shopify replacement, which is often a native Shopify connector for the same system or an integration platform. Integrations that write to Miva through the JSON API need rebuilding against Shopify’s Admin API, and we scope that work explicitly.
Live UPS, FedEx or USPS rates at checkout need Shopify’s third-party carrier-calculated shipping, which comes with Advanced and Plus, or Grow on annual billing. Customer custom fields such as account numbers, tax-exempt status or sales rep become customer metafields or B2B company fields, and product custom fields become product metafields with definitions.
Every Miva migration ends with a reconciliation ledger from Miva counts to Shopify counts for products, variants, customers and orders, with order totals checked and every exclusion named; the attribute mapping, showing where each Miva attribute and template went; the price group and B2B mapping; the redirect list with the status each URL returned; an integration list with what replaced each one; and a recorded walkthrough of the Shopify admin for your team.
Attributes that identify a stocked item become Shopify options and variants, with inventory variants keeping their own SKU, price and image. Free-text attributes become line item properties, priced add-ons become add-on products, and specifications become metafields. We agree the structure for each product family before import.
Yes. Sales and coupons become Shopify discounts, and trade pricing becomes Shopify B2B with companies, catalogs, price lists and payment terms. B2B runs on every Shopify plan, but stores with many customer-specific price lists usually need Shopify Plus.
Yes. We redirect the legacy merchant.mvc links, the short link forms and every URI in Miva URI Management to the matching Shopify page, using product and category codes as the key. Each redirect is tested before launch.
Yes. Orders import as real Shopify orders with the original numbers, dates, chosen options, totals and tracking numbers, and refunds are recorded as refunds. Every order is reconciled against Miva.
From 2,500 dollars for stores under 500 products and 5,000 orders (3,500 dollars for larger stores), typically six to eight weeks. Most Miva stores are larger or have B2B pricing and integrations, which we quote 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 another mid-market platform with a similar data model, see the BigCommerce to Shopify guide, and for larger B2B stores the Shopify Plus migration page.
More than the data
Getting the records out of Miva 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 Miva 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.