Over 200 add-ons available under a single subscription for $40 per month!

Bilateral exchange with MoySklad

The exchange module between MoySklad and CS-Cart provides fast two-way exchange of orders, products, payment and delivery methods via API
Please enter a valid addres(es) of the shop where you are going to use the add-on.
By subscription 18 000 
Write a review
Latest module version Updated:
Have questions about the module? Write to us: HelpDesk

This add-on is part of our Subscription plan.

Subscribe once, and enjoy all add-ons without limits.

MoySklad Two-Way Exchange keeps your store and accounting system in sync. Products, variants, bundles, stock levels, orders, payments, shipping methods, and statuses do not have to be transferred manually.

What it is for

The add-on is meant for stores that sell in CS-Cart while accounting and warehouse operations are handled in MoySklad. It helps synchronize data in both directions and reduces manual edits.

Key features

Import and export of products, variants, and bundles. Exchange of orders, order statuses, payment methods, and shipping methods. Stock synchronization by warehouses and by selected rules. Webhook and queue processing to reduce the load on the storefront and admin panel. Mapping of categories, product groups, and variations. Multi-Vendor and multi-storefront support. Display of the latest sync result in the admin panel. Separate modes for import only or export only.

How it works

The working settings are gathered in the sync data section. There you choose the exchange mode, configure import and export, map entities, and enable the required exchange scenarios.

When needed, the add-on receives events through webhooks, queues them, and processes them in the background. Orders also have a dedicated asynchronous synchronization flow.

Have questions about the add-on?

Write to us.


Product:
  • Store Builder
  • Store Builder Ultimate
  • Multi-Vendor
  • Multi-Vendor Plus
  • Multi-Vendor Ultimate
Recipient:
  • Owners
Development
:
  • Backend
Localization:
  • English
  • Русский
Compatible versions:
  • 4.20
  • 4.19.X
  • 4.18.X
  • 4.17.X
  • 4.16.X
  • 4.15.X
  • 4.14.X
  • 4.13.X
  • 4.12.X

Instructions for MoySklad Two-Way Exchange

The add-on synchronizes data between CS-Cart and MoySklad in both directions. It works with products, variants, bundles, stock levels, orders, statuses, payment methods, shipping methods, categories, and webhooks.

What it does

The add-on exchanges data according to the selected mode. You can enable import only, export only, or two-way exchange. Orders have a background sync flow, and events from MoySklad are processed through a queue.

It also supports category and product group mapping, variation mapping, warehouse-based stock handling, and showing the latest sync result in the admin panel.

Where the add-on is located

The working settings are located in Administration → Sync Data → MS: MoySklad Two-Way Exchange. The section includes the General, Import Settings, Export Settings, Webhooks, Categories, and Variations tabs.

The add-on settings page includes navigation links to the sync data section and order statuses so you can quickly reach the working screens.

How to configure the exchange

Use the General tab to connect to MoySklad and choose the exchange mode. This is where the base synchronization settings are defined.

In Import Settings and Export Settings, enable the required scenarios for products and orders, choose what should be updated, and set how new or changed objects are handled.

In Categories, map MoySklad product groups to site categories. You can use the default category or create a category during synchronization.

In Variations, map site features to MoySklad variation features.

In Webhooks, create and switch webhooks for events coming from MoySklad. If webhooks are no longer needed, you can remove them one by one or delete them all at once.

For orders, you can enable order number transfer, adding the order number to comments, reserving items, and creating missing statuses in MoySklad.

For stock, make sure the required warehouses are active and the stock report type is set correctly. If you use warehouse-specific logic, map MoySklad warehouses to site warehouses in advance.

How to check the result

After saving the settings, run product or order synchronization and make sure the object page shows the latest sync result without errors.

Check the sync data section, it should update with status, progress, and exchange log information. If something fails, the reason is usually shown on the product page, the order page, or in logs.

For webhooks, verify the list of connected MoySklad webhooks and confirm that events reach the queue without errors.

Changelog

v2.11.0

06.05.2026

New features and improvements:

  • Improved synchronization settings and data mapping
  • Added clearer exchange information for products and orders in the admin panel
  • Expanded MoySklad exchange support for products, stock, bundles, and counterparties

Fixes and changes:

  • Improved synchronization stability for products, orders, images, and stock
  • Made logs, statistics, and exchange issue reasons easier to understand
  • Updated the add-on service layer for current CS-Cart requirements

v2.10.0

03.03.2026

