Migration guide

NopCommerce to Shopify

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 to Shopify: leaving the .NET stack without losing the catalog

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.

Why stores leave nopCommerce

  • You run the stack. nopCommerce runs on your own servers, whether that is Windows and IIS, Azure App Service, or Linux and Docker, with SQL Server, MySQL or PostgreSQL behind it. Hosting, backups, patching and uptime are yours to manage.
  • Major upgrades are projects. The team ships roughly one major version a year (4.80 in December 2024, 4.90 in October 2025, with 4.90.8 released in September 2026), each on a newer .NET release. Plugins and themes are built for a specific major version, so every custom plugin and every purchased one has to be updated before the store can move.
  • Customization means .NET developers. Changes are made in C# plugins or in the source itself, and the pool of nopCommerce developers is much smaller than the pool of Shopify developers.
  • Security and PCI scope. On a self-hosted store, server hardening and your share of PCI compliance sit with you and your host. Shopify is a PCI DSS Level 1 service provider and runs the checkout itself.
  • Checkout and payments. Shop Pay, accelerated wallets and a checkout that Shopify maintains replace a checkout you keep current yourself.

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.

What migrates from nopCommerce to Shopify

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.

DataSource on nopCommerceMoves to Shopify?
Products with SKUs, GTINs, prices, old prices, costs, stock, weights, images, meta titles and descriptionsCatalog export (XLSX or XML) or the databaseYes. SEO fields carry to Shopify’s title and description fields.
Product attributes and attribute combinationsAttribute mappings in the export; combinations from the database or Web APIYes. Combinations become variants with their own SKU, price, stock and image. See below.
Specification attributesProduct export (advanced mode) or the databaseYes, as metafields with definitions, with filterable ones set up in Search & Discovery.
Categories and manufacturersCategory and manufacturer exportsYes. 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 roleProduct export (advanced mode) or the databaseYes, as B2B catalog pricing or discounts. See below.
Orders with items, taxes, shipping, payment status, refundsOrder export with products, or the databaseYes. Real orders with original numbers and dates, a matching transaction, and refund records where money went back.
Shipments and tracking numbersShipment tables in the databaseYes. Each shipment becomes a fulfillment with its carrier and tracking number.
Customers, addresses, roles, newsletter subscribersCustomer export and subscriber fileYes. Roles become tags or B2B companies; consent comes from the subscriber list.
PasswordsSalted hashes, SHA512 by defaultNo. Shopify cannot import password hashes. Customers reset on first login or use Shopify’s passwordless sign-in.
Gift cards and reward pointsDatabaseGift card balances become Shopify gift cards. Reward point balances move into a loyalty app.
Reviews, blog, news, topicsDatabaseReviews into Judge.me or your chosen app; blog and news posts into Shopify blogs; topics into pages.
Theme, widgets and pluginsApplication filesNo. The design is rebuilt on Shopify and each plugin is mapped to an app, a native feature or custom work, or dropped.

nopCommerce URLs and redirects

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.

Tools

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.

How we run it

  1. Audit. nopCommerce version, hosting and database, stores, vendors, attribute and combination structure, specification attributes, tier prices and roles, URL settings, plugins and integrations. The result is a fixed-price scope.
  2. Build in a free Shopify development store. As a Shopify Plus Partner we build in development stores, so you pay Shopify nothing until launch. Theme, checkout, payments, shipping, taxes and Markets are set up here.
  3. Catalog. Products, combinations as variants, specification attributes as metafields, collections, vendors, images and SEO fields.
  4. Customers. Addresses, roles, consent, tax-exempt status and B2B companies.
  5. Orders. Items, taxes, shipping, transactions, refunds and fulfillments with tracking, under original numbers and dates.
  6. Redirects. Every active and inactive slug, catalog-prefixed and legacy form, tested one by one.
  7. Sample, then full import. A sample of each entity, including refunded, partially shipped and guest orders, for your sign-off, then the full run, reconciled against the nopCommerce tables.
  8. Cutover. DNS moves to Shopify and a delta sync brings across orders and customers created since the full run.
  9. Post-launch SEO evaluation. Once Google has re-crawled the store and the first real analytics are in, we review coverage, 404s, rankings and conversion, and fix what we find.

Cost and timeline

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.

Product attributes versus specification attributes

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.

Customer roles and tier prices

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.

Multi-store to Markets or expansion stores

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.

.NET plugins, custom code and integrations

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.

What you get at handover

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.

Questions we settle in the survey

  • Which nopCommerce version and database are you on, and do we have database access?
  • How many stores are there, and do they share products and customers?
  • Which customer roles have their own prices, and how many?
  • Which attributes are real variants, and which only adjust the price?
  • Which custom plugins and integrations does the business depend on, and which system is the source of truth for stock?
  • Do you need live carrier rates at checkout? That decides the Shopify plan.

Frequently asked questions

Can we keep our nopCommerce order history?

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.

What happens to product attributes and specification attributes?

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.

Can our customer role pricing move to Shopify?

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.

Will customers keep their nopCommerce passwords?

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.

What does a nopCommerce to Shopify migration cost?

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

A nopCommerce migration is four jobs. We do all four.

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.

01 · Data

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.

  • Sample first
  • Reconciled
  • Audited
02 · Storefront

The front end, designed and built

Rebuilt exactly as it is, given a facelift, or redesigned completely. Quoted inside the migration, not as a second project.

  • Pixel-perfect
  • Facelift
  • Redesign
03 · Apps

Every app accounted for

Reviews, search, subscriptions, loyalty, bundles, email. Matched to a Shopify equivalent, dropped where the platform now does it, or rebuilt as a custom app.

  • Klaviyo
  • Reviews
  • Subscriptions
  • Custom apps
04 · Systems

The back office keeps working

ERP, CRM, PIM, 3PL, POS, accounting and EDI, reconnected and tested before cutover. Nobody rekeys orders on launch day.

  • ERP
  • CRM
  • 3PL
  • POS
  • EDI

The first question we ask

Pixel-perfect, a facelift, or a complete redesign?

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.

Route 01

Pixel-perfect

Indistinguishable from the old store, down to the spacing, but rebuilt on a current Shopify theme so it is faster and maintainable underneath.

  • Same look
  • New foundations
Route 02

A facelift

The same structure, better executed: typography, spacing, color, photography, product pages and navigation. The shape your customers know stays put.

  • Keeps the map
  • Modern build
Route 03

A complete redesign

A new storefront, designed as a prototype you click through before a line of Liquid is written, then built on Horizon.

  • Prototype first
  • Horizon
  • Upgradeable

Included with every migration

After go-live, we audit the store again.

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.

Ready when you are.

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.