По умолчанию WooCommerce не списывает товары с остатков до момента оплаты заказа. Это стандартное поведение системы: статус заказа меняется на 'Оплачено' только после успешной транзакции, и именно в этот момент происходит резервирование количества товара.
Управление резервированием остатков в неоплаченных заказах WooCommerce: базовый принцип и настройки по умолчанию
Система WooCommerce разделяет статусы заказов на две основные группы: 'Ожидает оплаты' (Pending) и 'Оплачено' (Processing/Paid). При создании заказа в корзине количество товара вычитается из общего остатка только тогда, когда заказ переходит в статус 'Оплачено'.
Если клиент не оплачивает заказ или отменяет его, товар автоматически возвращается на склад. Это защищает магазин от продажи одного и того же товара нескольким людям одновременно.
Проблема возникает при ручной оплате администратором без изменения статуса заказа. В этом случае товар остается в статусе 'Ожидает оплаты', но фактически продан. Чтобы избежать перепродажи, необходимо вручную менять статус заказа на 'Обработано' (Processing) или использовать плагин для автоматического перехода статуса после подтверждения платежа.
Важно понимать: остаток товара — это не только физический инвентарь, но и сумма всех заказов со статусом 'Оплачено'. Неоплаченные заказы не влияют на доступность товара в каталоге, пока заказ не будет оплачен или отменен.
Настройка автоматического списания товаров при оплате (стандартный сценарий)
Стандартная логика WooCommerce работает следующим образом: заказ создается со статусом 'Ожидает оплаты'. Товар не резервируется. После оплаты через платежный шлюз или вручную администратор меняет статус заказа на 'Обработано'. В этот момент система автоматически вычитает количество товара из общего остатка.
Чтобы настроить автоматическое списание, убедитесь, что в настройках WooCommerce (Внешний вид > Настройки > Товары) включена опция 'Списывать товары при изменении статуса заказа на Обработано'.
Если вы используете сторонний платежный шлюз (например, Stripe или PayPal), настройте автоматический переход статуса заказа в административной панели. Большинство шлюзов отправляют вебхук WooCommerce, который автоматически меняет статус заказа на 'Обработано' после успешной оплаты.
Для ручной оплаты через банковский перевод: создайте заказ со статусом 'Ожидает оплаты'. После получения подтверждения от клиента вручную измените статус заказа на 'Обработано'. Система автоматически спишет товар. Если вы этого не сделаете, товар останется в наличии, и его можно будет продать другому клиенту.
Ручное управление статусами заказов для корректного учета остатков
Иногда заказы остаются в статусе 'Ожидает оплаты' из-за технических сбоев или ошибок клиента. В таких случаях необходимо вручную изменить статус заказа на 'Отменен' (Cancelled) или 'Обработано' (Processing).
Для массового управления остатками используйте функцию 'Массовое редактирование' в административной панели WooCommerce. Вы можете выбрать несколько заказов со статусом 'Ожидает оплаты' и изменить их статус на 'Отменен', если они просрочены или не оплачены.
После изменения статуса заказа система автоматически вернет товар на склад. Проверьте остаток товара в разделе 'Товары > Все товары'.
Если вы используете кастомные статусы заказов (например, 'Ожидает проверки'), убедитесь, что они настроены так, чтобы не блокировать списание товаров. В настройках статуса заказа можно указать, должен ли он списывать товар или нет.
Использование плагинов для продвинутой логики списания (например, WooCommerce Order Status Manager или аналоги)
Стандартные возможности WooCommerce могут быть недостаточны для сложных бизнес-процессов. Плагины позволяют гибко настраивать логику списания товаров при изменении статуса заказа.
Плагин 'WooCommerce Order Status Manager' позволяет создавать кастомные статусы заказов и привязывать их к определенным действиям по списанию товара. Например, можно настроить автоматическое списание товара при переходе заказа в статус 'Оплачено', даже если платежный шлюз не отправил вебхук.
Другие плагины, такие как 'WooCommerce Order Status Manager' или 'YITH WooCommerce Order Status Manager', позволяют управлять статусами заказов и автоматизировать процессы списания товаров.
При выборе плагина обратите внимание на его совместимость с вашей версией WooCommerce и наличие обновлений. Убедитесь, что плагин не конфликтует с другими расширениями.
Проверка и исправление ошибок в базе данных при наличии зависших заказов
Иногда заказы могут 'зависать' в статусе 'Ожидает оплаты' из-за ошибок в базе данных или сбоев в работе платежного шлюза. Это приводит к тому, что товар не списывается, но заказ считается оплаченным.
Для проверки таких заказов используйте SQL-запрос в phpMyAdmin или другом инструменте управления базой данных. Найдите заказы со статусом 'pending' и проверьте их дату создания и оплату.
Если заказ действительно оплачен, но находится в статусе 'Ожидает оплаты', измените его статус вручную на 'Обработано'. Это спишет товар и исправит ошибку в базе данных.
Для предотвращения таких ситуаций настройте автоматическое удаление или архивацию заказов со статусом 'Ожидает оплаты' старше определенного срока (например, 7 дней). В настройках WooCommerce можно включить опцию 'Удалять заказы со статусом Ожидает оплаты после X дней'.
Если вы используете кастомные поля или плагины, убедитесь, что они не блокируют изменение статуса заказа.
Анализ влияния неоплаченных заказов на точность инвентаризации
Неоплаченные заказы могут искажать данные о реальном наличии товара. Если вы проводите инвентаризацию, учтите все заказы со статусом 'Ожидает оплаты' и отмененные заказы.
Для точного расчета остатков используйте формулу: Физический инвентарь = Общий запас — Заказы со статусом 'Обработано' + Отмененные заказы. Неоплаченные заказы не влияют на эту формулу, так как товар еще не списан.
Если вы используете интеграцию с системой управления складом (WMS), убедитесь, что данные о заказах передаются корректно. Ошибки в передаче данных могут привести к расхождению между физическим и виртуальным остатком.
Рекомендации по политике возврата и обмена для корректного управления остатками
Политика возврата и обмена влияет на управление остатками. Если клиент возвращает товар, он должен быть добавлен обратно на склад после проверки качества.
Настройте автоматическое изменение статуса заказа на 'Возврат' при получении товара от клиента. Это позволит системе автоматически вернуть товар на склад.
Убедитесь, что в настройках WooCommerce включена опция 'Списывать товары при возврате'. Если эта опция не включена, товар останется в статусе 'Возврат', и его нельзя будет продать другому клиенту.
Вопросы и ответы
Можно ли списать товар с остатка без оплаты заказа?
Нет, по умолчанию WooCommerce не позволяет списывать товар без изменения статуса заказа на 'Обработано'. Это защита от перепродажи одного и того же товара нескольким клиентам.
Как быстро вернуть товар на склад после отмены заказа?
При изменении статуса заказа на 'Отменен' или 'Оплачено' система автоматически возвращает товар на склад. Это происходит мгновенно при ручном изменении статуса.
Какие плагины рекомендуются для управления статусами заказов?
Рекомендуются плагины 'WooCommerce Order Status Manager' или 'YITH WooCommerce Order Status Manager'. Они позволяют гибко настраивать логику списания товаров при изменении статуса заказа.


