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: как правильно отладить и исправить проблемы с обновлением стоимости товара после оплаты
27.06.2026
WooCommerce: установка и настройка дополнительного поля в форме оформления заказа
23.04.2026
WooCommerce: как использовать хуки для автоматического изменения стоимости товаров после оплаты
24.06.2026
Как удалить бесполезные мета данные из базы WordPress без потерь
12.01.2026
Как использовать WPCommunity для создания приватного клубного сайта на WordPress
19.01.2026