From the admin control panel, go to Products › Import to import your product catalogue from a CSV file.
How It Works
- Prepare your CSV file (see the column reference below).
- Choose your file and the field delimiter (comma or tab), then upload it.
- Use the dropdown menus to map each CSV column to the correct CubeCart field.
- If your file has a header row, tick the headers option so the first row is treated as column names and not imported as a product. When those headers match the field names below, CubeCart maps them for you automatically.
CSV Column Reference
Only name and price are required. Map any of the columns below that are relevant to your products; unmapped columns are ignored.
| Column | Description | Required |
|---|---|---|
name | Product name. | Yes |
price | Product price. Currency symbols and other non-numeric characters are stripped automatically. | Yes |
cat_id | Category. Accepts a numeric category ID or a category name path, using / for subcategories (e.g. Tools/Cutting/Saws). Separate multiple categories with commas; the first becomes the primary category. | Recommended |
product_code | SKU / product code. Generated automatically from the product name if left blank. | No |
description | Full product description (HTML supported). | No |
description_short | Short description. | No |
manufacturer | Manufacturer name. Matched to an existing manufacturer, or created automatically if it does not exist. | No |
brand | Brand name, stored as a product attribute (e.g. for product feeds). This is separate from manufacturer. | No |
image | Product image(s). One or more filenames located in images/source/, separated by commas; the first is used as the main image. | No |
sale_price | Sale / discounted price. | No |
cost_price | Cost price (for profit reporting). | No |
tax_type | Tax class ID. | No |
tax_inclusive | Price already includes tax (1 = yes, 0 = no). | No |
use_stock_level | Enable stock control for the product (1 or true = track stock). | No |
stock_level | Quantity in stock. | No |
stock_warning | Low-stock warning threshold. | No |
status | Product enabled (1 = enabled, 0 = disabled). | No |
available | Available for purchase (1 = yes, 0 = no). | No |
featured | Featured product (1 = yes, 0 = no). Defaults to 1 if not supplied. | No |
latest | Show in latest products (1 = yes, 0 = no). Defaults to 1 if not supplied. | No |
digital | Digital product (1 = yes, 0 = no). | No |
digital_path | Path / filename of the downloadable file for digital products. | No |
product_weight | Product weight. | No |
product_width | Product width. | No |
product_height | Product height. | No |
product_depth | Product depth. | No |
dimension_unit | Unit used for the width / height / depth values (e.g. cm, in). | No |
upc | UPC / barcode. | No |
ean | EAN code. | No |
jan | JAN code. | No |
isbn | ISBN code. | No |
gtin | Global Trade Item Number. | No |
mpn | Manufacturer Part Number. | No |
condition | Product condition (new, refurbished, used). | No |
seo_path | Custom SEO URL slug. | No |
seo_meta_title | SEO meta title. | No |
seo_meta_description | SEO meta description. | No |
Categories
The cat_id column accepts either a numeric category ID or a category name. To place a product in a subcategory, write the full path using / as the separator, for example Tools/Cutting/Saws.
Any categories in the path that do not already exist are created automatically during the import. Name matching is exact, so watch for differences in spelling, capitalisation or spacing to avoid creating duplicate categories.
To assign a product to more than one category, separate them with commas (e.g. Tools/Saws, Clearance). The first category listed becomes the product’s primary category.
Importing Images
Upload your product images to the images/source/ directory first (via FTP or the admin File Manager), then reference them in the image column of your CSV.
To add more than one image to a product, separate the filenames with commas — the first becomes the main product image:
front.jpg, back.jpg, detail.jpg
If you keep images in subfolders of images/source/, include the relative path, for example widgets/front.jpg. Any filename that does not exist in images/source/ is skipped.
Adding or Replacing Products
The bulk import tool adds products — every row creates a new product. It does not match or update existing products by SKU or ID, so re-importing the same file creates duplicates.
To replace your catalogue rather than add to it, tick Replace existing inventory on the import options screen. This deletes all current products (along with their category and image assignments, options, reviews and quantity/group pricing) before importing the new file.
Every import is grouped by date so it can be undone: open the Revert tab on the Import screen and remove a previous import in one step.
Tips
- Start with a small test import (5–10 products) to verify your column mapping is correct.
- Save your CSV in UTF-8 encoding to avoid character issues.
- Use a spreadsheet application (Excel, Google Sheets, LibreOffice Calc) to prepare your CSV.
- For large imports (thousands of products), increase PHP
max_execution_timeandmemory_limit. - Back up your database before importing.