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:
- Upload - Drag and drop your CSV file
- Column Mapping - Review auto-detected field mappings
- Review - Confirm import details
- Importing - Watch real-time progress
- Complete - View results and any errors
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)
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
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
Start the Import Wizard
From your Products page, click "Upload CSV".
Upload Your File
Drag and drop your CSV file or click to browse. Supported formats:
.csvfiles- UTF-8 encoding recommended
- Up to 10MB file size
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.
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.
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)
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 Column | Detected As | Confidence |
|---|---|---|
SKU | Product SKU | 100% |
product_sku | Product SKU | 100% |
item code | Product SKU | 80% |
Prodcut Name | Product Name | 60% (typo) |
descriptiom | Description | 60% (typo) |
Retail Price | RRP Amount | 80% |
MSRP | RRP Amount | 80% |
Availability | Stock Status | 80% |
In Stock? | Stock Status | 80% |
Variant Detection
How Variants Are Detected
The system looks for:
- Duplicate product names - Multiple rows with same name
- Variant columns - Columns named Color, Size, Material, Finish, Pattern, Style
- 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"}
- Variant 1: SKU: TS-R-S, Options:
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
- Test with a small file first - Upload 5-10 products to verify mappings
- Use consistent naming - Keep column names consistent across files
- Include all data upfront - Easier than updating later
- UTF-8 encoding - Prevents character encoding issues
- Backup your CSV - Keep the original file in case you need to re-import
Performance
| Products | Variants | Estimated Time |
|---|---|---|
| 100 | 0 | ~30 seconds |
| 500 | 0 | ~2 minutes |
| 1,000 | 0 | ~4 minutes |
| 100 | 500 (5 per product) | ~2.5 minutes |
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