Where is it going?
How to export from PrestaShop
- In the PrestaShop back office, go to Catalog, then Products.
- Set the filters on the product list: the export holds only the products that match them. Clear them to export everything, or filter the Status column to Yes to leave disabled products out.
- In PrestaShop 8.1 up to 8.2.1, the export holds only the products on the current page of the list, which shows 20 by default. Show all your products on one page first, or export page by page. PrestaShop 1.7, 8.0 and 8.2.2 or later export every product that matches the filters.
- Open the product list's actions menu, the one that also holds "Export to SQL Manager", and click Export. You get a file named product_ followed by the date and time, ending in .csv.
- Upload the file as it was downloaded. Its columns are separated by semicolons, which the converter reads.
What to know about PrestaShop files
- This is PrestaShop's product list, not a full catalog export. It has no descriptions, summaries, extra images, combinations, weights, EAN13 or other barcodes, brands, tags, features, SEO fields or discounts, so none of those move. Every converted file says so.
- Combinations are not in the file. A product with combinations becomes one product with no options, its own price and the total stock of all its combinations (PrestaShop keeps that total for the product). Add the options in the new store.
- The export does not say which products are enabled, and it includes disabled ones unless you filtered the list. So every product is written as a draft (hidden), with a note. Publish the ones you sell after import.
- PrestaShop exports two prices. The converter uses the price before tax, the price PrestaShop asks you to set (in 8.1 and later this column includes any ecotax). If your new store shows prices including tax, choose "Including tax" under "PrestaShop price to use" before you download. Prices before tax with more than 2 decimals (PrestaShop stores them that way when a price was typed including tax) are rounded to cents and listed.
- In PrestaShop 1.7 and 8.0, the price including tax is worked out with the default combination's price impact, so for a product with combinations it can differ from the price before tax plus tax. The converter says so when you choose it.
- In PrestaShop 8.1 and later, the image column links a small version of each product's cover image (a file ending in -small_default.jpg). The converter links the full-size file at the same address instead (12-small_default.jpg becomes 12.jpg); PrestaShop's standard image folder settings let anyone open it. Open one link before importing. Products without a cover image, where PrestaShop links its "no image" picture, get no image.
- Only the main (default) category is in the file, by name, not as a path. Shopify files get it as the product type (the Type column) and WooCommerce files as the product category. Other categories are not in the export.
- Column names follow your back office language, except Product ID. The converter recognises the file by Product ID, the number of columns and the semicolons PrestaShop always writes between them, and when the names are not in English it also checks that the first rows hold a plain price and an image link. It reads the columns in the order PrestaShop writes them, so a back office in French, Spanish, Italian, Polish or another language is read the same way. A file opened and saved again with commas instead of semicolons is not recognised; upload the file as PrestaShop saved it.
- An orders, customers or categories export from the same back office is refused with a message when its column names are in English, so the wrong file is not converted by mistake.
- Built from PrestaShop's own source code (the product list export in 1.7.8, 8.1.7 and 9.0.0) and its user guide. PrestaShop publishes no sample export and no real export was used. It was not tested by importing into a live store.
Only products move. Customers, orders, reviews, gift card balances, blog posts, pages and URL redirects are not in a product export, so CatalogHop does not convert them.
Questions
- How do I move my PrestaShop products to Shopify or WooCommerce?
- Export your products from PrestaShop as a CSV with the steps on this page, drop the file into the converter and pick Shopify or WooCommerce. The file is converted in your browser, and you download a CSV in that importer's layout. Import a few products first and check them before importing the rest.
- Why are descriptions and combinations missing after converting my PrestaShop export?
- PrestaShop's product export has 8 columns only: ID, image, name, reference, category, two prices and quantity. Descriptions, combinations, weights and barcodes are not in it, so there is nothing to carry over. A product with combinations comes over as one product with its total stock; add the options in Shopify.
- Which PrestaShop category does WooCommerce get?
- Only the main (default) category of each product is in the export, by name. It becomes the product's WooCommerce category. Other categories are not in the file.
- Does it move customers, orders or reviews?
- No. Only products move. Customers, orders, reviews, gift card balances, blog posts, pages and URL redirects are not in a product export, so CatalogHop does not convert them.
- Is my file uploaded anywhere?
- No. The page reads the file with your browser and converts it there. The only thing the site records is an anonymous count: which converter was used, a rough row count, and whether it worked. The privacy page lists every field.
Sources
- PrestaShop 8.1.7, product list export (ProductController exportAction): https://github.com/PrestaShop/PrestaShop/blob/8.1.7/src/PrestaShopBundle/Controller/Admin/Sell/Catalog/Product/ProductController.php#L730-L765
- PrestaShop 9.0.0, product list export (exports every matching product): https://github.com/PrestaShop/PrestaShop/blob/9.0.0/src/PrestaShopBundle/Controller/Admin/Sell/Catalog/Product/ProductController.php#L826-L864
- PrestaShop 1.7.8.11, legacy product list export (ProductCsvExporter): https://github.com/PrestaShop/PrestaShop/blob/1.7.8.11/src/Core/Product/ProductCsvExporter.php#L66-L97
- PrestaShop 1.7.8.11, legacy product list data (prices, image link, Status column): https://github.com/PrestaShop/PrestaShop/blob/1.7.8.11/src/Adapter/Product/AdminProductDataProvider.php#L230-L396
- PrestaShop 8.1.7, CSV writer (semicolon separator): https://github.com/PrestaShop/PrestaShop/blob/8.1.7/src/PrestaShopBundle/Component/CsvResponse.php#L222-L271
- PrestaShop 8.1.7, product list data (small_default image link, "no image" picture, formatted prices): https://github.com/PrestaShop/PrestaShop/blob/8.1.7/src/Adapter/Product/Grid/Data/Factory/ProductGridDataFactoryDecorator.php#L185-L243
- PrestaShop 8.1.7, product list query (default category, price plus ecotax, stock): https://github.com/PrestaShop/PrestaShop/blob/8.1.7/src/Core/Grid/Query/ProductQueryBuilder.php#L93-L130
- PrestaShop 8.1.7, product image file names: https://github.com/PrestaShop/PrestaShop/blob/8.1.7/src/Adapter/Product/Image/ProductImagePathFactory.php#L78-L157
- PrestaShop 8.1.7, image folder access rules (img/.htaccess): https://github.com/PrestaShop/PrestaShop/blob/8.1.7/img/.htaccess
- PrestaShop 8.1.7, product list Status column and filter, Export and Export to SQL Manager actions: https://github.com/PrestaShop/PrestaShop/blob/8.1.7/src/Core/Grid/Definition/Factory/ProductGridDefinitionFactory.php#L622-L659
- PrestaShop 1.7.8.11, product list toolbar (Export, Export to SQL Manager): https://github.com/PrestaShop/PrestaShop/blob/1.7.8.11/src/PrestaShopBundle/Resources/views/Admin/Product/CatalogPage/Blocks/tools.html.twig#L38-L49
- PrestaShop 8.1.7, product list default page size (20): https://github.com/PrestaShop/PrestaShop/blob/8.1.7/src/Core/Search/Filters/ProductFilters.php#L44-L52
- PrestaShop 8.1.7, product total stock is the sum of its combinations (StockAvailable): https://github.com/PrestaShop/PrestaShop/blob/8.1.7/classes/stock/StockAvailable.php#L523-L531
- PrestaShop 1.7.8.11, price including tax uses the default combination (Product priceCalculation): https://github.com/PrestaShop/PrestaShop/blob/1.7.8.11/classes/Product.php#L3784-L3787
- PrestaShop 8.1.7, orders list export: https://github.com/PrestaShop/PrestaShop/blob/8.1.7/src/PrestaShopBundle/Controller/Admin/Sell/Order/OrderController.php#L357-L403
- PrestaShop 8.1.7, customers list export: https://github.com/PrestaShop/PrestaShop/blob/8.1.7/src/PrestaShopBundle/Controller/Admin/Sell/Customer/CustomerController.php#L787-L830
- PrestaShop 8.1.7, categories list export: https://github.com/PrestaShop/PrestaShop/blob/8.1.7/src/PrestaShopBundle/Controller/Admin/Sell/Catalog/CategoryController.php#L705-L732
- PrestaShop 8 user guide, Managing Products (price tax excluded, main category): https://docs.prestashop-project.org/v.8-documentation/user-guide/selling/managing-catalog/managing-products