Bulk catalogue management is unavoidable once you have more than a hundred products — a week of supplier price updates or a seasonal sale would take days of manual clicking. PrestaShop’s Import/Export system handles it via CSV files and covers products, categories, customers, addresses, manufacturers and more. This guide shows the CSV format UK merchants use on SmartXHosting, common encoding pitfalls, handling of images and the most common validation errors.
When CSV beats clicking • Export to get a template • Product CSV structure • Import step by step • Updating prices and stock at scale • Images in bulk imports • Validation errors • FAQ
Four scenarios make CSV import the right tool:
Always start with an export. Advanced Parameters › Database › SQL Manager or Catalog › Products › Export (depending on the version and extensions). PrestaShop 9 also has a dedicated Import Module with export companion.
Export downloads a CSV with one row per product and columns matching PrestaShop attribute codes. Open in Excel, Google Sheets or LibreOffice Calc. For UK users with pound signs and accented characters, save as UTF-8 — not Windows-1252 or ASCII — to avoid mojibake.
Key columns and their format:
| Column | Format | Notes |
|---|---|---|
| ID | Integer (blank for new) | Leave blank to create; fill to update. |
| Active | 0 or 1 | 1 = enabled. |
| Name * | Plain text | Asterisk denotes per-language column; use Name en for English. |
| Categories (x,y,z) | Comma-separated category names or IDs | Hierarchy: “Home,Womens,Jumpers”. |
| Price tax excluded | Decimal | Net price. PrestaShop calculates tax-inclusive based on Tax Rule. |
| Tax rule ID | Integer | UK VAT rule ID (usually 1 after UK localisation pack). |
| Wholesale price | Decimal | Your cost. Not shown to customers; used for margin reports. |
| On sale (0/1) | 0 or 1 | Shows “On sale” badge. |
| Discount amount / percent | Decimal | Together with Discount from/to dates. |
| Reference | Your SKU | Unique identifier. |
| Weight | Decimal (kg) | For weight-based shipping. |
| Quantity | Integer | Stock level. |
| Short description * | Plain text or HTML | Per-language. |
| Description * | HTML | Per-language. Keep HTML clean — PrestaShop strips some tags. |
| Meta title / description / keywords * | Per-language | SEO fields. |
| Image URLs (x,y,z) | URL list | Download and attach on import. |
| Delete existing images (0/1) | 0 or 1 | 1 clears images before upload. |
Advanced Parameters › Import:
For routine updates, export a minimal subset: ID, Reference, Price tax excluded, Quantity. Edit in Sheets. Re-import with “Force IDs” ticked and only those columns present — PrestaShop preserves other fields. Result: a quick nightly sync without risk to descriptions or images.
Two approaches for images:
The first image in the list becomes the product cover. Subsequent images are gallery additions. Use descriptive filenames — they feed SEO-friendly alt text when the caption is blank.
Common errors and fixes:
PrestaShop hosting for heavy catalogue work
SmartXHosting PrestaShop plans include SFTP for bulk image uploads, cron for scheduled imports and UK-based support for CSV format help.
See PrestaShop plansQ: Can I import combinations (size/colour) via CSV?
A: Yes, via a second dedicated import type. Advanced Parameters › Import › What are you importing?: Combinations. The CSV has product_id, attributes, quantity, price impact, reference per combination.
Q: What encoding should I use?
A: UTF-8. Excel on Windows default is Windows-1252 which breaks accented characters and pound signs. Save explicitly as “CSV UTF-8” in Excel, or use LibreOffice/Google Sheets which default to UTF-8.
Q: Does import overwrite existing products?
A: Only if you provide IDs and tick “Force IDs”. Otherwise, products without IDs become new, and products with existing-reference matches get updated if you tick that option.
Q: How do I delete products in bulk?
A: Not via import. Use the Products list, filter, tick rows, Bulk Actions › Delete.
Q: Can I schedule imports via cron?
A: Core PrestaShop runs imports from the Back Office UI, but a module called Automatic CSV Import adds cron support. SmartXHosting can deploy cron-triggered import scripts as part of a support arrangement for supplier-feed setups.
Q: Why does my import stop at 80%?
A: Usually PHP memory or execution-time limit. SmartXHosting PrestaShop plans have generous defaults (512 MB memory, 300s execution time) but very large imports (10k+ rows with images) may need higher. Open a support ticket for temporary increase.
Q: Can I preserve order history when reimporting products?
A: Yes — as long as the product ID/reference stays stable. PrestaShop links orders to the product record by ID.