WooCommerce: правильный экспорт и импорт цен товаров с учётом налогов и скидок

Диагностика проблемы с экспортом и импортом цен в WooCommerce

При работе с большими каталогами товаров в WooCommerce часто возникает задача массового экспорта и последующего импорта цен. Основная сложность — корректно учитывать налоговые ставки и скидки (акции, купоны), чтобы после импорта данные не искажались. Неверная обработка этих параметров приводит к ошибкам в отображении цен, расхождениям в отчётах и потерям прибыли.

Типичные симптомы проблемы:

  • При импорте цены товаров оказываются выше или ниже ожидаемых;
  • Отсутствует учёт налогов — цена указана без НДС или наоборот;
  • Скидки и акции после импорта не применяются корректно;
  • Экспортированные данные не содержат полей для налогов и скидок, или они неправильно форматированы.

Пошаговое решение: как правильно экспортировать и импортировать цены с учётом налогов и скидок в WooCommerce

1. Подготовка к экспорту: выбор правильных полей

WooCommerce по умолчанию не экспортирует цены с учётом налогов и скидок, поэтому нужно уточнить, какие поля нужны:

  • regular_price — базовая цена без скидок;
  • sale_price — цена со скидкой (акционной);
  • tax_status и tax_class — статус и класс налогообложения;
  • Промежуточных полей для итоговой цены с налогами нет, их нужно рассчитывать отдельно.

Для экспорта используйте стандартный инструмент WooCommerce «Экспорт товаров» или плагин Clearfy Pro, позволяющий гибко настраивать поля.

2. Экспорт с учётом налогов: подготовка итоговой цены

Чтобы экспортировать цену с налогами, можно создать пользовательское поле с помощью кода, который рассчитает итоговую цену с учётом налоговой ставки. Добавьте следующий код в файл functions.php вашей темы или в кастомный плагин:

add_filter('woocommerce_product_export_product_default_columns', function($columns) {
    $columns['price_incl_tax'] = 'Цена с налогом';
    return $columns;
});

add_filter('woocommerce_product_export_product_column_price_incl_tax', function($value, $product) {
    $price = $product->get_price();
    $tax_rates = WC_Tax::get_rates($product->get_tax_class());
    $taxes = WC_Tax::calc_tax($price, $tax_rates, false);
    $price_incl_tax = array_sum($taxes) + $price;
    return wc_format_decimal($price_incl_tax, 2);
}, 10, 2);

Этот код добавит в экспорт новый столбец «Цена с налогом», где цена будет рассчитана с учётом налоговой ставки.

3. Импорт цен с учётом налогов и скидок

При импорте CSV WooCommerce по умолчанию не умеет разбирать цены с налогами в одном поле, нужно импортировать отдельные поля regular_price и sale_price. Для корректного применения налогов убедитесь, что в настройках WooCommerce (WooCommerce → Настройки → Налоги) включена опция «Ввод цен с налогом» или «Цены введены с налогом» в зависимости от вашей схемы.

Если вы импортируете поле с ценой price_incl_tax, то нужно вручную разделить цену на налог и базовую цену перед импортом или использовать специализированные плагины для импорта, которые поддерживают подобные сценарии, например WP All Import с WooCommerce Add-On.

4. Импорт скидок

WooCommerce не позволяет импортировать активные акции через стандартный импорт товаров. Для этого лучше использовать дополнительные инструменты, например WP All Import с поддержкой акций или написать кастомный скрипт, который создаст посты типа shop_coupon или обновит мета-данные товаров.

Проверка результата после внедрения решения

  • Экспортируйте CSV с новыми полями и убедитесь, что цены с налогами рассчитаны корректно;
  • Импортируйте CSV в тестовую среду, проверьте, что цены отображаются в карточках товаров, заказах и отчётах правильно;
  • Проверьте, что налоговые ставки применяются в соответствии с настройками WooCommerce;
  • Запустите оформление заказа, чтобы увидеть правильность итоговой суммы с налогами и скидками.

Частые ошибки и как их исправить

  • Ошибка: Цены без налогов после импорта.
    Причина: В настройках WooCommerce не включена опция «Цены с налогами».
    Решение: Зайдите в WooCommerce → Настройки → Налоги и включите нужную опцию.
  • Ошибка: Скидки не применяются после импорта.
    Причина: Стандартный импорт не обрабатывает поле sale_price или отсутствуют даты акции.
    Решение: Используйте WP All Import с аддоном WooCommerce или создайте кастомный импорт скидок.
  • Ошибка: Итоговая цена с налогом не совпадает с расчётами.
    Причина: Налоговые ставки не заданы или некорректны.
    Решение: Проверьте налоговые классы в WooCommerce → Налоги → Налоговые классы.

Практические советы по безопасности и производительности при работе с экспортом и импортом

  • Всегда делайте резервную копию базы перед массовым импортом или экспортом.
  • Используйте тестовую среду для проверки, чтобы избежать ошибок на рабочем сайте.
  • Очищайте кэш WooCommerce и сайт после импорта, чтобы обновить данные.
  • Ограничивайте права пользователей, которые могут выполнять массовый импорт/экспорт.
  • Для больших каталогов используйте специализированные плагины с поддержкой пакетной обработки и оптимизацией запросов.

Сравнение вариантов экспорта/импорта цен

МетодПреимуществаНедостаткиКомпромисс
Стандартный экспорт WooCommerceПростота, встроенНет учёта налогов и скидокПодходит для базовых задач
Добавление кастомных полей с кодомГибкость, учёт налоговТребует программированияОптимально для разработчиков
WP All Import + WooCommerce Add-OnПоддержка сложных сценариевПлатный, настройка сложнееДля больших магазинов и сложных данных
WooCommerce: как использовать хук woocommerce_checkout_update_order_meta для дополнительного сбора данных при оформлении заказа
01.07.2026
Как отключить автопроигрывание видео в блоках Gutenberg в WordPress
16.02.2026
Как создать функцию автoрегистрации пользователей WordPress с подтверждением email
09.01.2026
WooCommerce: как автоматически изменить стоимость товара после оплаты с помощью хука
14.05.2026
Автоматическое создание купонов в WooCommerce при оформлении заказа
26.04.2026