Более 200 модулей для CS-Cart по единой подписке за 3 000 ₽ в месяц
Поиск товаров

Двусторонний обмен с МойСклад

Модуль обмена между МойСклад и CS-Cart обеспечивает быстрый двусторонний обмен заказами, товарами, способами оплаты и доставки через API.
Укажите домен без http и слешей. Пример: domain.com
По подписке 18 000 ₽
Написать отзыв
Последняя версия модуля Обновлено:
Есть вопросы по модулю? Напиши нам: HelpDesk Bot

Двусторонний обмен с МойСклад

Этот модуль входит в нашу Подписку.

Оформите подписку — и пользуйтесь всеми модулями без ограничений.

Двусторонний обмен с МойСклад помогает держать магазин и учётную систему в одном потоке данных. Товары, вариации, комплекты, остатки, заказы, оплаты, доставки и статусы не приходится переносить вручную.

Для чего нужен

Модуль нужен, когда продажи ведутся в CS-Cart, а учёт и складской контур живут в МойСклад. Он помогает синхронизировать данные в обе стороны и уменьшает количество ручных правок.

Основные возможности

Импорт и экспорт товаров, вариаций и комплектов. Обмен заказами, статусами заказов, способами оплаты и доставки. Синхронизация остатков по складам и по выбранным правилам. Работа с вебхуками и очередями, чтобы разгружать витрину и админку. Сопоставление категорий, групп товаров и вариаций. Поддержка Multi-Vendor и разных витрин. Отображение результатов последней синхронизации в админке. Отдельные режимы только импорта или только экспорта.

Как работает

Рабочие настройки собраны в разделе синхронизации данных. Там выбирают режим обмена, настраивают импорт и экспорт, сопоставляют сущности и включают нужные сценарии обмена.

При необходимости модуль принимает события через вебхуки, ставит их в очередь и обрабатывает фоном. Для заказов доступна отдельная асинхронная синхронизация.

Остались вопросы по работе модуля?

Напишите нам.


Продукт:
  • Store Builder
  • Store Builder Ultimate
  • Multi-Vendor
  • Multi-Vendor Plus
  • Multi-Vendor Ultimate
Назначение:
  • Владельцам
Архитектура
:
  • Backend
Локализации:
  • 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.1

[+] Добавлена поддержка складов для поставок и резервирования заказов в МойСклад.

[+] Добавлены недостающие служебные поля очереди вебхуков в миграции базы данных.

[*] Повышена стабильность и надёжность синхронизации с МойСклад.

[*] Обновлен шаблон модуля.

v2.11.0 от 2026-05-06

[+] Улучшены настройки синхронизации и сопоставления данных.

[+] Добавлена более понятная информация об обмене товарами и заказами в админке.

[+] Расширена поддержка обмена с МойСклад для товаров, остатков, комплектов и контрагентов.

[!] Повышена стабильность синхронизации товаров, заказов, изображений и остатков.

[!] Улучшено отображение логов, статистики и причин ошибок при обмене.

[!] Обновлена служебная часть модуля для актуальных требований CS-Cart.

v2.10.0 от 2026-03-03

[+] Добавлена вкладка «Атрибуты контрагента» в настройках синхронизации: задание значений по умолчанию для обязательных атрибутов контрагента (Документооборот, ЭДО и др.) при создании контрагента в МойСклад.

[+] Вкладка отображается только при включённом экспорте заказов, галочке «Создавать пользователя» и наличии обязательных атрибутов у контрагента в МойСклад.

