A product catalog CSV is a table where every row is one product and every column is an attribute. Getting the structure right the first time saves hours of import debugging. This guide covers the fields that matter and how to handle the tricky ones — variants, add-ons and images.
The essential columns
Almost every e-commerce or delivery platform expects at least:
| Column | What it holds | Notes |
|---|---|---|
| Name / Title | Product name | Keep consistent — customers see this first |
| Description | Product copy | Quote values containing commas |
| SKU | Unique stock code | Must be unique; watch leading zeros |
| Price | Selling price | Plain number, no currency symbols |
| Category | Grouping | Consistent naming across rows |
| Inventory | Stock quantity | Whole number |
Common optional columns include compare-at price (for showing discounts), cost price, tax rate, tags and labels (like veg/non-veg), and status (active/inactive).
Pricing done right
Price columns should contain plain numbers: 299.00, not ₹299 or 299,00. If your platform supports a compare-at price, it belongs in its own column — that is what drives "was ₹599, now ₹399" display. Keep cost price in a separate column too; mixing cost and selling price in one field makes the file unusable for import.
Variants: one product, many options
A t-shirt in three sizes is one product with three variants — not three separate products. How variants are encoded depends on the platform:
- Option columns — Shopify-style exports use columns like
Option1 Name/Option1 Value, with one row per variant combination. - Option groups — delivery-platform templates define named groups (Size, Crust, Toppings) with per-option prices as deltas over the base price.
The delta model is worth understanding: the product's base price covers the default choice, and each variant stores only the difference (Large = base + ₹100). This keeps prices exact and updates simple — change the base once and all variants follow.
Add-ons and options
Add-ons (toppings, extras, sauces) are usually modeled as option groups attached to a product, each with:
- A group name ("Choose your toppings")
- A selection type — single choice or multiple choice
- Optional required/minimum rules
- Individual option prices (often 0 for free choices)
Images
CSV files reference images by URL, not by embedding them. Use publicly accessible, stable image URLs, one per product (some formats allow several). Broken URLs are a top cause of post-import cleanup — test a few links before importing the full catalog.
Validate before import
- Every product has a name, price and category.
- SKUs are unique.
- Numbers are plain (no symbols, no separators).
- Variant structures match your platform's format.
- Image URLs resolve.
Building this by hand in a spreadsheet is slow and error-prone. CSV Pilot generates the full structure from a description — products, variants, add-ons and prices — shows it in a validated preview, and exports a file that matches the target format.