Migration is part of the Volume plan. On Volume our team can also run
the whole import for you, free: open a support ticket and we take it from
there. You follow every step in your dashboard.
What comes over, and what never happens
Run an import
1
Pick where you are moving from
In the sidebar, under Catalog, open Import and choose Gumroad,
Lemon Squeezy, Stan Store or Another platform.
2
Add your data
Connect your account with a personal API token (Gumroad and Lemon
Squeezy), upload the platform’s CSV exports, or both. The token is
used once to read your data and is never stored.
3
Review
Each file shows the columns we matched to each field and every row with
its errors (an invalid email, a missing product name, an unpaid order, a
duplicate). Fix a wrong column in Column mapping: every row is checked
again. Rows with errors are left out, the rest are ready.
4
Dry run
See exactly what the import will create, what is already in your store
(skipped), and what is left out — before anything is written.
5
Import
The import runs in the background; you can close the page. If anything
interrupts it, it picks up where it stopped. Running it twice never
creates anything twice.
6
Report
Imported, skipped and not-imported counts per kind of data, the products
that still need their file (with a link to upload it), and a row report
(CSV) with every row that was not imported cleanly and why.
Where to find each export
Columns we recognise
Column names are matched without caring about case or punctuation (Sale Price ($) reads as sale price). A column is used for one field
only. Anything else is ignored, and you can always change the mapping.
Gumroad — sales CSV (purchase history)
Gumroad — sales CSV (purchase history)
Purchase ID → order ID · Item Name → product · Buyer Name → name ·
Purchase Email → email (required) · Purchase Date → date ·
Sale Price ($) → amount · Country · Fully Refunded? → refunded ·
Product IDGumroad — followers export (subscribers)
Gumroad — followers export (subscribers)
Email (required) · Name · Followed At → subscribed onLemon Squeezy — orders export (purchase history)
Lemon Squeezy — orders export (purchase history)
Identifier → order ID · Customer Email (required) · Customer Name ·
Product Name (required) · Total → amount · Currency · Status
(pending, failed orders are left out) · Refunded · Created AtLemon Squeezy — customers export (customers, subscribers)
Lemon Squeezy — customers export (customers, subscribers)
Email (required) · Name · Country · Status → subscribed is an
opt-in, unsubscribed / bounced keep that status, archived and
requires_verification are left out (no consent) · Created AtStan Store — customers and income exports
Stan Store — customers and income exports
Customers:
Name · Email (required) · Country · Date Joined.
Income: Order Date · Product (required) · Customer Name ·
Customer Email (required) · Amount · Status · Order IDAny CSV
Any CSV
Products:
Name/Title (required), Description, Price or
Price (cents), Currency, Image URL, Download URL, Product URL.
Customers: Email (required), Name or First name + Last name,
Country. Purchases: Email and Product (required), Amount,
Date, Order ID, Refunded. Subscribers: Email (required), Name,
Status, Do not contact, Tags.Limits and checks
- Up to 10 MB and 50,000 rows per file; split bigger exports.
- Product files are downloaded only from public
https://links, up to your plan’s upload size, and only for deliverable file types (documents, archives, audio, video, images, fonts, design and 3D files). Web pages, expired links and other types are marked file needed with the reason. - Prices and amounts become cents (
$1,049.50,12,00and1049.5all read correctly). A price in another currency is imported with a warning: check it before publishing. - New subscribers count toward your plan’s subscriber limit; the dry run says how many would go over it.
- Source rows are kept 90 days for the row report, then deleted.
API, MCP and white-glove
Every step is in the public API (/migrations, with an API key) and the MCP
server (create_import_job, dry_run_import_job, start_import_job,
get_import_job, get_import_report …). See the
Migrations API reference.