PNLEE/PriceLabCSV Check

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

  1. 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.

  2. Prepare only the fields you intend to update

    Use a UTF-8 CSV with SKU, Regular price and optional Stock. Omit ID. Preserve leading zeros in SKUs. Run the file through PriceLab before importing.

  3. 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.

  4. 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.

WOOCOMMERCE · ПРОВЕРКА CSV

Как обновить обычные цены по SKU без столбца ID

Порядок для существующих простых товаров: подготовьте файл, проверьте небольшой набор и подтвердите изменения в магазине.

Инструкция PriceLab · Обновлено 31 октября 2026 · Read in English ↑

Зачем проверять столбец ID?

ID товара действует внутри конкретного магазина. ID из другого магазина может указывать на другой товар или не находить совпадение. Для этого обновления по SKU полностью исключите столбец ID.

В обсуждении по ссылке сопровождающие WooCommerce описывают приоритет сопоставления по ID перед SKU. Это основание проверить файл и установленную версию на малом наборе. Успех любого импорта из этого не следует.

ПОРЯДОК РАБОТЫ

Четыре шага перед полным обновлением

  1. Сделайте копию и сверьте SKU

    Создайте резервную копию магазина и выгрузите его текущий каталог. Проверьте, что каждый нужный SKU уже существует, уникален и относится к простому товару. Сохраните исходную выгрузку.

  2. Подготовьте нужные поля

    Сформируйте CSV в UTF-8 со столбцами SKU, Regular price и необязательным Stock. Исключите ID. Сохраните ведущие нули артикулов. Проверьте файл в PriceLab перед импортом.

  3. Проверьте небольшой набор

    Начните с тестовой копии магазина. В импортере WooCommerce выберите Update existing products — обновление существующих товаров. Проверьте сопоставление столбцов перед пробным импортом.

  4. Подтвердите изменения

    Посмотрите ошибки и пропуски в отчёте импорта. Откройте затронутые товары, сверьте обычную цену и изменённые остатки. Продолжайте с остальными строками после успешной проверки.

ВЫМЫШЛЕННЫЙ ПРИМЕР

Три столбца без ID

Замените вымышленные артикулы на существующие SKU вашего целевого магазина. При редактировании сохраните значение 001 целиком.

SKU,Regular price,Stock
001,19.90,12
AB-002,24.50,0

Добавляйте Stock, только если собираетесь менять остатки: числовое значение включает управление запасами в штатном импортере. Для обновления только цен уберите этот столбец. Этот порядок относится к обычной цене; цены распродажи в него не входят.

Что проверяет PriceLab

PriceLab проверяет структуру CSV, выбранные цены и остатки, а также отдельные риски SKU внутри файла. Выгрузка содержит SKU, Regular price и необязательный Stock; исключение строк с ошибками требует вашего подтверждения. Файл остаётся на устройстве.

Инструмент не подключается к магазину и не проверяет наличие SKU, конфликты базы магазина, вариации, работу плагинов или полный перенос каталога. Отсутствие столбца Type не доказывает, что товар простой. Удаление ID не решает любую ошибку «Invalid or duplicated SKU».

Что мы проверили

26 октября 2026 года мы выполнили шесть сценариев с вымышленными товарами через настоящий CSV-импортер WooCommerce 11.2.1 на WordPress 7.1.3. Чужой ID вызвал отказ; файл PriceLab без ID обновил цену SKU 001 с 10,00 до 19,90, сохранив ведущий ноль и остаток. Числовой Stock изменил остаток, неизвестный SKU был пропущен в режиме обновления. Контрольный товар и число товаров не изменились.

Тест выполнен в WordPress Playground с PHP 8.3, SQLite и явным сопоставлением столбцов. Браузерный мастер импорта, MySQL, другие расширения и ваш магазин не проверялись. Перед полным обновлением выполните собственный тест на малом наборе.

Почему важно сверять похожие SKU

В отдельном тестовом магазине WooCommerce 11.2.1 с MariaDB мы загрузили цену для CAFÉ, когда в магазине существовал товар CAFE. База сочла артикулы совпадающими: импортёр обновил существующий товар и заменил его SKU. В другом магазине правила сравнения могут отличаться.

PriceLab исключает некоторые похожие SKU внутри файла, но не видит товары магазина. Перед импортом сверьте каждый артикул с каталогом, сделайте резервную копию и проверьте несколько товаров после пробного обновления.

Источники и границы

В обсуждении WooCommerce #40274 rrennick 27 сентября 2023 года пояснил сопоставление по SKU в файле без ID. flakas 24 июля 2026 года сообщил о таком же поведении. Комментарии описывают наблюдения; они не подтверждают выпуск предложенного исправления.

Параметры импорта и назначение столбцов описаны в официальной документации импорта и экспорта CSV WooCommerce. Сверяйтесь с документацией установленной версии и расширений.