Этот модуль входит в нашу Подписку.
Оформите подписку — и пользуйтесь всеми модулями без ограничений.
Двусторонний обмен с МойСклад помогает держать магазин и учётную систему в одном потоке данных. Товары, вариации, комплекты, остатки, заказы, оплаты, доставки и статусы не приходится переносить вручную.
Для чего нужен
Модуль нужен, когда продажи ведутся в CS-Cart, а учёт и складской контур живут в МойСклад. Он помогает синхронизировать данные в обе стороны и уменьшает количество ручных правок.
Основные возможности
Импорт и экспорт товаров, вариаций и комплектов. Обмен заказами, статусами заказов, способами оплаты и доставки. Синхронизация остатков по складам и по выбранным правилам. Работа с вебхуками и очередями, чтобы разгружать витрину и админку. Сопоставление категорий, групп товаров и вариаций. Поддержка Multi-Vendor и разных витрин. Отображение результатов последней синхронизации в админке. Отдельные режимы только импорта или только экспорта.
Как работает
Рабочие настройки собраны в разделе синхронизации данных. Там выбирают режим обмена, настраивают импорт и экспорт, сопоставляют сущности и включают нужные сценарии обмена.
При необходимости модуль принимает события через вебхуки, ставит их в очередь и обрабатывает фоном. Для заказов доступна отдельная асинхронная синхронизация.
Остались вопросы по работе модуля?
- Store Builder
- Store Builder Ultimate
- Multi-Vendor
- Multi-Vendor Plus
- Multi-Vendor Ultimate
- Владельцам
- English
- Русский
- 4.20.X
- 4.19.X
- 4.18.X
- 4.17.X
- 4.16.X
- 4.15.X
- 4.14.X
- 4.13.X
- 4.12.X
Инструкция к модулю Двусторонний обмен с МойСклад
Модуль синхронизирует данные между CS-Cart и МойСклад в обе стороны. Он работает с товарами, вариациями, комплектами, остатками, заказами, статусами, способами оплаты и доставки, категориями и вебхуками.
Что делает модуль
Модуль передаёт и получает данные по выбранному режиму обмена. Можно включить только импорт, только экспорт или двусторонний обмен. Для заказов предусмотрена фоновая синхронизация, а для событий из МойСклад есть обработка через очередь.
Дополнительно модуль поддерживает сопоставление категорий и групп товаров, работу с вариациями, управление остатками по складам и отображение результата последней синхронизации в админке.
Где находится модуль
Рабочие настройки находятся в разделе Администрирование → Синхронизация данных → MS: Двусторонний обмен с МойСклад. Там доступны вкладки Общие, Настройки импорта, Настройки экспорта, Вебхуки, Категории и Вариации.
На странице настроек аддона есть навигационная ссылка на раздел синхронизации данных и на статус заказов, чтобы быстро перейти к рабочим экранам.
Как настроить обмен
Вкладка Общие используется для подключения к МойСклад и выбора режима обмена. Здесь же задаются базовые параметры синхронизации.
Во вкладках Настройки импорта и Настройки экспорта включают нужные сценарии для товаров и заказов, выбирают, что именно обновлять, и настраивают поведение при создании и изменении объектов.
Во вкладке Категории сопоставляют группы товаров МойСклад с категориями сайта. Можно использовать категорию по умолчанию или создавать категорию при синхронизации.
Во вкладке Вариации настраивают сопоставление характеристик сайта и характеристик МойСклад.
Во вкладке Вебхуки создают и переключают вебхуки для событий из МойСклад. Если вебхуки больше не нужны, их можно удалить по одному или сразу все.
Для заказов можно включить передачу номеров, добавление номера в комментарий, резервирование позиций и создание статусов в МойСклад, если нужный статус ещё не заведён.
Для остатков проверьте, что активны нужные склады и корректно настроен тип отчёта остатков. Если используется отдельная логика складов, заранее задайте сопоставление складов МойСклад и склада сайта.
Как проверить работу
После сохранения настроек запустите синхронизацию товаров или заказов и убедитесь, что в карточке объекта появился результат последней синхронизации без ошибки.
Проверьте раздел синхронизации данных, там должны обновляться статус, прогресс и журнал обмена. Если что-то не прошло, причина обычно видна в карточке товара, заказа или в логах.
Для вебхуков проверьте список подключённых вебхуков в МойСклад и убедитесь, что события доходят до очереди без ошибок.
История изменений
v2.11.0
06.05.2026
Новые возможности и улучшения:
- Улучшены настройки синхронизации и сопоставления данных
- Добавлена более понятная информация об обмене товарами и заказами в админке
- Расширена поддержка обмена с МойСклад для товаров, остатков, комплектов и контрагентов
Исправления и изменения:
- Повышена стабильность синхронизации товаров, заказов, изображений и остатков
- Улучшено отображение логов, статистики и причин ошибок при обмене
- Обновлена служебная часть модуля для актуальных требований CS-Cart
v2.10.0
03.03.2026
Новые возможности и улучшения:
- Добавлена вкладка «Атрибуты контрагента» в настройках синхронизации: задание значений по умолчанию для обязательных атрибутов контрагента (Документооборот, ЭДО и др.) при создании контрагента в МойСклад
- Вкладка отображается только при включённом экспорте заказов, галочке «Создавать пользователя» и наличии обязательных атрибутов у контрагента в МойСклад
- В разделе «Импорт отгрузок» настроек синхронизации добавлена настройка «Цена товара для партий»: выбор типа цены из МойСклад (цена из позиции заказа, minPrice, buyPrice или тип из справочника цен) для использования при импорте заказов поставщиков в партии
- При импорте заказов поставщиков в партии цена позиции берётся согласно выбранной настройке: из позиции заказа, из полей товара/вариации МойСклад (minPrice, buyPrice) или из типа цены продажи (salePrices)
- Добавлена асинхронная синхронизация статусов заказов: смена статуса в админке теперь занимает 3-5 сек вместо 30-60 сек, синхронизация с МойСклад происходит в фоне через AJAX
- Создан класс StatusSyncQueue для управления очередью задач синхронизации статусов с повторными попытками при ошибках
- Добавлен класс BackgroundProcessor для фоновой обработки через fastcgi_finish_request() без блокировки UI
- Реализована автоматическая обработка очереди через JavaScript с уведомлениями в реальном времени о завершении синхронизации
- Оптимизирована массовая синхронизация остатков: время синхронизации 4500 товаров сокращено с 34 минут до ~10 минут
- Создан класс StockBulkSync с bulk загрузкой маппингов (1 запрос вместо 9000) и batch обновлением остатков (9 запросов вместо 4500)
- Добавлено структурированное логирование в формате "дата | событие | сущность | id | результат | время | детали"
- Реализованы методы logStructured(), logWebhook(), logStockSync(), logOrderStatus() для читаемых логов с таймингами
- Добавлен CLI прогресс-бар для синхронизации остатков с отображением процента выполнения в реальном времени
Изменения и доработки:
- В шаблоне вкладки «Импорт отгрузок» добавлен selectbox с вариантами цен, получаемыми из API МойСклад (get_pricetypes), с пунктом «Цена товара из партии» по умолчанию
Исправления и изменения:
- Исправлена ошибка 3000 при создании контрагента: обязательные атрибуты заполняются из настроек, убраны жёстко заданные значения
- При работе с заказами и товарами storefront_id и company_id (только в Multi-Vendor) берутся из заказа/товара и используются для корректной работы в multi-storefront и Multi-Vendor
- При работе с партиями (заказы поставщиков) storefront_id и company_id берутся из партии: связывание партии с заказом поставщика, обновление заказа поставщика, удаление из карты соответствий
- fn_ms_moysklad_get_company_and_storefront_ids: всегда проверяет Registry первым (в т.ч. в админке) для корректного контекста при вызовах из обработчиков
- Исправлена инвертированная логика в update_purchaseorder: обработка выполняется при наличии moysklad_id
- Исправлена ошибка 3007 «Код "0" должен быть уникальным» при создании контрагента для гостевых заказов (user_id=0): теперь используется уникальный код вида guest_{order_id}
- Исправлена ошибка 2016 «значение поля meta не соответствует типу объект»: во все запросы к API МойСклад передаётся только валидный meta (объект с href), пустые строки и массивы исключены
- Исправлена ошибка записи поля s_address в атрибуты заказа: использовался $order вместо $result
- Исправлено дублирование номера заказа в комментарии при многократной смене статусов: номер добавляется только при первом экспорте, при обновлении используется существующий комментарий из МойСклад если он уже содержит номер
- Исправлены deprecated warnings в методе set_notification_log для совместимости с PHP 8.0+
v2.9.0
22.01.2026
Изменения и доработки:
- Обновлен шаблон модуля
Исправления и изменения:
- Исправлена проблема с trailing comma (запятая после последнего аргумента) в вызовах функций для обеспечения совместимости с различными версиями PHP
v2.8.0
19.01.2026
Новые возможности и улучшения:
- Добавлена настройка, позволяющая включать отображения настроек синхронизации для администраторов маркетплейсов
- Добавлена возможность импорта отгрузок из МойСклад в партии на сайте, для это нужен модуль "Партии"
Изменения и доработки:
- Обновлены файлы лицензирования
v2.7.0
12.11.2025
Исправления и изменения:
- Исправлена ошибка поиска поля event_id при постановке в очередь
v2.6.0
09.10.2025
Новые возможности и улучшения:
- Добавлено кэширование настроек модуля для повышения производительности
- Добавлена асинхронная обработка вебхуков через очередь
- Добавлены индексы базы данных для оптимизации запросов
Изменения и доработки:
- Оптимизированы запросы в МойСклад
- Изменена обработка вэбхуков, теперь за обработки вэбхуков необходимо запустить крон ссылку обработчика вэбхуков
v2.5.0
02.08.2025
Новые возможности и улучшения:
- Добавлена возможность в настройках синхронизации при настройке импорта товаров выбирать импорт поля описание из МС в краткое описание на сайте и в подробное описание
- Добавлена проверка наличия методов у объектов модуля warehouses, так как на старых версиях вызывало ошибку
- Уменьшено время ответа на вэбхук
v2.4.0
03.07.2025
Новые возможности и улучшения:
- Добавлена настройка импорта налогов для товаров
- Добавлена возможность настройки выбора поиска контрагента по ИНН при включенном модуле ms_invoicing
- Добавлена возможность импорта изображений товаров
- Добавлена возможность просмотра логов записи остатков во вкладке количество на странице редактирования товара
- Добавлена возможность обновления остатков во время отработки вэбхука по созданию/обновлению остатков
Изменения и доработки:
- Классы API разбиты на несколько отдельных файлов
Исправления и изменения:
- Исправлена ошибка при создании вариаций
v2.3.0
09.04.2025
Новые возможности и улучшения:
- Добавлена возможность выбрать определенный тип цен для разных складов
- Добавлена возможность в настройках модуля задавать время ожидания перед повторным запросом и количество повторных запросов в случае если от сервера придет ответ о превышении лимита запросов
- Добавлена передача с cs-cart в МС информации о доставки в заказе служб доставки, встроенных в cs-cart
Изменения и доработки:
- Изменение языковых переменных
- Изменение таблиц в базе данных реализовано через миграции
- Изменено сопоставление складов для импорта
- Исправлена ошибка при экспорте товара не экспортировались остатки по складам
- Исправлена ошибка при экспорте заказа с одинаковым названием на сайте и в МС заказ не создавался на стороне МС
- Изменена отправка запросов в МС, добавлена обработка ответа и повторная отправка запросов после ожидания
- Актуализированы файлы лицензий
- Изменена работа по вэбхуку, теперь сперва возвращается ответ серверу с которого пришел вэбхук, потом идет обработка данных из него
- Добавлена возможность выгружать остатки товаров по складам через один запрос (до 1000 товаров за один запрос)
- Добавлена возможность импортировать "Остатки в поле 'остаток в МойСклад'" независимо от настройки "Импортировать поля при обновлении товара"
- Изменены настройки: "Префикс номера заказа" перенесена во вкладку настройки экспорта, "Не синхронизировать номера заказа" изменена на "Передавать номера заказов", если включена галочка "Передавать номера заказов", то потом проверяется префикс
- Изменен алгоритм обновления остатков товаров по вэбхуку с учетом складов
Удалено:
- Удалена настройка для импорта товаров "Импортировать остатки" вместо этого проверяется настройка "Импортировать поля при обновлении товара"
v2.2.2
13.08.2024
Изменения и доработки:
- Исправлена запись цен товара по всем витринам, если такая настройка включена
- Изменен вызов функции array_key_first, заменено на внутреннюю функцию
Удалено:
- Из модуля удален экспорт товаров, так как в старой версии он не работал с вариациями
v2.2.1
15.05.2024
Новые возможности и улучшения:
- Добавлена возможность использование цен одной витрины для всех витрин
- Добавлена проверка и извлечение значения из массива при передаче штрихкода из МойСклад
- Расширенный поиск у товаров который имеется или отсутствует id MoySklad
- Добавлена передача ПЗВ в поле "Адрес доставки" МойСклад
- Добавлена функция обнуления отрицательных остатков
Изменения и доработки:
- Исправлена передача external_id при обновлении товара
- Исправлен шаблон по отрисовке синхронизации данных
- Изменена ссылка на выгрузку всех остатков с учетом настроек синхронизации
- Подправлено извлечение сопоставлений с использованием company_id и storefront_id
- Подправлено обновление заказа
- Исправлено создание вариаций
- Изменено название модуля
- Изменено описание модуля
- Изменена языковая переменная
v2.2.0
22.11.2023
Новые возможности и улучшения:
- Добавлены кнопки "Удалить из карты сопоставлений", "Перепривязать" и "Связать товар с товаром в МойСклад" на странице редактирования товара
- Добавлены недостающие методы в класс MoySklad2 для того, чтобы можно было удалить класс MoySklad
Изменения и доработки:
- Изменена ссылка на главный домен при обращении к АПИ МойСклада, согласно документации. Старый домен прекратит свою работу 01.12.2023
- Изменен тип кодирования/декодирования запросов и ответов, согласно новой документации на gzip
- Исправлена сборка external_id для вариаций
- Исправлены орфографические ошибки в языковых переменных
Удалено:
- Удален старый файл с классом MoySklad
v2.1.1
02.11.2023
Исправления и изменения:
- Исправлена ошибка при создании заказа с префиксом в названии
v2.1.0
20.10.2023
Новые возможности и улучшения:
- Добавлено сопоставление налогов
- Добавлено сохранение и вывод ошибок при обновлении/создании заказа на странице редактирования заказа
- Добавлена проверка типов данных полей заказа, обрабатываться будут только строчные типы данных
- Добавлено сопоставление способов доставки
- Добавлена проверка дополнительных полей заказа (допускаются только типы string, text, url), так же добавлено преобразование массивов и болевых в текстовую информацию. Добавлено преобразование company_id в название компании или витрины и issuer_id в ФИ менеджера
- Добавлена проверка типа выгружаемых остатков во вкладке "Выгрузки" с типами импортируемых остатков во складке "Настройки импорта" и блокировка ссылки для выгрузки при их несовпадении
Изменения и доработки:
- Исправлена установка склада по умолчанию при создании заказа
- Стандартизация модуля
- Изменена иконка модуля
Исправления и изменения:
- Исправлены баги
- Исправлена ошибка при создании заказа от лица инкогнито и прикрепление не того пользователя в системе МойСклад по причине пустого номера телефона
v2.0.0
29.07.2023
Новые возможности и улучшения:
- Добавлена возможность сохранять настройки и сопоставления данных для разных витрин и разных компаний
- Добавлена возможность отдельно включать и отключать импорт и экспорт
- Добавлена возможность подключения к сервису МойСклад через токен
- Добавлена возможность выбора периода времени создания заказов для экспорта и импорта
- Добавлена возможность выбора полей для создания и обновления товара
- Добавлена возможность выбора данных для использования в качестве кода товара
- Добавлена работа с вариациями в частности сопоставления характеристик для вариаций
- Добавлена возможность сопоставления цен сайта с ценами сервиса МойСклад
- Добавлена возможность сопоставления статусов заказа сайта со статусами сервиса МойСклад
Изменения и доработки:
- Настройки модуля и сопоставления данных перенесены на страницы 'Синхронизация данных'
- Управление вэбхуками стало удобней (добавлена возможность отключать, включать и удалять каждый вэбхук по отдельности), а так же возможность удалить разом все вэбхуки
- Более удобной стало работа с выгрузками (добавлено динамическое составление ссылки для cron в зависимости от выбранных настроек)
v1.11.31
16.05.2023
Новые возможности и улучшения:
- Добавлено создание товара, если соответствующая галочка в настройках включена
- Добавлена настройка для управления удаления заказов
Изменения и доработки:
- Изменена работа модуля: модуль может работать независимо от модулей commerceml
- Изменен поиск товаров и заказов и сохранение их external_id
v1.11.30
05.05.2023
Новые возможности и улучшения:
- Добавлена проверка директории и ее создание в случае отсутствия
v1.11.29
03.05.2023
Новые возможности и улучшения:
- Добавлено сопоставление характеристик для передачи их на сайт
Изменения и доработки:
- Изменена структура логирования
v1.11.28
30.12.2022
Изменения и доработки:
- Минусовые остатки теперь отображаются как ноль
v1.11.27
09.10.2022
Новые возможности и улучшения:
- Стандартизация модуля
v1.11.26
13.12.2022
Новые возможности и улучшения:
- Из остатков теперь вычитается резерв
Исправления и изменения:
- Остатки выгружаются по складу указанному в настройках
v1.11.25
09.12.2022
Новые возможности и улучшения:
- Добавлен функционал импорта остатков по web-хуку
- Добавлен функционал импорта всех остатков по нажатию на кнопку
- Для импорта товаров и остатков добавлена возможность использования внешнего кода нового cml
- Добавлены настройки
Изменения и доработки:
- Настройки логичнее сгруппированы
v1.10.25
09.10.2022
Новые возможности и улучшения:
- Стандартизация модуля
v1.10.24
17.09.2022
Изменения и доработки:
- Изменён и оптимизирован функционал смены статуса и резервирования товаров
v1.9.24
16.09.2022
Новые возможности и улучшения:
- Добавлена возможность присутствия в заказе более 100 позиций
- Добавлены пре-контроллеры для старого и нового CommerceML (теперь не нужно прописывать код)
- Добавлено обновление информации о покупателе
Изменения и доработки:
- Изменена логика присвоения номеров заказов
- Изменены запись и просмотор логов
- Изменены настройки по умолчанию
Исправления и изменения:
- Исправлена ошибка в настройках при выключенном модуле
- Исправлено добавление товаров в заказ при загрузке в cs-cart
- Исправлено множество багов и нотисов
v1.8.24
22.02.2022
Исправления и изменения:
- Исправлен баг при смене статуса заказа
v1.8.23
16.02.2022
Новые возможности и улучшения:
- Добавлено размещение заказа, даже если не найден товар
Исправления и изменения:
- Исправлена логика поиска товара в МойСклад
v1.8.22
10.02.2022
Исправления и изменения:
- Исправлена ошибка
v1.8.21
20.01.2022
Исправления и изменения:
- Исправлен баг
v1.8.20
20.01.2022
Новые возможности и улучшения:
- Добавлена возможность обновления некоторых характеристик товара в cs-cart
v1.7.20
14.01.2022
Исправления и изменения:
- Устранён баг при изменении статуса
v1.7.18
29.11.2021
Изменения и доработки:
- Изменена иконка модуля
v1.7.17
04.11.2021
Исправления и изменения:
- Устранён баг привязки заказов к своим витринам
v1.7.16
28.10.2021
Новые возможности и улучшения:
- Добавлена возможность частичного обновления данных товара в cs-cart
Исправления и изменения:
- Устранён баг c удалением информации о гарантии
- Устранены баги связанные с товарами в заказе
- Устранены баги с адресами в заказе
v1.6.16
21.10.2021
Новые возможности и улучшения:
- Добавлена настройка отключения создания новых заказов в cs-cart
Исправления и изменения:
- Устранён баг c исчезновением скидки при двустороннем обмене
v1.6.15
18.10.2021
Исправления и изменения:
- Устранён баг с удалением цен из МойСклад при массовом редактировании товара
- Устранён баг с ошибкой при создании заказа в МойСклад (атомат. создание услуги доставки)
- Устранён баг с неверным вычислением скидки заказа
v1.6.14
08.10.2021
Исправления и изменения:
- Устранён баг с удалением артикула из МойСклад при массовом редактировании товара
v1.6.13
29.09.2021
Изменения и доработки:
- Изменены языковые переменные
v1.4.9
23.03.2021
Новые возможности и улучшения:
- Добавлены языковые переменные
v1.4.8
02.03.2021
Исправления и изменения:
- Исправлен баг
v1.4.5
02.03.2021
Новые возможности и улучшения:
- Добавлен en lang
Исправления и изменения:
- Изменен налог
v1.4.3
15.02.2021
Новые возможности и улучшения:
- Добавлены функции
v1.4.1
04.02.2021
Изменения и доработки:
- Обновления и доработки
v1.4.0
25.01.2021
Новые возможности и улучшения:
- Сохранение external_id при создании товара модулем в МойСклад
- Добавлена таблица для сохранения настроек склада и организации по умолчанию
- Добавлен выбор организации по умолчанию
Исправления и изменения:
- Исправлен сброс настроек склада по неясным причинам
v1.3.8
15.12.2020
Исправления и изменения:
- Исправление бага
v1.3.7
15.12.2020
Исправления и изменения:
- Исправлены обновления продукта
v1.3.6
11.12.2020
Новые возможности и улучшения:
- Отключение нумерации заказов со стороны CS CART
- Отключение обновления доп. полей
Исправления и изменения:
- Исправлен первый статус заказа - "Незавершенный"
v1.3.5
09.12.2020
Исправления и изменения:
- Исправлены пользовательские справочники
v1.3.0
26.11.2020
Новые возможности и улучшения:
- Добавлена возможность модификаций
- Добавлено поле order_id в комментарий к заказу
v1.2.5
20.10.2020
Новые возможности и улучшения:
- Добавлены настройки для не обновляемых заказов
v1.2.4
14.10.2020
Новые возможности и улучшения:
- Добавлены приоритеты
v1.2.3
14.10.2020
Новые возможности и улучшения:
- Добавлена поддержка API МойСклад
v1.2.2
06.10.2020
Исправления и изменения:
- Исправлены баги
v1.2.1
01.10.2020
Исправления и изменения:
- Исправлены баги
v1.2.0
30.09.2020
Новые возможности и улучшения:
- Добавлены дополнительные поля
- Добавлен учет налога
- Добавлена учет скидок от промоакций
- Добавлена поддержка юридических лиц
v1.0.0
15.03.2020
Новые возможности и улучшения:
- Первый выпуск