Back to Blog

How to Fix WooCommerce Import Errors

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_price or price — Product price
  • sale_price — Sale price
  • stock_quantity or stock — Stock level
  • date_on_sale_from — Sale start date
  • date_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:

  1. Validate the CSV format and encoding
  2. Check for duplicate SKUs
  3. Preview changes against live store data
  4. Start with a small test batch
  5. 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 trial

90-day free trial. No credit card required.