Imports and exports
Move your store's data into Meisei from a spreadsheet, or take it out again. This page covers how every import and export behaves; the format for each kind of file is on its own page.
Start an import
- Open the list you want to fill (products, customers, orders, reviews or wishlists) and choose Import from its actions menu. Loyalty members are imported with Import members on the loyalty activity list.
- Pick your file. If you're uploading another app's export unchanged, pick that app under Format and Meisei reads it as is.
- Start the import and leave the page if you like. It runs in the background.
- Watch it under Settings → Imports. While a job runs, the list shows how many rows are done out of the total. Meisei counts the total before it starts.
Imports of the same kind run one at a time. Start a second customers import while one is running and it shows Queued until the first finishes.

Import in this order
Orders point at products and customers, and reviews and wishlists point at both, so import in this order or the later files will be full of skipped rows:
- Products
- Customers
- Orders
- Everything else: reviews, wishlists, loyalty
Read the results
Open a finished job under Settings → Imports and it opens on its own page, with counts of the rows processed, created, updated and the problems across the top, and these lists below:

- Problems: every row that was skipped, with its row number and the reason. The first 1,000 are listed, and a last line says how many more there were.
- Notes: things worth knowing that didn't stop a row, such as a column Meisei doesn't import. Shown only when there are any.
- Records: what the import created or updated, each linking through to the item.
The job's type, format and dates are in a Details card on the right. To get back to your jobs, click Imports at the top of the page.
A row Meisei can't read, or that names something Meisei doesn't have, is skipped rather than failing the whole file. A completed job with 300 problems means 300 rows need looking at and the rest are in. Failed means Meisei couldn't read the whole file, because it isn't a CSV or its header row wasn't recognized. A file that's bigger than your plan allows still completes, with the newest rows in.
A file bigger than your plan allows
One import can bring in a set number of rows (5,000 during the free trial; see Every limit by plan). A bigger file doesn't fail. Meisei imports the newest reviews or wishlist items by their date, or the first rows of the file for everything else, skips the rest, and says so in the job's notes. To bring in the rest, split the file, or import it again once your trial ends.
Finished jobs and their files are cleared out after a while, set by your plan. The data they imported stays. See Plans and limits.
Run an import again
Importing the same file twice updates the same items rather than doubling them: a product is recognized by its URL handle, a customer by email, an order by your old platform's order ID, a review by its ID in the app it came from. Fix the rows that were reported, upload the same file again, and only those rows change.
One caution: every column you send overwrites what's stored. Import a file with an empty notes column and you've cleared the notes. Export first, edit that file, then import it back.
The exception is a customer who opted out of marketing email: an import never opts them back in. A row that says they're subscribed is still imported, they stay opted out, and the job lists the row so you can see it. If they've asked to hear from you again, opt them back in on their page.
Export
- Open the list and narrow it with search and filters to just what you want. The export honors the filter that's on.
- Choose Export from the actions menu.
- Download the file from Settings → Exports when the job completes. Open a job to see the search and filter it used, under Records included, and click Exports at the top to go back.
Exports of the same kind run one at a time too. Choosing Export again for the same list and filter while that export is still on its way gives you the same job rather than a second copy. An export stops at your plan's row limit (see Every limit by plan), so export a very large list in parts.

Exports and imports round-trip, so "export, edit in a spreadsheet, import back" is a safe way to bulk-edit.
If something isn't working
Open the job under Settings → Imports to see each problem with its row number. These come up most often, whatever you're importing:
- Hundreds of skipped rows. Usually an ordering problem: the products or customers the rows point at aren't in yet. Import those first, then run the file again.
- An export sits on Processing. An export that can't finish is eventually marked Failed so you can start it again. An export that matched nothing still completes, with an empty file.
Next steps
- Importing products, the first file to send.
- Importing reviews.
- Plans and limits for jobs per day and rows per file.
For developers
Imports and exports are the Import jobs and
Export jobs endpoints, so a nightly import or a recurring export can be
automated. GET /import-jobs/{id}/records lists what a job wrote, paginated and filterable
on action or resource; include=importJob on a customer, product, order, review, wishlist
or loyalty membership returns the import that last wrote it, with its file row. A record
deleted since the import keeps its place in the list as "Deleted record".
For continuous syncing rather than a one-off migration, use the import endpoints on each resource instead: they take JSON, upsert on the same natural keys, and need no file. See Custom integration.