[+] В разделе «Импорт отгрузок» настроек синхронизации добавлена настройка «Цена товара для партий»: выбор типа цены из МойСклад (цена из позиции заказа, 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 от 2026-01-22

[*] Обновлен шаблон модуля.

[!] Исправлена проблема с trailing comma (запятая после последнего аргумента) в вызовах функций для обеспечения совместимости с различными версиями PHP.

v2.8.0 от 2026-01-19

[+] Добавлена настройка, позволяющая включать отображения настроек синхронизации для администраторов маркетплейсов.

[+] Добавлена возможность импорта отгрузок из МойСклад в партии на сайте, для это нужен модуль "Партии".

[*] Обновлены файлы лицензирования.

v2.7.0 от 2025-11-12

[!] Исправлена ошибка поиска поля event_id при постановке в очередь.

v2.6.0 от 2025-10-09

[+] Добавлено кэширование настроек модуля для повышения производительности.

[+] Добавлена асинхронная обработка вебхуков через очередь.

[+] Добавлены индексы базы данных для оптимизации запросов.

[*] Оптимизированы запросы в МойСклад.

[*] Изменена обработка вэбхуков, теперь за обработки вэбхуков необходимо запустить крон ссылку обработчика вэбхуков.

v2.5.0 от 2025-08-02

[+] Добавлена возможность в настройках синхронизации при настройке импорта товаров выбирать импорт поля описание из МС в краткое описание на сайте и в подробное описание.

[+] Добавлена проверка наличия методов у объектов модуля warehouses, так как на старых версиях вызывало ошибку.

[+] Уменьшено время ответа на вэбхук.

v2.4.0 от 2025-07-03

[+] Добавлена настройка импорта налогов для товаров.

[+] Добавлена возможность настройки выбора поиска контрагента по ИНН при включенном модуле ms_invoicing.

[+] Добавлена возможность импорта изображений товаров.

[+] Добавлена возможность просмотра логов записи остатков во вкладке количество на странице редактирования товара.

[+] Добавлена возможность обновления остатков во время отработки вэбхука по созданию/обновлению остатков.

[*] Классы API разбиты на несколько отдельных файлов.

[!] Исправлена ошибка при создании вариаций.

v2.3.0 от 2025-04-09

[+] Добавлена возможность выбрать определенный тип цен для разных складов.

[+] Добавлена возможность в настройках модуля задавать время ожидания перед повторным запросом и количество повторных запросов в случае если от сервера придет ответ о превышении лимита запросов.

[+] Добавлена передача с cs-cart в МС информации о доставки в заказе служб доставки, встроенных в cs-cart.

[*] Изменение языковых переменных.

[*] Изменение таблиц в базе данных реализовано через миграции.

[*] Изменено сопоставление складов для импорта.

[*] Исправлена ошибка при экспорте товара не экспортировались остатки по складам.

[*] Исправлена ошибка при экспорте заказа с одинаковым названием на сайте и в МС заказ не создавался на стороне МС.

[*] Изменена отправка запросов в МС, добавлена обработка ответа и повторная отправка запросов после ожидания.

[*] Актуализированы файлы лицензий.

[*] Изменена работа по вэбхуку, теперь сперва возвращается ответ серверу с которого пришел вэбхук, потом идет обработка данных из него.

[*] Добавлена возможность выгружать остатки товаров по складам через один запрос (до 1000 товаров за один запрос).

[*] Добавлена возможность импортировать "Остатки в поле 'остаток в МойСклад'" независимо от настройки "Импортировать поля при обновлении товара".

[*] Изменены настройки: "Префикс номера заказа" перенесена во вкладку настройки экспорта, "Не синхронизировать номера заказа" изменена на "Передавать номера заказов", если включена галочка "Передавать номера заказов", то потом проверяется префикс.

[*] Изменен алгоритм обновления остатков товаров по вэбхуку с учетом складов.

[-] Удалена настройка для импорта товаров "Импортировать остатки" вместо этого проверяется настройка "Импортировать поля при обновлении товара".

v2.2.2 от 2024-08-13

[*] Исправлена запись цен товара по всем витринам, если такая настройка включена.

[*] Изменен вызов функции array_key_first, заменено на внутреннюю функцию.

[-] Из модуля удален экспорт товаров, так как в старой версии он не работал с вариациями.

v2.2.1 от 2024-05-15

[+] Добавлена возможность использование цен одной витрины для всех витрин.

[+] Добавлена проверка и извлечение значения из массива при передаче штрихкода из МойСклад.

[+] Расширенный поиск у товаров который имеется или отсутствует id MoySklad.

[+] Добавлена передача ПЗВ в поле "Адрес доставки" МойСклад.

[+] Добавлена функция обнуления отрицательных остатков.

[*] Исправлена передача external_id при обновлении товара.

[*] Исправлен шаблон по отрисовке синхронизации данных.

[*] Изменена ссылка на выгрузку всех остатков с учетом настроек синхронизации.

[*] Подправлено извлечение сопоставлений с использованием company_id и storefront_id.

[*] Подправлено обновление заказа.

[*] Исправлено создание вариаций.

[*] Изменено название модуля.

[*] Изменено описание модуля.

[*] Изменена языковая переменная.

v2.2.0 от 2023-11-22

[+] Добавлены кнопки "Удалить из карты сопоставлений", "Перепривязать" и "Связать товар с товаром в МойСклад" на странице редактирования товара.

[+] Добавлены недостающие методы в класс MoySklad2 для того, чтобы можно было удалить класс MoySklad.

[*] Изменена ссылка на главный домен при обращении к АПИ МойСклада, согласно документации. Старый домен прекратит свою работу 01.12.2023.

[*] Изменен тип кодирования/декодирования запросов и ответов, согласно новой документации на gzip.

[*] Исправлена сборка external_id для вариаций.

[*] Исправлены орфографические ошибки в языковых переменных.

[-] Удален старый файл с классом MoySklad.

v2.1.1 от 2023-11-02

[!] Исправлена ошибка при создании заказа с префиксом в названии.

v2.1.0 от 2023-10-20

[+] Добавлено сопоставление налогов.

[+] Добавлено сохранение и вывод ошибок при обновлении/создании заказа на странице редактирования заказа.

[+] Добавлена проверка типов данных полей заказа, обрабатываться будут только строчные типы данных.

[+] Добавлено сопоставление способов доставки.

[+] Добавлена проверка дополнительных полей заказа (допускаются только типы string, text, url), так же добавлено преобразование массивов и болевых в текстовую информацию. Добавлено преобразование company_id в название компании или витрины и issuer_id в ФИ менеджера.

[+] Добавлена проверка типа выгружаемых остатков во вкладке "Выгрузки" с типами импортируемых остатков во складке "Настройки импорта" и блокировка ссылки для выгрузки при их несовпадении.

[*] Исправлена установка склада по умолчанию при создании заказа.

[*] Стандартизация модуля.

[*] Изменена иконка модуля.

[!] Исправлены баги.

[!] Исправлена ошибка при создании заказа от лица инкогнито и прикрепление не того пользователя в системе МойСклад по причине пустого номера телефона.

v2.0.0 от 2023-07-29

[+] Добавлена возможность сохранять настройки и сопоставления данных для разных витрин и разных компаний.

[+] Добавлена возможность отдельно включать и отключать импорт и экспорт.

[+] Добавлена возможность подключения к сервису МойСклад через токен.

[+] Добавлена возможность выбора периода времени создания заказов для экспорта и импорта.

[+] Добавлена возможность выбора полей для создания и обновления товара.

[+] Добавлена возможность выбора данных для использования в качестве кода товара.

[+] Добавлена работа с вариациями в частности сопоставления характеристик для вариаций.

[+] Добавлена возможность сопоставления цен сайта с ценами сервиса МойСклад.

[+] Добавлена возможность сопоставления статусов заказа сайта со статусами сервиса МойСклад.

[*] Настройки модуля и сопоставления данных перенесены на страницы 'Синхронизация данных'.

[*] Управление вэбхуками стало удобней (добавлена возможность отключать, включать и удалять каждый вэбхук по отдельности), а так же возможность удалить разом все вэбхуки.

[*] Более удобной стало работа с выгрузками (добавлено динамическое составление ссылки для cron в зависимости от выбранных настроек).

v1.11.31 от 2023-05-16

[+] Добавлено создание товара, если соответствующая галочка в настройках включена.

[+] Добавлена настройка для управления удаления заказов.

[*] Изменена работа модуля: модуль может работать независимо от модулей commerceml.

[*] Изменен поиск товаров и заказов и сохранение их external_id.

v1.11.30 от 2023-05-05

[+] Добавлена проверка директории и ее создание в случае отсутствия.

v1.11.29 от 2023-05-03

[+] Добавлено сопоставление характеристик для передачи их на сайт.

[*] Изменена структура логирования.

v1.11.28 от 2022-12-30

[*] Минусовые остатки теперь отображаются как ноль.

v1.11.27 от 2022-10-09

[+] Стандартизация модуля.

v1.11.26 от 2022-12-13

[+] Из остатков теперь вычитается резерв.

[!] Остатки выгружаются по складу указанному в настройках.

v1.11.25 от 2022-12-09

[+] Добавлен функционал импорта остатков по web-хуку.

[+] Добавлен функционал импорта всех остатков по нажатию на кнопку.

[+] Для импорта товаров и остатков добавлена возможность использования внешнего кода нового cml.

[+] Добавлены настройки.

[*] Настройки логичнее сгруппированы.

v1.10.25 от 2022-10-09

[+] Стандартизация модуля.

v1.10.24 от 2022-09-17

[*] Изменён и оптимизирован функционал смены статуса и резервирования товаров.

v1.9.24 от 2022-09-16

[+] Добавлена возможность присутствия в заказе более 100 позиций.

[+] Добавлены пре-контроллеры для старого и нового CommerceML (теперь не нужно прописывать код).

[+] Добавлено обновление информации о покупателе.

[*] Изменена логика присвоения номеров заказов.

[*] Изменены запись и просмотор логов.

[*] Изменены настройки по умолчанию.

[!] Исправлена ошибка в настройках при выключенном модуле.

[!] Исправлено добавление товаров в заказ при загрузке в cs-cart.

[!] Исправлено множество багов и нотисов.

v1.8.24 от 2022-02-22

[!] Исправлен баг при смене статуса заказа.

v1.8.23 от 2022-02-16

[+] Добавлено размещение заказа, даже если не найден товар.

[!] Исправлена логика поиска товара в МойСклад.

v1.8.21 от 2022-01-20

[!] Исправлен баг.

v1.8.20 от 2022-01-20

[+] Добавлена возможность обновления некоторых характеристик товара в cs-cart.

v1.7.20 от 2022-01-14

[!] Устранён баг при изменении статуса.

v1.7.18 от 2021-11-29

[*] Изменена иконка модуля.

v1.7.17 от 2021-11-04

[!] Устранён баг привязки заказов к своим витринам.

v1.7.16 от 2021-10-28

[+] Добавлена возможность частичного обновления данных товара в cs-cart.

[!] Устранён баг c удалением информации о гарантии.

[!] Устранены баги связанные с товарами в заказе.

[!] Устранены баги с адресами в заказе.

v1.6.16 от 2021-10-21

[+] Добавлена настройка отключения создания новых заказов в cs-cart.

[!] Устранён баг c исчезновением скидки при двустороннем обмене.

v1.6.15 от 2021-10-18

[!] Устранён баг с удалением цен из МойСклад при массовом редактировании товара.

[!] Устранён баг с ошибкой при создании заказа в МойСклад (атомат. создание услуги доставки).

[!] Устранён баг с неверным вычислением скидки заказа.

v1.6.14 от 2021-10-08

[!] Устранён баг с удалением артикула из МойСклад при массовом редактировании товара.

v1.6.13 от 2021-09-29

[*] Изменены языковые переменные.

v1.4.9 от 2021-03-23

[+] Добавлены языковые переменные.

v1.4.8 от 2021-03-02

[!] Исправлен баг.

v1.4.5 от 2021-03-02

[+] Добавлен en lang.

[!] Изменен налог.

v1.4.3 от 2021-02-15

[+] Добавлены функции.

v1.4.1 от 2021-02-04

[*] Обновления и доработки.

v1.4.0 от 2021-01-25

[+] Сохранение external_id при создании товара модулем в МойСклад.

[+] Добавлена таблица для сохранения настроек склада и организации по умолчанию.

[+] Добавлен выбор организации по умолчанию.

[!] Исправлен сброс настроек склада по неясным причинам.

v1.3.8 от 2020-12-15

[!] Исправление бага.

v1.3.7 от 2020-12-15

[!] Исправлены обновления продукта.

v1.3.6 от 2020-12-11

[+] Отключение нумерации заказов со стороны CS CART.

[+] Отключение обновления доп. полей.

[!] Исправлен первый статус заказа - "Незавершенный".

v1.3.5 от 2020-12-09

[!] Исправлены пользовательские справочники.

v1.3.0 от 2020-11-26

[+] Добавлена возможность модификаций.

[+] Добавлено поле order_id в комментарий к заказу.

v1.2.5 от 2020-10-20

[+] Добавлены настройки для не обновляемых заказов.

v1.2.4 от 2020-10-14

[+] Добавлены приоритеты.

v1.2.3 от 2020-10-14

[+] Добавлена поддержка API МойСклад.

v1.2.2 от 2020-10-06

[!] Исправлены баги.

v1.2.1 от 2020-10-01

[!] Исправлены баги.

v1.2.0 от 2020-09-30

[+] Добавлены дополнительные поля.

[+] Добавлен учет налога.

[+] Добавлена учет скидок от промоакций.

[+] Добавлена поддержка юридических лиц.

v1.0.0 от 2020-03-15

[+] Первый выпуск.

[+] — добавлено.

[-] — удалено.

[*] — изменено или улучшено.

[!] — исправлена ошибка.

Обозначения:

[+] Добавлено

[-] Удалено

[*] Изменено

[!] Исправлена ошибка

Отзывы
Abay Mirmanov
То что надо! Легко интегрируется с Мой Склад. Ребята в тех.поддержке отвечают оперативно. Советую всем.
Похожие модули