МойСклад закрывает товарный учёт, RetailCRM — приём и обработку заказов. Связка снимает двойной ввод: остатки и цены приходят из учётной системы, а заказы и отгрузки уезжают обратно. Разберём, как настроить обмен так, чтобы он работал стабильно, а не порождал расхождения.
Зачем связывать RetailCRM и МойСклад
МойСклад отвечает за товарный контур: номенклатуру, закупки, себестоимость, оприходования и отгрузки. RetailCRM — за клиентский: заказы из всех каналов, статусную модель, коммуникации и аналитику продаж. Без интеграции менеджеры видят один остаток, кладовщик — другой, а себестоимость в отчётах RetailCRM отсутствует.
Связка решает три задачи:
- Актуальные остатки в карточке заказа — оператор не продаёт то, чего нет на складе;
- Единый справочник товаров и цен — номенклатура ведётся в одном месте, обычно в МойСклад;
- Автоматические отгрузки — оплаченный и собранный заказ списывается со склада без ручного проведения документов.
Штатный модуль и способы подключения
У RetailCRM есть готовая интеграция с МойСклад в разделе Маркетплейс → Склады и учётные системы. Это самый быстрый путь: не нужен свой сервер, обмен идёт через облако. Подключение занимает несколько шагов:
- В МойСклад создать токен доступа или указать логин администратора API;
- В RetailCRM активировать модуль «МойСклад» и вставить учётные данные;
- Выбрать организацию, склады и группы товаров для обмена;
- Настроить соответствие статусов заказов и типов документов отгрузки.
Если типового функционала не хватает (сложный маппинг, нестандартная логика резервов, несколько юрлиц), обмен строят через API обеих систем. RetailCRM отдаёт события по вебхукам, МойСклад — через JSON API 1.2. Такой вариант требует прослойки-коннектора, но снимает ограничения коробочного модуля.
| Способ | Кому подходит | Ограничения |
|---|---|---|
| Штатный модуль | Стандартный процесс, один-два склада | Фиксированная логика маппинга |
| Своя интеграция по API | Несколько юрлиц, сложные правила | Нужна разработка и поддержка |
Обмен товарами и ценами
Первый этап после подключения — загрузка каталога. Из МойСклад в RetailCRM переносятся номенклатура, модификации (характеристики), артикулы, штрихкоды, изображения и типы цен. Ключевой момент — сопоставление по внешнему коду: у каждого товара МойСклад есть уникальный идентификатор, по которому RetailCRM находит соответствие и не создаёт дубли.
- Типы цен. В МойСклад может быть несколько цен (розница, опт, сайт). Выберите, какая уходит в RetailCRM как основная, а какие — как дополнительные;
- Модификации. Размер, цвет и прочие характеристики должны маппиться на торговые предложения, иначе остатки «схлопнутся» на уровень товара;
- Единицы измерения и НДС переносятся вместе с карточкой — проверьте их до первой отгрузки.
Остатки и резервирование
Остатки всегда считает МойСклад — это его зона ответственности. В RetailCRM они приезжают в разрезе складов и обновляются по расписанию либо по событию. Важно различать физический остаток и доступный к продаже:
- Остаток — сколько товара лежит на складе;
- Резерв — сколько зарезервировано под уже принятые заказы;
- Доступно — разница, именно это число должно видеть оператор.
При создании заказа в RetailCRM интеграция может ставить резерв в МойСклад, чтобы один товар не ушёл двум покупателям. Резерв обычно вешается при переходе заказа в статус группы «Комплектация» и снимается при отгрузке или отмене.
Заказы и отгрузки
Обратный поток — из RetailCRM в МойСклад. Когда заказ доходит до нужного статуса, интеграция создаёт в МойСклад документ: заказ покупателя, отгрузку или счёт. Логика привязана к группам статусов RetailCRM.
| Статус в RetailCRM | Действие в МойСклад |
|---|---|
| Новый / согласование | Создаётся заказ покупателя |
| Комплектация | Ставится резерв товара |
| Отгружен | Проводится отгрузка, списание со склада |
| Отменён | Снимается резерв, документ отменяется |
Соответствие статусов задаётся в настройках модуля. Ошибка на этом шаге — самая типичная причина, почему «отгрузки не создаются»: статус в RetailCRM не привязан к событию в МойСклад.
Типовые ошибки и контроль
Даже настроенный обмен требует наблюдения. Что проверять регулярно:
- Журнал синхронизации в модуле — там видно, какие товары или заказы не прошли и почему;
- Расхождения остатков — сверяйте выборочно позиции с быстрым оборотом;
- Лимиты API МойСклад — при большом каталоге частые запросы упираются в ограничения, обмен замедляется;
- Не сопоставленные товары — новинки без внешнего кода не участвуют в обмене остатками.
Итог
Интеграция RetailCRM с МойСклад строится вокруг простого разделения ролей: МойСклад — товары, остатки и себестоимость; RetailCRM — заказы, статусы и коммуникации. Ключ к стабильности — единый источник каталога, корректный маппинг по внешним кодам, продуманная привязка статусов к документам отгрузки и регулярный контроль журнала обмена.
Мы настраиваем такую связку под конкретный процесс: разбираем справочник, убираем дубли, выстраиваем логику резервов и отгрузок, а затем сопровождаем обмен, чтобы расхождения не накапливались. Если нужен обмен не по коробочному сценарию, собираем интеграцию через API обеих систем.
Частые вопросы
Какая система должна быть мастером по товарам?
Чаще всего МойСклад, потому что там ведётся закупка и себестоимость. RetailCRM в этом случае принимает готовый каталог и не редактирует номенклатуру вручную.
Нужен ли свой сервер для интеграции?
Для штатного модуля — нет, обмен идёт через облако. Собственный сервер и коннектор нужны только при нестандартной логике или обмене через API.
Как часто обновляются остатки?
Интервал задаётся в настройках и зависит от оборота. Для быстрой розницы ставят минимальный интервал, для медленных товаров хватает 15–30 минут.
Почему появляются дубли товаров?
Обычно из-за того, что одну и ту же позицию заводили вручную в обеих системах. Перед запуском нужно выверить справочник и оставить единый источник ведения каталога.
Ставит ли интеграция резерв в МойСклад?
Да, резерв обычно вешается при переходе заказа в статус комплектации и снимается при отгрузке или отмене, чтобы товар не ушёл двум покупателям.
Что делать, если отгрузки не создаются?
Чаще всего дело в маппинге статусов: нужный статус RetailCRM не привязан к событию отгрузки в МойСклад. Проверьте соответствие статусов в настройках модуля.
Можно ли работать с несколькими юрлицами?
Штатный модуль ориентирован на одну организацию и склады. Для нескольких юрлиц обычно строят интеграцию через API с собственной логикой распределения.
Поможем с настройкой и поддержкой RetailCRM
Поможем с настройкой, доработкой и поддержкой RetailCRM.