New features and improvements:

  • Added "Counterparty attributes" tab in sync settings: set default values for mandatory counterparty attributes (Document flow, EDI, etc.) when creating counterparty in MoySklad
  • Tab is shown only when order export is enabled, "Create user" is checked, and MoySklad has required counterparty attributes
  • Added "Product price for batches" setting in "Import shipments" sync settings: select price type from MoySklad (order line price, minPrice, buyPrice or price list type) for supplier order import to batches
  • When importing supplier orders to batches, line price is taken per selected setting: from order line, from MoySklad product/variant fields (minPrice, buyPrice) or from sale price type (salePrices)
  • Added async order status sync: status change in admin now takes 3-5 sec instead of 30-60 sec, MoySklad sync runs in background via AJAX
  • Created StatusSyncQueue class for order status sync queue with retries on errors
  • Added BackgroundProcessor class for background processing via fastcgi_finish_request() without blocking UI
  • Implemented automatic queue processing via JavaScript with real-time sync completion notifications
  • Optimized bulk stock sync: 4500 products sync time reduced from 34 min to ~10 min
  • Created StockBulkSync class with bulk mapping load (1 request instead of 9000) and batch stock update (9 requests instead of 4500)
  • Added structured logging in format "date | event | entity | id | result | time | details"
  • Implemented logStructured(), logWebhook(), logStockSync(), logOrderStatus() for readable logs with timings
  • Added CLI progress bar for stock sync with real-time completion percentage

Changes and improvements:

  • Added selectbox with price options from MoySklad API (get_pricetypes) to "Import shipments" tab template, default "Product price from batch"

Fixes and changes:

  • Fixed error 3000 when creating counterparty: required attributes are filled from settings, removed hardcoded values
  • For orders and products, storefront_id and company_id (Multi-Vendor only) are taken from order/product and used for correct operation in multi-storefront and Multi-Vendor
  • For batches (supplier orders), storefront_id and company_id are taken from batch: linking batch to supplier order, updating supplier order, removing from mapping
  • fn_ms_moysklad_get_company_and_storefront_ids: always checks Registry first (including in admin) for correct context when called from handlers
  • Fixed inverted logic in update_purchaseorder: processing runs when moysklad_id is present
  • Fixed error 3007 "Code '0' must be unique" when creating counterparty for guest orders (user_id=0): now uses unique code guest_{order_id}
  • Fixed error 2016 "meta field value does not match object type": only valid meta (object with href) is sent to MoySklad API, empty strings and arrays excluded
  • Fixed s_address field write error in order attributes: $order was used instead of $result
  • Fixed order number duplication in comment on multiple status changes: number added only on first export, on update existing MoySklad comment is used if it already contains the number
  • Fixed deprecated warnings in set_notification_log for PHP 8.0+ compatibility

v2.9.0

22.01.2026

Changes and improvements:

  • Updated module template

Fixes and changes:

  • Fixed trailing comma (comma after last argument) in function calls for compatibility with various PHP versions

v2.8.0

19.01.2026

New features and improvements:

  • Added setting to enable sync settings display for marketplace administrators
  • Added ability to import shipments from MoySklad to batches on site, requires "Batches" module

Changes and improvements:

  • Updated licensing files

v2.7.0

12.11.2025

Fixes and changes:

  • Fixed event_id field search error when queuing

v2.6.0

09.10.2025

New features and improvements:

  • Added module settings caching for better performance
  • Added async webhook processing via queue
  • Added database indexes for query optimization

Changes and improvements:

  • Optimized MoySklad requests
  • Changed webhook processing, now need to run cron link for webhook handler

v2.5.0

02.08.2025

New features and improvements:

  • Added ability in sync settings to choose importing description field from MS to short/long description on site
  • Added check for warehouse module object methods, as older versions caused errors
  • Reduced webhook response time

v2.4.0

03.07.2025

New features and improvements:

  • Added tax import setting for products
  • Added counterparty search by TIN setting when ms_invoicing module is enabled
  • Added product image import capability
  • Added ability to view stock write logs in quantity tab on product edit page
  • Added ability to update stock during webhook processing for stock create/update

Changes and improvements:

  • API classes split into separate files

Fixes and changes:

  • Fixed error when creating variants

v2.3.0

09.04.2025

New features and improvements:

  • Added ability to select specific price type for different warehouses
  • Added ability to set retry wait time and retry count in module settings when server returns rate limit response
  • Added transfer of cs-cart built-in shipping info to MS order

