WOOCOMMERCE · CSV CHECKLIST
Update regular prices by SKU, without an ID column
A focused workflow for existing simple products. Prepare the file, test a small batch, then confirm the changes in your store.
PriceLab guide · Updated 26 October 2026 · Читать по-русски ↓
Why check the ID column?
Product IDs are local to a store. An ID from another store may refer to a different product or fail to match. For this SKU-only workflow, omit the ID column entirely.
In the linked issue, maintainers describe ID matching taking precedence over SKU matching. Treat this as a reason to check your file and test your installed version, rather than a guarantee about every import.
THE WORKFLOW
Four steps before a full update
Back up and confirm the SKUs
Back up the store and export its current catalog. Confirm that each target SKU already exists, is unique and belongs to a simple product. Keep the original export.
Prepare only the fields you intend to update
Use a UTF-8 CSV with
SKU,Regular priceand optionalStock. OmitID. Preserve leading zeros in SKUs. Run the file through PriceLab before importing.Test a small batch
Use a staging store first. In the WooCommerce importer, select Update existing products and review the column mapping before running the small test.
Verify the actual result
Review failed and skipped rows in the import report. Open the affected products and check their regular prices and any stock changes. Continue with more rows after the test succeeds.
SYNTHETIC EXAMPLE
Three columns, no ID
These fictional SKUs must be replaced with existing SKUs from your own target store. Keep 001 intact when editing.
SKU,Regular price,Stock
001,19.90,12
AB-002,24.50,0
Include Stock only if you intend to update inventory: a numeric value enables stock management in the core importer. For prices alone, omit that column. This workflow updates regular prices; sale prices are outside its scope.
What PriceLab can check
PriceLab checks CSV structure, selected price and stock values, and certain SKU risks within the file. It exports SKU, Regular price and optional Stock; excluding rows with errors requires your confirmation. Files stay on your device.
It does not connect to your store or check SKU existence, conflicts in the store database, product variations, plugin behavior or a full catalog migration. A missing Type column does not prove that a product is simple. Removing ID does not resolve every “Invalid or duplicated SKU” error.
What we tested
On 26 October 2026, we ran six synthetic cases through the actual WooCommerce 11.2.1 CSV importer on WordPress 7.1.3. A foreign ID was rejected; the PriceLab file without ID updated SKU 001 from 10.00 to 19.90 while preserving its leading zero and stock. A numeric Stock value updated inventory, and an unknown SKU was skipped in update mode. The control product and product count stayed unchanged.
The test used WordPress Playground with PHP 8.3 and SQLite, and explicit column mapping. It did not cover the browser import wizard, MySQL, other extensions or your store. Run your own small test before a full update.
Sources and scope
In WooCommerce issue #40274, rrennick explained on 27 September 2023 that SKU matching uses a file without ID. flakas reported the same behavior on 24 July 2026. These comments describe observed behavior; they do not establish that a proposed fix has shipped.
See the official WooCommerce CSV importer and exporter documentation for import options and column meanings. Check the documentation for your installed version and extensions.