CSV Upload Guide

Upload your entire product catalog in minutes with smart auto-detection

How It Works

The CSV import wizard guides you through a 5-step process:

  1. Upload - Drag and drop your CSV file
  2. Column Mapping - Review auto-detected field mappings
  3. Review - Confirm import details
  4. Importing - Watch real-time progress
  5. Complete - View results and any errors
Fast Bulk Upload

Our smart CSV system can import 1,000 products in ~4 minutes with automatic column detection and variant grouping.

Preparing Your CSV File

Required Columns

Your CSV must include at minimum:

  • SKU - Unique product identifier
  • Name - Product name

Optional Columns

Include any of these columns to populate additional fields:

  • Description
  • Model / Model Number
  • RRP / Price / Retail Price
  • Stock / Stock Status / Availability
  • Lead Time / Delivery Time
  • Image / Images / Image URL
  • Color, Size, Material, Finish, Pattern, Style (for variants)
Column Name Flexibility

Our fuzzy matching recognizes 40+ column name variations! You don't need to rename your columns - we'll detect them automatically.

Example CSV (Simple Products)

SKU,Name,Description,RRP,Stock
MUG-001,Coffee Mug,Ceramic 12oz mug,14.99,In Stock
MUG-002,Travel Mug,Stainless steel 16oz,24.99,In Stock
PEN-001,Ballpoint Pen,Blue ink,2.99,Low Stock

Example CSV (Products with Variants)

Name,SKU,Color,Size,Stock,RRP
T-Shirt,TS-R-S,Red,Small,In Stock,29.99
T-Shirt,TS-R-M,Red,Medium,In Stock,29.99
T-Shirt,TS-R-L,Red,Large,In Stock,29.99
T-Shirt,TS-B-S,Blue,Small,In Stock,29.99
T-Shirt,TS-B-M,Blue,Medium,Out of Stock,29.99
Hoodie,HD-BLK-XL,Black,XL,In Stock,59.99
Automatic Variant Detection

When multiple rows share the same product name, our system automatically creates parent products with variants. No special formatting needed!

Step-by-Step Import Process

  1. Start the Import Wizard

    From your Products page, click "Upload CSV".

  2. Upload Your File

    Drag and drop your CSV file or click to browse. Supported formats:

    • .csv files
    • UTF-8 encoding recommended
    • Up to 10MB file size
  3. Review Column Mappings

    Our system automatically detects your columns and maps them to product fields.

    Confidence Scores:

    • 🟢 Green (80-100%) - High confidence match
    • 🟡 Yellow (50-79%) - Medium confidence match
    • 🔴 Red (<50%) - Low confidence match

    You can manually adjust any incorrect mappings using the dropdowns.

  4. Confirm Variant Detection

    If variants are detected, you'll see a summary:

    • Total rows to import
    • Number of parent products
    • Variant columns identified

    Review this to ensure variants are correctly grouped.

  5. Start Import

    Click "Start Import" to begin the background process. You can:

    • Watch real-time progress
    • See successful/failed counters
    • Wait or close the modal (import continues in background)
  6. Review Results

    When complete, you'll see:

    • Total products created
    • Total variants created (if applicable)
    • Any errors with row numbers

Column Detection Examples

Our fuzzy matching handles variations and typos:

Your ColumnDetected AsConfidence
SKUProduct SKU100%
product_skuProduct SKU100%
item codeProduct SKU80%
Prodcut NameProduct Name60% (typo)
descriptiomDescription60% (typo)
Retail PriceRRP Amount80%
MSRPRRP Amount80%
AvailabilityStock Status80%
In Stock?Stock Status80%

Variant Detection

How Variants Are Detected

The system looks for:

  1. Duplicate product names - Multiple rows with same name
  2. Variant columns - Columns named Color, Size, Material, Finish, Pattern, Style
  3. Grouping - Rows are grouped by product name

How Variants Are Created

For each group:

  • First row creates the parent product
  • All rows create individual variants
  • Variant options are extracted from variant columns

Example:

Name,SKU,Color,Size,Stock
T-Shirt,TS-R-S,Red,Small,In Stock
T-Shirt,TS-R-M,Red,Medium,In Stock

Creates:

  • Parent Product: "T-Shirt"
    • Variant 1: SKU: TS-R-S, Options: {color: "Red", size: "Small"}
    • Variant 2: SKU: TS-R-M, Options: {color: "Red", size: "Medium"}

Error Handling

Common Errors

Duplicate SKU

  • Each SKU must be unique
  • Check for duplicates in your CSV before uploading

Missing Required Fields

  • Every row must have SKU and Name
  • Empty cells in required columns will cause errors

Invalid Data Types

  • RRP must be a number
  • Lead Time must be a number (days)
  • Stock Status must be one of: In Stock, Low Stock, Out of Stock, Backordered

Partial Import Success

The import continues even if some rows fail. You'll see:

  • Number of successful imports
  • Number of failed rows
  • Specific error messages with row numbers

You can then fix the errors and re-import just the failed rows.

Best Practices

CSV Upload Tips
  1. Test with a small file first - Upload 5-10 products to verify mappings
  2. Use consistent naming - Keep column names consistent across files
  3. Include all data upfront - Easier than updating later
  4. UTF-8 encoding - Prevents character encoding issues
  5. Backup your CSV - Keep the original file in case you need to re-import

Performance

ProductsVariantsEstimated Time
1000~30 seconds
5000~2 minutes
1,0000~4 minutes
100500 (5 per product)~2.5 minutes
Background Processing

Imports run in the background as Convex actions. You can close your browser and the import will continue. Progress is saved to your database.

Updating Existing Products

Currently, CSV upload only creates new products. To update existing products:

  • Edit them manually in the dashboard
  • Delete old products and re-import (loses order history)

Bulk update functionality is planned for a future release.

Advanced Topics

Custom Fields

Unmapped columns are detected as potential custom fields. Currently, these are ignored during import. Custom field support is planned for a future release.

Categories

Category assignment during CSV import is not currently supported. Assign categories manually after import.

Images

You can include image URLs in your CSV:

SKU,Name,Images
MUG-001,Coffee Mug,https://example.com/mug1.jpg
MUG-002,Travel Mug,"https://example.com/mug2-1.jpg, https://example.com/mug2-2.jpg"

Multiple images can be comma-separated.

Troubleshooting

Import isn't starting

  • Check file size (max 10MB)
  • Verify CSV format (not Excel .xlsx)
  • Ensure file has headers

Wrong columns detected

  • Manually adjust mappings in Step 2
  • Try renaming columns to common names (SKU, Name, Price)

Variants not detected

  • Ensure multiple rows have identical product names
  • Include variant columns (Color, Size, etc.)
  • Check for typos in product names