Import and export
Bring products, customers and orders in from a file, and download your store’s data.
In the admin Import and export
Open Import and export in the menu.
Import a file
Moving from Shopify? Shopify’s product export no longer holds stock counts. Import the product export first, then the inventory export (Products › Inventory › Export) as a second import. Stock from all your locations is added up into one count per variant.
Choose a file to import. Storeloom recognises a Shopify product CSV, a WooCommerce, BigCommerce or Magento 2 product export, a Matrixify workbook, or a Storeloom CSV, with commas or semicolons between columns (as some spreadsheets write). Files up to 25 MB. Save a CSV as UTF-8 if you can. A CSV saved another way (such as Excel’s plain “CSV (Comma delimited)”) is read in the usual Windows encoding for your store’s language, and the page says so before anything is imported: check the names it shows.
Before anything is imported, Storeloom reads the file and shows:
- What it holds: Products, Variants, Collections, Photos, Customers, Orders and Blog posts, and the first products as they will look.
- For other platforms' files, how each column maps In the file and In Storeloom, which you can check.
- Suggested clean-ups (such as a search title or picture text), each beside the original, with Your choice.
- Customers and orders are marked Personal data.
Prices in your file are read the same way in every column. Currency signs and spaces are ignored. When a price has both a dot and a comma, the last one is the decimal mark, so 1.299,00 and 1,299.00 are both 1299.00. A price such as 1.299 or 1,299 could mean either 1299 or 1.299, so it is never guessed: the row is left out and Found while reading says so. Write it with its cents (1299,00) and import the file again. A price with more decimals than your currency has (such as 1.265 in euro) is left out too.
Your own spreadsheet? Choose Download template: Storeloom’s product CSV, with the columns the import reads (Storeloom Version, Handle, Title, SKU, Price and more). Put your products in its columns and import it. A spreadsheet whose columns Storeloom does not recognise is not imported: the page names its columns and offers the template.
Importing a file again? Before anything happens, the preview says how many of its products are Already in your store, by the same address, and how many customers by the same email. Those are left as they are: their prices, stock and text do not change. To change them, use Bulk edit on Products. When an import added nothing, it says Nothing was added to your store, so there is nothing to undo.
Choose Continue to import. You can follow the progress, and an import that stops can continue where it stopped. Undo the whole import removes everything it created, in one step, except customers who have ordered since and orders that were shipped, paid or changed since: the question says so first, and afterwards each one kept is listed with the reason. After a customer import, See your customers opens the customer list; after an order import, See your orders.
A theme export (the ZIP file of your old store’s theme) becomes a design to preview, apply or discard (see Migrate a store). Theme exports can be up to 30 MB; a larger one is refused with The theme export is larger than 30 MB, the most it can be.
Import historical orders from Storeloom
Import order history reads orders.json or the orders part of a Storeloom export.zip, up to 25 MB and 50,000 orders; the orders.json inside a ZIP may also be at most 25 MB once unpacked. For a larger history, split orders.json into several files and import them one after another. Uploading creates a plan only. The original order ids are used to recognise repeat uploads; internal ids and payment credentials are never copied into the destination.
For each source market, choose a Target market and an optional Import language. A blank language preserves the source language, which must be enabled in this store. A market from another store needs an explicit destination; choosing Store default is allowed. Choose Apply in the bar at the top to save the settings, then choose Run dry run.
Imported orders are named the way your store names its orders (Settings › General › Order numbers), the same as orders imported from another platform’s file. An order keeps its old number when your store has not used it; otherwise it gets your next number. Its old name stays on the order as where it came from.
The dry run continues in the background and shows how many orders are ready, already imported or need fixing. It reports unmapped markets, disabled languages and invalid rows. Correct invalid source rows in the file and upload it again. Orders are not written by the dry run.
When the report has no problems, choose Start history import. The worker imports in batches even if you close the page. Open Import and export again to see its progress. Repeat uploads keep the already imported orders: an order is imported once. If your store changed after the dry run (a market removed, a language switched off), the orders it now refuses are skipped and the import ends Done with problems with how many were skipped and why. Existing customers are matched by email, or by an unambiguous exact phone; otherwise a customer is created. Purchase history gives no new marketing consent.
Historical orders keep their dates, currency, money totals and taxes, market, language, line snapshots and delivery state, including returns to sender and refused deliveries. A refunded order counts as refunded in your analytics and in what its customer spent. An order still to ship can be shipped from its page, and one that was shipped can go on a return. Importing sends no customer emails, moves no stock and creates no fulfillment requests. It does not connect the old store’s payment sessions or apps.
Cancel history import stops future batches; completed batches remain. The whole import is one entry in Change history, including customers it created. Cancel a running import before undoing it. An import already undone cannot be restarted; upload a new plan if you want to import it again. Undo leaves the orders that were shipped, refunded or changed since (a return, a comment, an edit, a hold, a file or a payment on it counts too), and the customers who have other orders, store credit, a gift card of their own or a subscription.
The uploaded orders are kept only until the import is done or cancelled, then deleted. Deleting a customer also removes their details from an import that has not finished.
Export your store
Export your store downloads a copy of your store’s data: products, collections, content, the live theme, discounts, customers and orders, as you choose. The card lists each part with its number of rows before you download. A part with more than 50,000 rows is too many for one file: it is listed under Not in your export with that reason, and everything else is still exported. Such a part comes in pieces instead: the card says how many, with a Piece 1, Piece 2 and so on button for each. Each piece is its own download, with up to 50,000 rows of each of the part’s tables as JSON, so all the pieces together hold all of it. Test orders are left out unless you tick Include test orders (see Test orders).
Products export
Products › Export downloads every product in Shopify’s product file format, which Import reads back: its type, brand, tags, options, prices, compare-at prices, costs, stock settings, barcodes, part numbers, Google category and condition, unit pricing, weight and customs, search listing and pictures. Exporting and importing the file into an empty store gives the same products.
Weight and customs in your files
Product exports carry Variant Grams (the weight in grams), Variant Weight Unit (the unit it is shown in), Variant HS Code and Variant Country of Origin, and imports read them from a Shopify export. A row with grams but no unit is shown in your store’s weight unit (Settings › General) when that keeps its grams exactly, and otherwise in kilograms or grams, so the file’s grams are kept as they are: 1000 g stays 1000 g rather than becoming 2.205 lb. A value that does not read right is left out, and the product still imports.
Order exports end with the weight: Total weight in the file with one row per order, and Lineitem weight (one item’s) in the file with one row per item, in your store’s weight unit, which the column’s name says, such as Total weight (lb).