Commerce Migrate is a general-purpose migration framework extending Migrate Module for bringing store information into Drupal Commerce.

  • Migrate destination field handlers for commerce fields (reference fields, price field)
  • Migrate destination plugin for commerce product types.

Drupal 8

This module provides Migrate plugins for core's Migrate module. This allows you to import remote data into your Drupal Commerce site or migrate from other e-commerce platforms.

  • Migrate destination plugins for commerce product types, default store and profile.

Supported platform migrations:

  • Drupal Commerce 1.x
  • Migrations for profile billing, currency, default store, orders, product, product variation and payment.
    Test coverage for migrations and a complete end to end migration.

  • Ubercart 2.x (Drupal 6)
  • Migrations for attributes, billing profile, currency, language, orders, payments, product and product variation, store and tax type. And support for migrating translated products.
    Test coverage for migrations and a complete end to end migration.

  • Ubercart 3.x (Drupal 7)

These have test coverage for basic migration needs within the module, using sample datasets.

There are plans to provide migration templates and plugins for WooCommerce and Magento.


We are working towards a new release on the 2nd Wednesday of the month, to sync with the Commerce 2 releases.


Drupal 7

Commerce Migrate depends on Migrate Extras for Entity API and Address Field integration.

Commerce Migrate Ubercart, formerly a submodule, has moved to its own project. It can migrate 6.x and 7.x Ubercart stores from either the existing Drupal database or a remote database.

When should you use Migrate/Commerce Migrate vs Feeds/Commerce Feeds?

In general, you'll use Feeds and Commerce Feeds when there's a one to one mapping between the input data and the entities you're importing. So Feeds is fantastic for importing products from a CSV file, for example. For Commerce Feeds see this article/screencast. It's not very strong in transforming data on the way in though. Much of the time a feeds migration can be done without touching any code.

Migrate and Commerce Migrate, in general, know how to transform things mightily, with the full power of SQL and PHP, on the way in. So you *can* do something like an Ubercart to Commerce migration, and you can solve the problems of a specific migration. So Migrate is the solution for more complex migrations, and it's the home of Commerce Migrate Ubercart, which solves some of the Ubercart migration issues. There's an article/screencast on that here. Much of the time a *migrate* migration will require writing PHP code.


Supporting organizations: 
Maintenance and development
Sponsored D8 port

Project information