Bulk Import Products Using CSV

Bulk import is the fastest way to add many products at once. Instead of creating products individually, you fill out a CSV file (using Excel or Google Sheets) and upload it to the system.

Required Fields for Successful Product Import

Important: The following fields must be filled for a product to import successfully. If any of these are missing, the import will fail.
Mandatory Fields

Product Name
  • Selling Price
  • Cost Price
  • Product Category

Product ID (Product.ID)
What this column is
The Product.ID column must remain blank.
The system will automatically generate and assign a unique product ID for each item during import.

Product Name (Product.Name)

What this column is
The name of the product exactly as customers will see it in your store.

Rules
  • Required
  • Plain text only
  • One product per row
Example
"Silk Slip Dress"

Description (Product.Description)

What this column is
A short description explaining the product.

Rules
  • Optional
  • Text only (no HTML required)
Example
"Elegant satin slip dress with adjustable straps and a minimalist silhouette."

SKU (Product.SKU)

What this column is
A unique product identifier used internally for inventory tracking and reporting.
SKU values can be empty, but cannot be duplicated.

Rules
  • Optional but recommended
  • Must be unique
Example
"DRESS-SILK-BLK-001"

Price Compare (Product.Price.Compare)

What this column is
Displays the original price crossed out when running a promotion or sale.
Customers will see something like:
$120.00 $89.99

Rules
  • Must be higher than the selling price
  • Numeric values only (no currency symbols)
Example
Selling Price: 89.99
Compare Price: 120.00

If you do not want to show a discount comparison, leave this field blank.

Min Quantity / Max Quantity (Product.Min.Max.Quantity)

What it does

Controls how many units of a product a customer can add to their cart in a single order.
  • Min Quantity = minimum number of items required per order
  • Max Quantity = maximum number allowed per order
Example
  • Min Quantity: 1
    Max Quantity: 3
  • This means a customer can purchase up to 3 dresses in one order.

Base Price (Product.Price.Selling)

What this column is
The base selling price of the product before any add-ons or customization options.

Rules
  • Numeric value only
  • No currency symbols
Example
89.99

Cost Price (Product.Price.Cost)

What this column is
The internal cost of the product. This is used only for reporting and profit tracking.

Rules
  • Optional
  • Numeric value
Example
40

Tax Percent (Product.Tax_Percent)

What it does
Applies a tax percentage to the product price.

If your catalog uses a fixed tax for all items, it's recommended to configure Global Tax through Custom Charges. If tax varies by product, use this field instead.

How to fill it
  • Enter the number only
  • Do not include the % symbol

Example
Tax Percent: 8
This means 8% tax will be applied.

Status (Product.Status)

What this column is
Controls whether the product is visible in your store.
  • Allowed values
  • active
  • inactive

Inventory (Product.Inventory)

What it does
Defines how many units of the product are available for sale.

Example
  • Inventory Quantity: 50
  • This means 50 units of the product are available in stock.

Labels (Product.Labels)

What it does
Labels highlight products or allow filtering in the store.

Examples
  • Best Seller
  • New Arrival
  • Trending
  • Limited Edition

Category (Product.Category)

What this column is
The category where the product will appear in your store.

Example
"Dresses" category for "Silk Slip Dress"

Other examples could include:
  • Skincare
  • Makeup
  • Shoes
  • Accessories

Tags (Product.Tags)

What it does
Tags help organize products internally and improve search or filtering.

Examples
  • Summer
  • Vegan Beauty
  • Luxury
  • Organic Skincare

Image URL (Product.Images)

What this column is
A publicly accessible image URL for the product.

Rules
  • Must be a valid public link
  • HTTPS recommended
Example
https://example.com/images/silk-slip-dress.jpg

Product Options / Variants
Product options allow customers to choose variations such as size, color, or finish.
Each option is defined first, and its variants are defined afterward in a specific CSV format.

Option Name (Option1.Name)
Defines the customer choice.

Example
  • "Size"
  • Other examples
  • Color
  • Shade
  • Fabric

Option Type (Option1.Type)
Defines how many options the customer can select.
Allowed values
Single → customer can select only one option
Multiple → customer can select multiple options

Option Enable Range (Option1.Enable_Range)
Determines whether minimum or maximum selection limits apply.
Allowed values
  • YES
  • NO

Option Range (Option1.Range)
Used only when Enable Range = YES.

Example:
1,2
This means customers must select at least 1 option and up to 2 options.
If Enable Range = NO, use:
0,0

Option Required (Option1.Required)
Defines whether customers must choose an option before checkout.
Allowed values
  • Yes
    No

Option View (Option1.View)
Controls how options appear in the app interface.
Allowed values
LIST
CARD

Basic Variant Structure (Option1.Variants)
Each variant follows this structure:
VariantName,Price,MinQty,MaxQty,Description,ImageURL { nested_addons }
Multiple variants must be separated with a semicolon.
Example (Size variants)

Small,0,0,5,Small size,https://example.com/img-small.jpg
;
Medium,5,0,5,Medium size,https://example.com/img-medium.jpg
;
Large,10,0,5,Large size,https://example.com/img-large.jpg


Multi-Level Add-ons (Nested Options)
Nested options allow deeper customization such as color, finish, or accessories.
Nested options are placed inside curly brackets {}.

CSV Rules for Nested Add-ons
If you do not want to define a value in multi-level variants (such as price, description, or image), leave it blank but keep the commas.
Commas (,) separate values within a variant.
Semicolons (;) separate multiple variants.
Curly brackets { } define nested add-ons.
Every opening { must have a closing }, or the import will fail.

Understanding the Syntax
Symbol
Meaning
,
Separates values within a variant
;
Separates multiple variants
{ }
Indicates nested options
( )
Contains child variants

Nested Option Structure
option_name, type, required, range, view, list {
variant1
(variant2
...)
};

Example (Color Options Inside Size)
{
Color,single,no,"[0,0]",no,list(
Black,0,0,,;
Beige,0,0,,;
Red,0,0,,
)
}


Example: Size → Fabric (2 Levels)

Small,89.99,40.00,,,"" {
Fabric,single,no,"[0,0]",yes,list (
Satin,0,0,,,"";
Cotton,5.00,0,,,""
)
}