﻿---
title: "retailCRM и WooCommerce: заказы, остатки и WP-Cron"
description: "Модуль WooCommerce для retailCRM: как устроен обмен заказами, откуда берутся остатки, почему важны интервалы 15 минут и зависимость от WP-Cron."
---

retailCRM — система для обработки интернет-заказов и работы с клиентами: кто отвечает за покупателя, на каком этапе заказ, что оплачено и что нужно отгрузить. Для синхронизации остатков CRM не обязательна: сайт может обмениваться данными напрямую с учётной системой. CRM подключают ради процессов продаж, а не ради передачи количества.

Это важное разделение: retailCRM не заменяет товарный учёт, а встаёт между сайтом и учётом.

## Когда нужен retailCRM

- Менеджерам нужна единая среда для обработки заказов из нескольких каналов, а не работа в админке WordPress.
- Требуется фиксировать этапы работы с клиентом, историю коммуникаций и ответственность менеджеров.
- Заказы приходят не только с сайта, но и из маркетплейсов, мессенджеров, телефона.

Если ничего из этого не нужно, а задача — только правильно считать остатки, retailCRM лишнее звено. Каждое звено в цепочке добавляет задержку и точку отказа.

## Модуль WooCommerce

У retailCRM есть [модуль для WooCommerce](https://docs.retailcrm.ru/Users/Integration/SiteModules/WooCommerce). Он связывает заказы сайта с CRM: заказ создаётся в retailCRM, меняет статусы, синхронизируется состав.

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

## Типовая схема с учётной системой

Один из рабочих вариантов:

1. Покупатель оформляет заказ в WooCommerce.
2. Менеджер обрабатывает его в retailCRM.
3. Документы и остатки ведутся в МойСклад или 1С.
4. Сайт получает доступное количество по выбранному маршруту.

Для МоегоСклада есть [готовая интеграция retailCRM](https://www.retailcrm.ru/marketplace/moysklad): заявлены обмен товарами, остатками и закупочными ценами по складам, а также передача заказов из CRM в учётную систему.

Ключевой вопрос в такой схеме — маршрут остатка. Вариантов два, и смешивать их нельзя:

- **Остатки идут в обход CRM:** учёт → сайт. CRM работает только с заказами.
- **Остатки идут через CRM:** учёт → CRM → сайт. Тогда CRM становится обязательным звеном, и её недоступность останавливает обновление количества.

Первый вариант надёжнее: у CRM нет причин знать точное количество, если она не управляет складом.

## Получение остатков из CRM

В модуле WooCommerce получение остатков из CRM включается отдельно, по умолчанию его нет. Документация указывает:

- обновление **каждые 15 минут**;
- зависимость фоновых задач от **WP-Cron** — встроенного планировщика WordPress.

Обе детали критичны на практике. WP-Cron не является настоящим демоном: он запускается по посещению сайта. На магазине с низким трафиком ночью задачи могут не выполняться, а на сайте с запретом `DISABLE_WP_CRON` в конфигурации — не выполняться вовсе, пока не настроен системный cron, дергающий `wp-cron.php`.

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

## Задержки складываются

Если данные проходят через несколько систем, задержки суммируются: 15 минут обновления в CRM плюс свой интервал выгрузки из учёта плюс время на обработку заказа.

Для товаров с небольшим запасом это означает одно: правила резервирования важнее скорости обмена. Если на складе одна единица, а обмен идёт раз в 15 минут, без резерва в момент оформления её продадут дважды — второй покупатель узнает об этом из письма об отмене.

Что помогает:

- **Резерв при оформлении** на стороне учёта или CRM, а не только списание при оплате.
- **Страховой буфер** в доступности, покрывающий фактическую задержку.
- **Ограничение продажи последних единиц**: часть магазинов показывает «осталось N» и не даёт купить больше, чем есть в резерве.

## Что проверить

- **Маршрут заказа единственный.** Заказ не создаётся одновременно и напрямую в учёте, и через CRM.
- **Дубли не появляются.** Повторная синхронизация обновляет существующий заказ по внешнему ID.
- **Смена статуса не зацикливается.** Статус, пришедший из CRM, не отправляется обратно как изменение с сайта.
- **Остатки не обнуляются при ошибке.** Недоступность CRM или учёта не должна снимать товары с продажи.
- **Расписание работает.** WP-Cron выполняет задачи по системному cron, а не по случайным визитам.
- **Есть журнал обмена.** Видно, когда последний раз обновлялись остатки и какие заказы не доехали.

## Связанные страницы

- [Остатки в WooCommerce: где вести учёт](https://wpcraft.ru/kb/stacks/woocommerce/stock.md) — выбор схемы и общие проверки.
- [МойСклад](https://wpcraft.ru/kb/stacks/woocommerce/stock/moysklad.md) — типичный учёт в связке с retailCRM.
- [1С](https://wpcraft.ru/kb/stacks/woocommerce/stock/1c.md) — второй частый вариант учётной системы под CRM.
- [Битрикс24](https://wpcraft.ru/kb/stacks/woocommerce/stock/bitrix24.md) — альтернативная CRM с собственным складским режимом.
- [Управление заказами](https://wpcraft.ru/kb/stacks/woocommerce/orders.md) — статусы и возвраты внутри WooCommerce.

## Материалы и источники

- [Управление остатками в WooCommerce: МойСклад, 1С, retailCRM и Битрикс24](https://wpcraft.ru/blog/upravlenie-ostatkami-v-woocommerce-mojsklad-1s-retailcrm-i-bitriks24)
- [Модуль WooCommerce — документация retailCRM](https://docs.retailcrm.ru/Users/Integration/SiteModules/WooCommerce)
- [Управление заказами — возможности retailCRM](https://www.retailcrm.ru/oms)
- [Интеграция retailCRM с МойСклад](https://www.retailcrm.ru/marketplace/moysklad)
- [Настройка плагина WooCommerce: остатки и WP-Cron](https://docs.retailcrm.ru/Users/Integration/SiteModules/WooCommerce/InstallingPlugin)