DrPlugin

Migrate from another store

Updated October 30, 2026

Move products, customers, orders and license keys from Easy Digital Downloads, License Manager for WooCommerce or SureCart. This needs TierMint Pro.

Open the Migrate screen

Open TierMint → Migrate. You need the manage_tiermint capability, which administrators have.

The screen lists the three sources TierMint Pro can read: Easy Digital Downloads, License Manager for WooCommerce and SureCart. A source it can read shows how many products, customers, orders, licenses and activations it found, with a Preview import (dry run) button. A source it cannot read shows the reason instead.

The Migrate screen listing Easy Digital Downloads with its record counts, and two sources that cannot be read yet

Run a migration

  1. Click Preview import (dry run) on the source. The preview runs the whole import but writes nothing.
  2. Check the counts. For each type of record the table shows how many were processed, and how many would be created, are already imported, would be matched to an existing record, or cannot be mapped.
  3. Click Run the import. The import runs in the background in batches of 50 records (SureCart reads 100 at a time), and the screen shows which type it is importing. Keep the page open until the report appears: the progress and the report show only on this screen and cannot be opened again after you leave. A run that stops part way resumes from where it was.
  4. When the import finishes, the verification report appears under the progress table. Click Back to sources to return to the list.

The dry-run preview with counts for each type of record and the Run the import button

Only one migration runs at a time. Starting a second one while the first is still running shows "A migration is already running. Wait for it to finish before starting another."

Running an import again is safe. Each imported order and license carries a marker that names its source record. Customers are matched by email address and products by slug. A second run creates no duplicates: records an earlier run imported count as already imported, and a product linked by slug to one that was already in TierMint counts as matched again.

Read the verification report

The report compares what the source holds with what happened to each record.

Column What it counts
In source Records of this type in the old store.
Created Records this import created in TierMint.
Already imported Records an earlier run had already imported. It also counts a customer whose email address already exists in TierMint, and an activation that already exists.
Matched Products linked to a product already in TierMint with the same slug. Only products count here, and a product matched by slug shows as matched on every run.
Unmappable Records the import skipped. Each one is listed with its reason.
Reconciled Yes when the four counts add up to the source count.

The verification report after an import, with matching record counts and a spot-checked license key

Below the table, the report lists every matched or skipped record under a heading such as "Licenses that need attention", with the reason. Spot-checked licenses shows the five most recently imported licenses on the site, read from TierMint, with each key, expiry date and activation count. It does not compare them with the source. When imported orders carried tax but no country, the report shows how many there are, but does not list them, because TierMint does not guess a country. Find those orders yourself. They do not appear in the flagged orders of VAT reporting.

Reason What to do
The license key is longer than 35 characters Shorten or reissue the key in the old store, then import again.
The product or order the record belongs to was not imported Check why the parent record was skipped. Fix it and import again.
The customer the record belongs to could not be resolved Check the customer's email address in the old store, then import again.
A License Manager for WooCommerce key could not be decrypted on this site Keep License Manager for WooCommerce active, or reissue the key in the old store.
The original order a refund belongs to was not imported The refund cannot be linked. Import the original order first.
A product with this slug already exists on your store The record was linked to that product. Check that it is the right one.
The license an activation belongs to was not imported The activation was skipped. Fix the license, then import again.
The import marker could not be saved The record was rolled back to avoid a duplicate. Import again.
An unexpected error skipped this record The record was skipped. Check it in the old store, then import again.

If the source keeps failing to answer, the import retries the same batch up to five times and then stops with a message. Check the source, then start again: records already imported are skipped.

What the import brings across

Record What TierMint imports
Products Name, slug, description, status and pricing tiers. Imported tiers are one-time tiers. A product whose slug already exists in TierMint is linked, not created again.
Customers One customer per email address. An existing TierMint customer with the same email is reused.
Orders Status, totals, tax and original dates. Each order keeps its own currency. Easy Digital Downloads orders also bring the discount amount and refunds linked to their original order.
Licenses The key, unchanged, with its status, expiry date, activation limit and activation count.
Activations The sites each license is activated on.

Tiers imported from License Manager for WooCommerce and SureCart have unlimited activations. Easy Digital Downloads tiers take the download's licensing setting, where 0 means unlimited. The product editor shows an unlimited tier's activation limit as 0, and saving keeps it unlimited.

What the import leaves out

Subscriptions are not imported. A live subscription is a billing agreement with the old store's payment gateway, and that agreement cannot move. The customer's license is imported with its current expiry date, so it keeps working until then. Before it expires, ask the customer to subscribe again in TierMint. The subscriptions guide covers recurring tiers.

Discount codes are not imported. A discount on a past order stays in that order's totals, but the reusable codes are not created again. Create the ones you still need under TierMint → Discounts.

License keys longer than 35 characters are skipped. TierMint stores keys up to 35 characters, and a shortened key would no longer work, so the report lists the key for you to reissue.

Prices are not converted between currencies. Set your TierMint store currency to the old store's currency before you import.

Easy Digital Downloads

TierMint reads an Easy Digital Downloads 3.x store straight from its database tables. You do not export anything. It also reads EDD Software Licensing licenses and activations when that add-on's tables exist.

The import covers published, draft and private downloads with their price options (private downloads arrive as drafts), the customers, the orders, and each license with its active sites. A license's activation limit comes only from the download's licensing setting, where 0 means unlimited. It can differ from the limit on the license in the old store.

If the EDD 3.x tables are missing, the source shows "The Easy Digital Downloads 3.x tables were not found on this site."

License Manager for WooCommerce

License Manager for WooCommerce stores its license keys encrypted. TierMint does not include a way to decrypt them, so it asks the License Manager plugin to decrypt each key.

A single key that cannot be decrypted is skipped and listed in the report, so you can handle it by hand. TierMint never stores the encrypted text as a key.

TierMint imports the WooCommerce products and orders that your licenses refer to, and the buyers of those orders. It reads orders from either WooCommerce order storage: the classic posts tables or High-Performance Order Storage. It reads shop orders only, so orders arrive with no discount amount and no refunds.

SureCart

SureCart keeps its store data on its own service, so TierMint reads it through the SureCart API with your secret API token.

  1. Copy the secret API token from your SureCart dashboard.
  2. On the SureCart card, paste it into SureCart secret API token.
  3. Click Save token.

TierMint stores the token encrypted and checks that it can reach SureCart. The card then shows the record counts. If SureCart cannot be reached with the token, the card says so and keeps the field, so you can save a corrected token.

SureCart orders bring their discount amount. A refunded order gets the refunded status, but no refund is linked to it. Archived products arrive as archived.

SureCart is read page by page while the store is live, so records added or changed during the import can shift the counts. Check the Reconciled column in the report.

After the migration

Imported orders that carry tax and a country get the same tax records as new orders, so they show in the VAT report for the quarter they were placed in. If you already filed that quarter from the old store, do not file it again from TierMint. The VAT reporting guide explains the report.

Ask your subscribers to subscribe again in TierMint before their imported licenses expire.

Test one imported key on a test site. It validates and activates like a key TierMint issued, within its activation limit. Its existing activations count toward that limit.