Changes and improvements:

  • Changed language variables
  • Database table changes implemented via migrations
  • Changed warehouse mapping for import
  • Fixed error when product export did not export stock by warehouses
  • Fixed error when order with same name on site and MS was not created on MS side
  • Changed MS request sending, added response handling and retry after wait
  • Updated license files
  • Changed webhook handling: response sent to server first, then data processing
  • Added ability to export product stock by warehouses in one request (up to 1000 products per request)
  • Added ability to import "Stock in MoySklad field" regardless of "Import fields when updating product" setting
  • Changed settings: "Order number prefix" moved to export settings tab, "Do not sync order numbers" changed to "Pass order numbers", prefix checked when enabled
  • Changed product stock update algorithm via webhook with warehouse consideration

Removed:

  • Removed "Import stock" setting for product import, now checks "Import fields when updating product"

v2.2.2

13.08.2024

Changes and improvements:

  • Fixed product price write across all storefronts when setting is enabled
  • Changed array_key_first call to internal function

Removed:

  • Product export removed from module as it did not work with variants in old version

v2.2.1

15.05.2024

New features and improvements:

  • Added ability to use one storefront prices for all storefronts
  • Added check and value extraction from array when passing barcode from MoySklad
  • Extended product search by MoySklad id presence/absence
  • Added delivery address (PZV) transfer to MoySklad
  • Added function to zero negative stock

Changes and improvements:

  • Fixed external_id transfer when updating product
  • Fixed data sync display template
  • Changed full stock export link with sync settings
  • Fixed mapping extraction using company_id and storefront_id
  • Fixed order update
  • Fixed variant creation
  • Changed module name
  • Changed module description
  • Changed language variable

v2.2.0

22.11.2023

New features and improvements:

  • Added "Remove from mapping", "Rebind" and "Link product to MoySklad product" buttons on product edit page
  • Added missing methods to MoySklad2 class to allow MoySklad class removal

Changes and improvements:

  • Changed main domain link for MoySklad API per documentation. Old domain stops 01.12.2023
  • Changed request/response encoding per new gzip documentation
  • Fixed external_id build for variants
  • Fixed typos in language variables

Removed:

  • Removed old MoySklad class file

v2.1.1

02.11.2023

Fixes and changes:

  • Fixed error when creating order with prefix in name

v2.1.0

20.10.2023

New features and improvements:

  • Added tax mapping
  • Added error saving and display when updating/creating order on order edit page
  • Added order field data type check, only string types processed
  • Added shipping method mapping
  • Added order additional field check (only string, text, url), array and boolean to text conversion. company_id to company/storefront name, issuer_id to manager name
  • Added stock export type check in "Exports" tab with import types in "Import settings" and export link block on mismatch

Changes and improvements:

  • Fixed default warehouse setting when creating order
  • Module standardization
  • Changed module icon

Fixes and changes:

  • Fixed bugs
  • Fixed error when creating order as guest and wrong user attachment in MoySklad due to empty phone

v2.0.0

29.07.2023

New features and improvements:

  • Added ability to save settings and data mappings for different storefronts and companies
  • Added ability to enable/disable import and export separately
  • Added MoySklad service connection via token
  • Added order creation period selection for export and import
  • Added field selection for product create and update
  • Added data selection for product code
  • Added variant support including variant characteristic mapping
  • Added site price to MoySklad price mapping
  • Added site order status to MoySklad status mapping

Changes and improvements:

  • Module settings and data mappings moved to 'Data sync' pages
  • Improved webhook management (enable/disable/delete each webhook), ability to delete all webhooks at once
  • Improved export handling (dynamic cron link based on selected settings)

v1.11.31

16.05.2023

New features and improvements:

  • Added product creation when corresponding setting is enabled
  • Added setting for order deletion management

Changes and improvements:

  • Changed module operation: can work independently of commerceml modules
  • Changed product and order search and external_id saving

v1.11.30

05.05.2023

New features and improvements:

  • Added directory check and creation if missing

v1.11.29

03.05.2023

New features and improvements:

  • Added characteristic mapping for site transfer

Changes and improvements:

  • Changed logging structure

v1.11.28

30.12.2022

Changes and improvements:

  • Negative stock now displays as zero

v1.11.27

09.10.2022

New features and improvements:

  • Module standardization

v1.11.26

13.12.2022

New features and improvements:

  • Reserve now deducted from stock

Fixes and changes:

  • Stock exported by warehouse specified in settings

v1.11.25

09.12.2022

