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 nopCommerce stores to Shopify: what the exports and database carry, how attribute combinations and role tier prices map, the UrlRecord redirect map, and 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?

nopCommerce is a serious platform. It is free, open source, built on ASP.NET Core, and it ships features that many hosted platforms charge extra for: multi-store, multi-vendor, tier pricing by customer role, gift cards and reward points. Stores that leave it usually do so because running and extending the software has become a job of its own. This guide is how we handle a nopCommerce to Shopify migration, from a single store to a multi-store install with trade pricing and an ERP connection, including the parts the Excel exports and the automated tools do not cover.
To be fair, 4.90 added real features, including AI product descriptions and translation, request for quote, a mega menu and accessibility work for the European Accessibility Act. If full source access and a free license matter more to you than the operating burden, staying is a reasonable decision. The rest of this guide assumes you have decided to move.
The admin exports products, categories, manufacturers, orders and customers to Excel (XLSX) and XML, and newsletter subscribers to a text file. The exports leave important things out: product attribute combinations are not in the product export at all, and customer passwords are only included when a security setting allows it. Because the store is self-hosted, we read the database directly for everything the export screens miss and reconcile against the source tables.
| Data | Source on nopCommerce | Moves to Shopify? |
|---|---|---|
| Products with SKUs, GTINs, prices, old prices, costs, stock, weights, images, meta titles and descriptions | Catalog export (XLSX or XML) or the database | Yes. SEO fields carry to Shopify’s title and description fields. |
| Product attributes and attribute combinations | Attribute mappings in the export; combinations from the database or Web API | Yes. Combinations become variants with their own SKU, price, stock and image. See below. |
| Specification attributes | Product export (advanced mode) or the database | Yes, as metafields with definitions, with filterable ones set up in Search & Discovery. |
| Categories and manufacturers | Category and manufacturer exports | Yes. Categories become collections and menus; the manufacturer becomes the vendor, with brand pages where the theme used them. |
| Tier prices by quantity, store and customer role | Product export (advanced mode) or the database | Yes, as B2B catalog pricing or discounts. See below. |
| Orders with items, taxes, shipping, payment status, refunds | Order export with products, or the database | Yes. Real orders with original numbers and dates, a matching transaction, and refund records where money went back. |
| Shipments and tracking numbers | Shipment tables in the database | Yes. Each shipment becomes a fulfillment with its carrier and tracking number. |
| Customers, addresses, roles, newsletter subscribers | Customer export and subscriber file | Yes. Roles become tags or B2B companies; consent comes from the subscriber list. |
| Passwords | Salted hashes, SHA512 by default | No. Shopify cannot import password hashes. Customers reset on first login or use Shopify’s passwordless sign-in. |
| Gift cards and reward points | Database | Gift card balances become Shopify gift cards. Reward point balances move into a loyalty app. |
| Reviews, blog, news, topics | Database | Reviews into Judge.me or your chosen app; blog and news posts into Shopify blogs; topics into pages. |
| Theme, widgets and plugins | Application files | No. The design is rebuilt on Shopify and each plugin is mapped to an app, a native feature or custom work, or dropped. |
Since version 3.0, nopCommerce serves products, categories, manufacturers, vendors, topics and blog posts from SEO slugs at the root, stored in the UrlRecord table, so a product is /product-name and a category is /category-name. Recent versions can also prefix the product with its category or manufacturer, as /category-name/product-name or /manufacturer-name/product-name, and multi-language stores can add a language code, as /fr/product-name. Stores that started on 2.x used ID-based forms such as /p/123/product-name, /c/45/category-name and /m/6/manufacturer-name, and some of those are still in search results years later.
Shopify uses /products/handle, /collections/handle and /pages/handle. The UrlRecord table is the best source we get on any platform: it keeps inactive slugs from every rename, per language, so we redirect every slug a product or category ever had, not just the current one. We add the catalog-prefixed forms, the legacy ID forms, any IIS rewrite rules and anything Search Console still reports, then request every redirect against the live domain before launch.
Cart2Cart, a partner of ours, and LitExtension both list nopCommerce as a source, and both are fine for a first pass on products and customers. Their limits are the ones we see on every platform: tracking numbers on shipped orders do not come across, refunded orders tend to land as plain paid orders, and the redirects they build come from guessed slugs rather than the UrlRecord table. We finish those parts ourselves. With direct access to SQL Server, MySQL or PostgreSQL, nothing is limited to the export screens: combinations, shipments, tier prices, gift card balances and old slugs all come straight from the source tables. The official Web API plugins (a free frontend plugin ships with the source; the backend plugin covers the admin side) are another route when database access is restricted.
A nopCommerce to Shopify migration starts from $2,500 for stores under 500 products and 5,000 orders ($3,500 for larger stores), and typically takes six to eight weeks for smaller stores. B2B pricing, multi-store installs, multi-vendor marketplaces and integrations such as ERP or accounting are quoted as a fixed price after the audit. Terms are 50% to begin and 50% once the store is live and you are fully satisfied with the figures.
The Shopify plan is chosen in the audit. Live carrier rates need Advanced or Plus (or Grow on annual billing), and expansion stores need Plus, so a nopCommerce store that relied on the UPS plugin or ran several stores may need a higher tier than a simple single store. We set that out next to your current hosting, SQL Server licensing and plugin costs so the comparison is complete.
nopCommerce has two attribute systems, and automated tools often flatten them into one. Product attributes are what the shopper chooses: drop-downs, radio lists, color and image squares, checkboxes, text boxes, date pickers and file uploads. Each value can carry a price adjustment (fixed or percentage), a weight adjustment and a cost. Attribute combinations are the rows that give a specific set of choices its own SKU, GTIN, stock, overridden price and picture. Specification attributes are descriptive facts, such as material or screen size, used for comparison and for the catalog filters.
On Shopify, combinations become variants. A product has at most three options and up to 2,048 variants, so a product with four stock-tracked attributes is split or has one attribute moved elsewhere. Where a store never created combinations and relied on price adjustments alone, we calculate every variant price from the adjustments and check it against nopCommerce’s own calculation. Attributes that are not real variants, such as gift wrap, engraving text or an uploaded file, become add-on products through a product options app or line item properties. Specification attributes become metafields with definitions, and the ones marked for filtering become Search & Discovery filters, so category pages keep the filters customers used.
nopCommerce tier prices can be limited by quantity, store, customer role and date range, and discounts can be restricted to roles through the customer role discount rule. That is how many nopCommerce stores run wholesale. On Shopify, B2B handles it natively on every plan: companies with locations, catalogs with price lists and payment terms, with non-Plus plans limited to three catalogs. We turn each trade role into a catalog, each trade customer into a company, and role tier prices into catalog pricing. Quantity breaks for retail shoppers and date-limited prices become automatic discounts. A store with more than three priced roles either consolidates them or needs Plus, which is a decision we make with you in the audit.
One nopCommerce install can run several stores, each with its own domain, theme, settings and product visibility, from one admin and one database. When the stores sell the same catalog to different countries or in different languages and currencies, Shopify Markets covers it in one store, with a domain, language, currency and pricing per market. When they are really separate brands or businesses, they become separate Shopify stores, run as expansion stores on Plus. Store-limited tier prices and store-specific products are mapped store by store. Multi-vendor installs move to a marketplace app, since Shopify is not a marketplace out of the box, and we scope that part separately.
This is the part of a nopCommerce project most worth scoping carefully. Stores often carry custom C# plugins and direct edits to the source, and many are tied to an ERP, a warehouse system or an accounting package through the Web API, scheduled tasks or SQL jobs that write straight to the database. None of that survives the move. We inventory every plugin, scheduled task and database integration, then map each to a Shopify app, a native feature, Shopify Flow or a small custom app on the Admin API. ERP connections are rebuilt against Shopify, usually through the ERP’s own Shopify connector, and tested with real orders before cutover.
A reconciliation ledger from the nopCommerce tables to the live Shopify counts for products, variants, customers, orders and fulfillments, with every exclusion named; the redirect verification list with the status each URL returned; the attribute, combination and specification mapping, including every price adjustment and how it was handled; the role to catalog pricing map; the store and plugin decisions from the audit; and a recorded walkthrough of the Shopify admin for your team.
Yes. Orders import as real Shopify orders with the original numbers, dates, items, taxes and refunds, and shipments come across as fulfillments with their tracking numbers. Every order is reconciled against the nopCommerce tables.
Attribute combinations become Shopify variants with their own SKU, price and stock. Price adjustments are built into variant prices or handled with an options app. Specification attributes become metafields and storefront filters in Search and Discovery.
Yes. Trade roles become B2B catalogs with price lists, trade customers become companies, and tier prices become catalog pricing or discounts. Non-Plus plans allow three catalogs, so stores with more priced roles consolidate them or move to Plus.
No. nopCommerce stores salted password hashes that Shopify cannot import. Customer accounts, addresses and order history move, and customers set a new password or use passwordless sign-in the first time they log in.
From 2,500 dollars for stores under 500 products and 5,000 orders (3,500 dollars for larger stores), typically over six to eight weeks for smaller stores. B2B pricing, multi-store and integrations are 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. If your nopCommerce store has been customized heavily, the custom-built store migration guide covers the integration work in more depth, and the Shopify Plus migration guide covers expansion stores and larger B2B setups.
More than the data
Getting the records out of nopCommerce 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 nopCommerce 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.