WooCommerce CSV imports fail more often than most store owners expect. The errors range from obvious failures that stop the import to silent data corruption that goes unnoticed for days.
This guide walks through the most common import errors and how to fix each one.
1. Character Encoding Errors
Symptom: Product names or descriptions contain garbled characters like é, ü, or â€" after import.
Cause: The CSV file was saved in ANSI or Windows-1252 encoding instead of UTF-8.
Fix:
- Open the file in a text editor (Notepad++, VS Code)
- Check the encoding in the bottom status bar
- Convert to UTF-8 and save
- In Excel: File > Save As > select "CSV UTF-8 (Comma delimited)"
2. SKU Not Matching Existing Products
Symptom: Products are created as new instead of updating existing ones, or products show as "not found".
Cause: Trailing spaces, different letter casing, or invisible characters in the SKU column.
Fix:
- Trim whitespace from all SKU values:
=TRIM(A2)in Excel - Ensure case matches your store (WooCommerce SKU matching may be case-sensitive)
- Check for invisible characters by copying a SKU from WooCommerce and comparing byte-by-byte
3. Price Format Problems
Symptom: Prices are set to zero, or price changes are ignored entirely.
Cause: Using commas as decimal separators (19,99), including currency symbols ($19.99), or thousand separators (1,999.99).
Fix:
- Use dots for decimal separators: 19.99
- Remove all currency symbols: 19.99, not $19.99
- Remove thousand separators: 1999.99, not 1,999.99
- Ensure the column is formatted as "Number" not "Text" in your spreadsheet
4. Missing or Incorrect Column Headers
Symptom: Specific fields are not updated despite having data in the CSV.
Cause: Column headers don't match WooCommerce's expected names.
Fix: Use the exact WooCommerce column names:
sku— Product SKU (required)regular_priceorprice— Product pricesale_price— Sale pricestock_quantityorstock— Stock leveldate_on_sale_from— Sale start datedate_on_sale_to— Sale end date
5. Partial Import Failures
Symptom: Some products are updated, others are not. The import appears to complete but not all rows were processed.
Cause: Server timeout on large files, memory limits, or individual row errors stopping the import.
Fix:
- Split large CSV files into batches of 500-1000 rows
- Increase PHP memory limit and max execution time if you control the server
- Check the server error log for timeout or memory messages
- Use a tool that supports resume or retry for failed imports
6. Sale Price Higher Than Regular Price
Symptom: Products display no price or show incorrect pricing on the storefront.
Cause: The CSV has sale_price values greater than regular_price for some products.
Fix:
- Sort your CSV and check that sale_price < regular_price for every row
- Use a formula:
=IF(C2>B2, "ERROR", "OK")to flag issues - Use a validation tool that catches this automatically before import
Preventing Import Errors
The best fix is prevention. Before running any CSV import:
- Validate the CSV format and encoding
- Check for duplicate SKUs
- Preview changes against live store data
- Start with a small test batch
- Have a rollback plan ready
WooStockSync automates these checks. Upload your CSV and get a full diff preview with risk detection before any changes are applied to your store.
Catch import errors before they reach your store
Validate CSV files, preview changes, and rollback mistakes.
Start free trial90-day free trial. No credit card required.