New features and improvements:

  • Added stock import via webhook
  • Added full stock import on button click
  • Added external code support for new cml in product and stock import
  • Added settings

Changes and improvements:

  • Settings grouped more logically

v1.10.25

09.10.2022

New features and improvements:

  • Module standardization

v1.10.24

17.09.2022

Changes and improvements:

  • Changed and optimized status change and product reservation

v1.9.24

16.09.2022

New features and improvements:

  • Added support for over 100 order items
  • Added pre-controllers for old and new CommerceML (no code needed)
  • Added customer info update

Changes and improvements:

  • Changed order number assignment logic
  • Changed log writing and viewing
  • Changed default settings

Fixes and changes:

  • Fixed settings error when module disabled
  • Fixed product addition to order when loading in cs-cart
  • Fixed many bugs and notices

v1.8.24

22.02.2022

Fixes and changes:

  • Fixed order status change bug

v1.8.23

16.02.2022

New features and improvements:

  • Added order placement even when product not found

Fixes and changes:

  • Fixed product search logic in MoySklad

v1.8.22

10.02.2022

Fixes and changes:

  • Fixed error

v1.8.21

20.01.2022

Fixes and changes:

  • Fixed bug

v1.8.20

20.01.2022

New features and improvements:

  • Added ability to update some product characteristics in cs-cart

v1.7.20

14.01.2022

Fixes and changes:

  • Fixed status change bug

v1.7.18

29.11.2021

Changes and improvements:

  • Changed module icon

v1.7.17

04.11.2021

Fixes and changes:

  • Fixed order to storefront binding bug

v1.7.16

28.10.2021

New features and improvements:

  • Added partial product data update in cs-cart

Fixes and changes:

  • Fixed warranty info deletion bug
  • Fixed order product bugs
  • Fixed order address bugs

v1.6.16

21.10.2021

New features and improvements:

  • Added setting to disable new order creation in cs-cart

Fixes and changes:

  • Fixed discount disappearance bug in two-way exchange

v1.6.15

18.10.2021

Fixes and changes:

  • Fixed price deletion from MoySklad on bulk product edit bug
  • Fixed order creation error in MoySklad (auto delivery service creation) bug
  • Fixed order discount calculation bug

v1.6.14

08.10.2021

Fixes and changes:

  • Fixed article deletion from MoySklad on bulk product edit bug

v1.6.13

29.09.2021

Changes and improvements:

  • Changed language variables

v1.4.9

23.03.2021

New features and improvements:

  • Added language variables

v1.4.8

02.03.2021

Fixes and changes:

  • Fixed bug

v1.4.5

02.03.2021

New features and improvements:

  • Added en lang

Fixes and changes:

  • Changed tax

v1.4.3

15.02.2021

New features and improvements:

  • Added functions

v1.4.1

04.02.2021

Changes and improvements:

  • Updates and improvements

v1.4.0

25.01.2021

New features and improvements:

  • Save external_id when creating product in MoySklad by module
  • Added table for default warehouse and organization settings
  • Added default organization selection

Fixes and changes:

  • Fixed warehouse settings reset for unknown reasons

v1.3.8

15.12.2020

Fixes and changes:

  • Bug fix

v1.3.7

15.12.2020

Fixes and changes:

  • Fixed product updates

v1.3.6

11.12.2020

New features and improvements:

  • Disable order numbering from CS CART
  • Disable additional field updates

Fixes and changes:

  • Fixed first order status - "Incomplete"

v1.3.5

09.12.2020

Fixes and changes:

  • Fixed custom directories

v1.3.0

26.11.2020

New features and improvements:

  • Added modification support
  • Added order_id field to order comment

v1.2.5

20.10.2020

New features and improvements:

  • Added settings for non-updatable orders

v1.2.4

14.10.2020

New features and improvements:

  • Added priorities

v1.2.3

14.10.2020

New features and improvements:

  • Added MoySklad API support

v1.2.2

06.10.2020

Fixes and changes:

  • Fixed bugs

v1.2.1

01.10.2020

Fixes and changes:

  • Fixed bugs

v1.2.0

30.09.2020

New features and improvements:

  • Added additional fields
  • Added tax accounting
  • Added promo discount accounting
  • Added legal entity support

v1.0.0

15.03.2020

New features and improvements:

  • First release
Reviews
Abay Mirmanov
То что надо! Легко интегрируется с Мой Склад. Ребята в тех.поддержке отвечают оперативно. Советую всем.
Similar add-ons