Instant digital delivery — download your purchase immediately after checkout.
Digital Web Asset

Shine WooCommerce to Opencart

Info & Tutorial

WOO TO OPEN CART — INFO & TUTORIAL (Current version: 1.2.9) WHAT IT DOES Woo to OpenCart moves your entire product catalogue from WooCommerce to OpenCart in one import. Install it in your OpenCart admin, upload the standard WooCommerce products export, and the importer rebuilds everything for you: - Products with names, descriptions and SEO fields - Regular prices, sale prices and sale date ranges - Stock quantities and stock status (sold-out stays sold-out) - Categories - including full "Parent > Child" hierarchies, created automatically - Brands / manufacturers - Attributes ("Attribute 1 name / values", "Attribute 2", ...) - Tags and SEO keywords (a unique SEO URL is generated for every new product) - Images - downloaded from WooCommerce onto your own server (first image = main image, the rest = additional images) - Variable products - WooCommerce variations become real OpenCart options (Size, Colour, ...) that customers can pick on the product page COMPATIBILITY - OpenCart 3.0.2 - 3.0.3.8 -> use the OpenCart 3 package - OpenCart 4.0.x / 4.1.x -> use the OpenCart 4 package - PHP 5.6 - 8.4, MySQL 5.5+ - For remote images: cURL or allow_url_fopen enabled (mbstring recommended) Not for OpenCart 1.x / 2.x. WHAT'S IN THE DOWNLOAD - Opencart3x.ocmod.zip - install this on OpenCart 3.0.x - Opencart4x.ocmod.zip - install this on OpenCart 4.x - Documentation.pdf - the full manual PART 1 - INSTALL ON OPENCART 4 1. Log in to the admin and open Extensions > Installer. 2. Upload Opencart4x.ocmod.zip. 3. In the Installed Extensions list, click the blue install button on its row (OpenCart copies the files and registers the extension). 4. Open Extensions > Extensions, pick "Modules" in the type filter, find "Shine WooCommerce Importer" and click the green + (Add). This registers the module, creates its helper table and sets the admin permissions. 5. Click the edit (pencil) button to open the importer. PART 2 - INSTALL ON OPENCART 3 1. Open Extensions > Installer and upload Opencart3x.ocmod.zip. 2. Open Extensions > Modules, find "Shine WooCommerce Importer" and click the green + (Install). 3. Click Edit (pencil) to open the importer. PART 3 - EXPORT YOUR PRODUCTS FROM WOOCOMMERCE 1. In WordPress go to Products > All Products > Export. 2. Set Columns to "All columns" and click "Generate Export" / "Export All Products". 3. Download the .csv and upload it exactly as WooCommerce produced it - do not open and re-save it in Excel (Excel can silently change encoding and prices). IMPORTANT: use the FULL export. A "custom" export with only some ticked fields is rejected, because the importer needs Name plus either SKU or ID to identify every row, and the Type / Parent / Attribute columns to build variations. If your products have no SKUs at all, the ID column alone is enough (models become WOO-<id>), so every shop can be migrated. PART 4 - IMPORT INTO OPENCART STEP 1 - UPLOAD Upload the CSV, choose your import options and the batch size, then press Upload. At this point only the header row is read, so this stays fast even for very large catalogues. The file is stored outside the web root. STEP 2 - COLUMN MAPPING Every detected column is shown field by field with a green "Mapped" or a grey "Not found" label. Grey fields are simply skipped. Required: Name, and SKU or ID. Matching is case-insensitive and aliases are understood automatically ("Regular price" = "Price", "Weight (kg)" = "Weight", etc.). STEP 3 - IMPORT Press "Start import". The browser fetches the file in small batches (default 25 rows per request, up to 200), so PHP time and memory limits are never a problem - even 100,000+ row files import reliably on shared hosting. While it runs you see: - a progress bar with processed / total rows - live counters: added / updated / skipped / failed - a scrolling log with one line per product - a final summary, e.g. "182 added, 14 updated, 3 skipped, 1 failed." "Start over" deletes the temporary file so you can upload a different export. IMPORT OPTIONS EXPLAINED - Update existing products (default: ON) A product with the same SKU or Model is updated instead of duplicated. OFF = existing products are skipped, so duplicates are impossible. - Create missing categories (default: ON) Missing categories, including "Parent > Child" paths, are created automatically. OFF = products only link to categories that already exist. - Download remote images (default: ON) http(s) image URLs are downloaded into image/catalog/woo/. Local paths that already exist inside image/ are always used as they are. - Import product attributes (default: ON) Fills OpenCart attributes from the "Attribute N name / value(s)" columns (multiple values separated by |). - Import variations as product options (default: ON) Variable products become one product with selectable options built from their variations. OFF = every CSV row becomes a standalone simple product. - Generate SEO keywords (default: ON) Every NEW product gets a unique SEO URL. Existing URLs are never modified. - Batch size (default: 25) Rows per request. Lower it on slow hosting, raise it for speed. WHAT EXACTLY GETS IMPORTED Name -> product name + meta title Short description -> meta description Description -> product description Regular price / Sale price (+ start/end dates) -> price / special price Stock -> quantity (stock management off = stays orderable) In stock? -> stock status; out-of-stock items really are unbuyable Published (Status) -> enabled / disabled (drafts and private stay hidden) SKU -> model + SKU (fallback model WOO-<id> from the ID column) Categories -> linked to every level of the path; "Uncategorized" ignored Tags -> tags + meta keywords Images -> main + additional images, downloaded and validated Weight (kg), L/W/H (cm) -> weights and dimensions with the right units Brands / Manufacturer -> manufacturers Attribute N name / value(s) -> product attributes Tax classes, shipping classes, upsells and purchase notes are safely ignored - unknown columns can never break the import. VARIABLE PRODUCTS (VARIATIONS -> OPTIONS) A WooCommerce variable product exports as one parent row (Type = variable) followed by its variation rows. The importer turns the parent into ONE OpenCart product and every variation into an option value with its own price, stock, weight, SKU and image - customers pick Size/Colour on the storefront exactly like in WooCommerce. Groups are imported atomically: if one variation fails, the whole product rolls back and is reported. "Any Size / Any Colour" variations are applied to every value the parent declares, and the product price becomes the cheapest combination, so option prices add up correctly. WHY IT IS SAFE TO RUN - AND RE-RUN - Duplicate protection: SKU and Model are checked before every write. Importing the same export twice UPDATES your products instead of duplicating them. - Per-product transactions: a bad row rolls back only that product and the import continues with the next one. - Your manual work is respected: on update only commercial fields (price, stock, status, images, ...) are refreshed. Settings you configured by hand (tax class, minimum quantity, sort order, ...) are not overwritten. - Downloaded images are remembered, so a re-import never downloads the same picture twice. TIPS FOR A SMOOTH MIGRATION - Back up your database before the first import, and try it on a staging copy first. - Always export with Columns: All columns. - Big catalogue or slow hosting? Lower the batch size. - Import interrupted or partially done? Just run it again - imported products are updated and the rest continues. - Only .csv and .txt files are accepted. Re-export instead of renaming a file. TROUBLESHOOTING "Invalid file format" Only .csv / .txt are accepted - re-export instead of renaming the file. "Missing the required column(s): SKU / ID" The export was a custom one. In WooCommerce use Products > Export with Columns: All columns, then import that file. "The file could not be uploaded (error code 1)" The CSV is larger than upload_max_filesize / post_max_size. Raise both in php.ini or split the export. The import stalls at a certain row Lower the batch size or raise the PHP time limit. Already imported rows are kept. "Skipped variation row: the parent product ... was not found" The parent is not part of this export. Import the parent first and run the import again - the variations will attach automatically. Anything else: check system/storage/logs/error.log for row-level details. FAQ Q: Does it import orders, customers or coupons? A: No - it migrates the product catalogue (products, options, categories, brands, attributes, images, SEO). Q: My shop already has products. Can I still import? A: Yes. With "Update existing products" on, matching SKUs are updated and everything else is added. Q: What happens when I uninstall the module? A: The module and its helper table are removed; imported products, categories, options and images stay in your shop. Q: Multi-store / multi-language? A: Descriptions are written in the default language; products, categories and brands are assigned to the default store and every additional store. Q: Which package for which version? A: OpenCart 4.x -> Opencart4x.ocmod.zip, OpenCart 3.0.2+ -> Opencart3x.ocmod.zip.