What this solution does
The module provides free two-way synchronization between an online store and MySklad via API. Data exchange covers the catalog, prices, stock levels, images, orders, payments, and shipments, as well as exporting the site catalog to MySklad. The integration works with an already active store, preventing duplicate items and catalog corruption. The system locates existing products by article number or code, performs a trial run before the first write operation, preserves manual edits, and halts operations if suspicious changes are detected.
The module imports from MySklad product groups, converting them into sections, along with products, modifications, bundles, and services. Modification attributes automatically become list-type properties for filtering. Synchronized data includes descriptions, article numbers, codes, barcodes, weight in kilograms or grams, dimensions from custom fields, VAT rates, units of measure, country of origin, and all custom fields with properties created automatically. Images are also transferred.
Filtering features allow selecting specific groups and exclusions, applying the "On Site" flag, and restricting the process to updating existing products without creating new ones. Products archived or deleted in MySklad are automatically hidden on the site.
A synchronization rule is configured for each field: write always, write only for new items, write if empty, or never. For example, product descriptions are managed by a content manager on the website, while prices and stock levels are controlled via MySklad.
The system supports all price types, including purchase and minimum prices, along with markup and rounding settings. If a product modification lacks a specific price, the system automatically uses the price of the main product.
Stock management by warehouse includes displaying total quantity, available stock (minus reserved amounts), or the status "available." Quantities can be calculated as a sum across all warehouses or a selected list. Items with zero stock can be hidden and later restored to the catalog. Only changed stock levels are requested during synchronization.
Matching items with the website catalog is performed using external codes, UUIDs, article numbers, codes, barcodes, or names. Comparison ignores case, spaces, hyphens, and similar-looking characters. If multiple candidates are found, the decision is made on a dedicated page, and duplicates are prevented.
Security features include a trial run showing "before → after" changes for each field, protection against manual edits, and a delay for sudden price spikes or zeroing until confirmed. Synchronization automatically stops if it would hide most of the catalog and supports rolling back any initiated process.
The module provides two-way synchronization between the website and MySklad. When orders are sent from the website to MySklad, the price before discount and the discount amount per item are preserved, allowing managers to see that a discount has been applied. Delivery is recorded as a separate service item. The order includes the website order date and number, address details (postal code, city, street, building, apartment), legal entity, warehouse, sales channel, and project determined by configured rules. Additional fields, reservation status, and customer information are synchronized without creating duplicates based on phone number, email, or tax ID.
Data transfer from MySklad to the website updates order statuses, cancellation information, changes to order composition, and delivery costs. Payments are reflected through incoming payments and receipt orders. Shipments are transmitted with tracking numbers and marking codes from the Honest Sign system. Orders created in MySklad can also be automatically created on the website. The system supports exporting historical orders for a specified period.
The website catalog is exported to MySklad, including categories, products, trade offers with characteristics, prices, article numbers, barcodes, weight, descriptions, and images. Fields managed directly on the website (such as supplier prices) are automatically sent to MySklad, while stock levels continue to be received from MySklad.
Updates are delivered via webhooks within seconds. The module automatically creates webhooks, re-enables them if disabled by MySklad, and recreates them after a website migration. In the absence of webhooks, the system uses polling. A full nightly data reconciliation is also performed.
The module correctly handles MoySklad API limits: it adheres to header-based rate limits, avoids retrying failed requests, and displays hourly usage statistics.
The Health page shows the last execution time for each synchronization stream, including agents, webhooks, and the task queue. It provides a support report, notifications about issues in the info panel and via email, and a database journal with search capabilities for products and orders.
The MoySklad tab in product and order cards offers a direct link to the object, a change history log, and a button to trigger immediate synchronization.
The system supports multiple MoySklad accounts and catalogs on a single website. User access rights are managed by user groups, and an event system allows for functional extensions without modifying the module code.
Important prerequisites: a paid MoySklad account is required. Webhooks are available only on paid tariffs; otherwise, the module operates via polling. Integration is performed through the API and does not use the standard CommerceML exchange format.
Third-party data transfer: the module exchanges data exclusively with the MySklad account specified by you. This includes products, prices, stock levels, orders, and customer data from orders (name, phone, e-mail, delivery address). No data is sent to the module developer's servers, and visitor personal data is not collected.
Hosting requirements: PHP 8.2 or newer with curl, json, and mbstring extensions; main module version 20.0 or newer; site in UTF-8 encoding; modules "Information Blocks" and "Trading Catalog" enabled, and "Online Store" for order processing. Cron agents are required. For webhooks, the site must be accessible from the internet via the HTTPS protocol.
The module modifies the catalog and orders: it creates and updates products, sections, properties, prices, stock levels, and images. It can hide or delete products removed in MySklad, and change order statuses, composition, and payments according to your settings. A trial run is recommended before the first synchronization.
The module source code is open and contains no obfuscated parts.
General iT can install “Synchronization with MySklad”, configure its settings and verify its operation in the existing project.