Payments are experiencing issues due to temporary restrictions in Russia. If your payment does not go through, please submit a support request.Our support team is available 24/7 — we are always here to help with hosting and server issues.We are now accepting requests for dedicated server rental and colocation services in our data center.Reminder: we recommend enabling backups for additional data protection.A new VPS/VDS lineup with NVMe storage and improved performance is now available.Maintenance work on some servers has been completed. All services are operating normally.
MySklad: Product Synchronization via API

MODULE FOR 1C-BITRIX

Denis Spiridonov

MySklad: Product Synchronization via API

The module provides reliable synchronization of product data from MySklad to the 1C-Bitrix website management system. It is a ready-made solution that allows you to configure the data exchange once and then operate in automatic mode without constant user intervention. The tool is optimized for catalogs containing a large number of products and their modifications.

5.00/5 · 16 ratings

1C-Bitrix Marketplace: 5/5 · 16 ratings

Technical details

Published
8 June 2020
Updated
10 November 2026
Version
3.9.2
Installed
More than 1000 times
Responsive design
No
Composite support
No
Compatible with Sites24
No
Developer
Denis Spiridonov

What this solution does

The module provides reliable synchronization of product data from MySklad to the 1C-Bitrix website management system. It is a ready-made solution that allows you to configure the data exchange once and then operate in automatic mode without constant user intervention.

The tool is optimized for catalogs containing a large number of products and their modifications. It is designed with MySklad API limits in mind and supports the creation of exchange profiles. This enables connecting multiple MySklad accounts simultaneously or using a single account to export data to different information blocks on the site.

The module imports the following data types:

Product prices and stock levels

Products, their modifications, services, and sets

Catalog structure

Active discounts

Product properties and additional fields

Product images

Types of marked products

A key feature is flexible independent exchange. Users can select specific fields for import, separately configuring updates for new products and existing ones. This allows the module to integrate smoothly into an already working catalog or current exchange process without the need to synchronize all data at once.

For example, if only prices and stock levels need to be exported, it is sufficient to activate the corresponding settings in the module, and the exchange will occur exclusively on these parameters.

Example 2: You need to export prices, stock levels, and product images without changing product names and descriptions. The module allows you to select specific fields and properties to send to the site while excluding others.

Fast stock updates.

The module processes only changed stock levels, ensuring fresh information arrives within two minutes. This is critical for large catalogs or systems with multiple warehouses, as it avoids full data reloads and reduces server load. Upon receiving changes, the module automatically clears the cache and triggers the necessary events for templates to process the updates.

Exchange profiles.

Exchange profiles enable working with any number of MySklad accounts across multiple sites within a multi-site architecture. They also allow exporting data from a single account into different information blocks. This functionality is implemented using the capabilities of MySklad JSON API 1.2.

Any import configuration.

The module can be configured for virtually any task without requiring additional resources. For example, you can configure the export of only specific data types.

The module enables importing products into a hidden site section for subsequent manual distribution into categories. Export is performed strictly according to specified filters, ensuring that only necessary items reach the site. Configuration options allow limiting the process to updating existing products, thereby preventing the creation of new records. Users can flexibly define which data is transferred when creating new products and which fields are updated in existing ones. Synchronization operates only on changed items in MySklad, minimizing the load on the website. All module functions are available for independent use.

The import follows best practices and uses standard Bitrix methods for writing fields, properties, stock levels, and prices. This ensures full compatibility with standard system events. A mechanism for processing images has been implemented to exclude duplication and re-uploading of files. Any changes to product images in MySklad are automatically reflected on the site without unnecessary load on either system due to precise, point-by-point import.

Module diagnostics

The module includes a diagnostics and monitoring section that allows viewing running processes, performing a quick checklist verification, conducting analysis, and executing one-time imports from a single interface. Experience shows that 90% of issues can be resolved without visiting the provider's website, as all potential problems are documented and visible within the diagnostics tools.

Developers can modify the module's logic while maintaining compatibility with updates and support. This extensibility is provided through a comprehensive set of events.

The integration operates via JSON API version 1.2 and supports PHP 8.x. The solution is optimized to conserve API quotas and avoids creating unnecessary load on the MySklad servers.

Configuration is based on detailed documentation or video instructions. For technical inquiries, refer to the documentation.

If “MySklad: Product Synchronization via API” fits the task, General iT can install the module, configure it and verify the result in the project.

UPDATE HISTORY

What’s new

16 releases
3.10.0 (10.11.2026) (beta)Latest update

Important:

When running agents via cron, deactivation of products outside selected groups now works: with the option enabled, such products will start being deactivated.

Security:

Temporary files for importing current stock levels are protected from web access.

New:

Filter by MySklad groups: groups of any nesting level, tree-based selection with search, selection counter.

Blocks 'filtratsiya (transliterated Russian)' and 'aktivnost (transliterated Russian)' on entity tabs: settings in one place, tooltips, explanation 'kak rabotaet (transliterated Russian)'.

Separate price import filter: own groups and own flag property.

Option 'Update item even if there are no changes'.

Improved:

New design for settings blocks and documentation for them.

Fixed:

'aktivnost (transliterated Russian)' is handled by unified rules during import, webhooks, and deactivation agents; the additional activity field works in webhooks, archived and out-of-group products no longer toggle in a loop.

Modification webhooks now consider subgroups and the new parent group, and if the parent fails to load, TP is not deactivated.

Failure to load MySklad groups or additional fields no longer resets settings and does not deactivate products 'vne grupp (transliterated Russian)'.

Groups with %, _, and ; symbols in the name.

Modifications without a parent product are treated as skipped with a warning in the log.

The multiple-choice field for external agents no longer loses its value.

Error messages on the settings page, import log, and a typo in a tooltip.

3.9.2 (02.11.2026)

New:

New setting "Create new items as inactive" for products, services, and kits: new items from MySklad appear on the site as disabled; the manager enables them, and the module no longer activates them.

Fixed:

Changing the article number and other string properties to a value with leading zeros (for example, from 33336 to 033336) is now transferred to the site.

3.9.1 (20.10.2026)

Improved:

The authorization settings now include a choice of method: token or login and password. The module connects to MySklad only using the selected method, and data from the other method is cleared upon saving. It is now possible to switch between token and login/password (and vice versa) without manually clearing the fields.

Fixed:

File upload from additional fields of the 'file' type has been fixed when MySklad provides them from cloud storage: the file extension is now correctly determined.

With the 'Completely ignore activity' setting enabled, deleting a product in MySklad no longer deactivates the corresponding element on the site, and archived products and products outside the selected groups are no longer updated via webhooks.

Support for external event handlers of the module has been improved.

Improvements in profile functionality.

When updating products with group updates enabled, the element section is no longer overwritten on each run if the group in MySklad has not changed.

Sets are no longer overwritten on each import if their composition in MySklad has not changed.

Cron execution no longer overlaps with itself during long imports, which previously caused unnecessary requests to MySklad. A stuck execution now stops automatically after the time specified in the 'Maximum time for a single script run' setting (tab 'Other', default 30 minutes), and the next execution continues the import from where it stopped. The cron/log.txt file records the start, end, and duration of each run.

Images in additional properties: when an image is deleted or replaced for one product, it no longer disappears from other products sharing the same image; image replacement is recorded from the first run, and the photo order follows MySklad without re-uploading files.

Images in multiple properties: when an image is deleted or replaced in MySklad, unused files are now removed from the site if they are no longer used elsewhere. Files shared by multiple products or serving as the source for both the announcement and detailed images are preserved.

Product import errors via webhook (missing information block, empty group, element save error) are now logged in the module log.

3.9.0 (26.09.2026)

New:

Profiles are now enabled by default and are visible in a separate panel: you can see which profile you are currently in, and switch, rename, set color and description, add, or remove profiles from a single window.

Each entity tab now includes a "Completely ignore activity" setting: with it enabled, the module does not change the activity of products, modifications, services, or kits during import or via webhooks — activity is fully controlled by the website. Individual deactivation agents continue to operate according to their own settings.

New events for external code: OnBeforeDeleteItem (triggered on deletion via webhook, even if the element does not exist in the catalog), OnBuildImportFilter (modifies the request filter to MySklad in any pipeline), OnWebhookSkipped (webhook for an unprocessed entity). OnAfterImportItems now passes the IDs of created elements. A log entry "Skipped during creation" has been added to the agent log. The API client methods put() and delete() now return the MySklad response — errors during webhook modification and deletion are no longer lost.

External code can add a custom agent to the module: it appears on the settings page as a block identical to the standard ones, with a toggle, interval, its own parameters, information about the last and next run, and cron-based execution. Agent states (current step, cutoffs) are no longer cleared when saving settings.

During import of prices and stock levels, an external handler can substitute its own catalog elements for products that the module could not find by XML_ID — including multiple elements for a single MySklad position.

The stock report can be configured externally: an external handler can modify the request parameters to MySklad — for example, requesting grouping by batches — and rows of types that the module cannot parse are passed to it for processing instead of being silently skipped.

Improved:

General security improvements for the module.

New items receive prices immediately upon creation, within the same import run, eliminating the need to wait for the next price agent execution. This applies to items, modifications, services, and sets that have price import enabled.

If a single MySklad webhook contains more events than the configured limit, the excess events are no longer silently dropped: they are logged in the module log (type, action, link).

Fixed:

Module settings: when authorization data is empty or invalid, the MySklad error message is displayed again, instead of the service string '[Code: #ERROR_ID#] #TEXT#'.

Import agents for items, prices, stock balances, quick stock balances, discounts, and groups no longer lose changes made in MySklad during a long full or incremental exchange: the next exchange retrieves them starting from the moment the previous exchange began.

Module cache is under control: once daily, a hidden agent automatically removes records with expired expiration dates, primarily service records for webhook processing that accumulated until manual cleanup. Active records are not affected. The agent is enabled after saving the module settings.

General improvements to language phrases.

3.8.0 (27.08.2026)

- New groups of marked products have been added: motor oils and vegetable oils, cosmetics, household chemicals and personal hygiene products, canned foods, building materials, natural fur, radioelectronics, laptops and smartphones, grocery items, animal feed, and children's toys.

- Unknown marking groups received from MySklad are flagged with a warning in the import log.

- The modification article number can now be exported to an information block property.

- Fixed section assignment when creating products: a product without a group in MySklad could end up in the section of the previously imported product instead of the default section.

- General module fixes and improvements. Security enhancements.

Minimum PHP version for the module: 8.0

- Improved PHP code quality with PHPStan level 4 (PHP version compatibility: 8.0, 8.1, 8.2)

USER EXPERIENCE

Solution reviews

How does this solution work in a real project? Share your experience and help others choose.

Be the first to share your experience

There are no reviews of this solution on git.ru yet. Tell us what worked well and what could be improved.

Verified purchaseAdd a key if you wish. A verified review gets a badge, priority placement and more rating weight.

Open to every clientJust sign in to your account. A key is optional; all reviews are moderated.

YOUR EXPERIENCE MATTERS

Your review

YOUR PROJECT INFRASTRUCTURE

A home for your website

BEFORE YOU ORDER

Let’s go through the details.

What does the price cover?
The displayed price covers the solution itself. Platform licensing, installation and customisation are checked separately. If the page offers bundles, select the required option before submitting a request.
How do I check compatibility?
Compare the supported editions and solution version in the technical details with your project. Before installing on a live website, we recommend making a backup and checking the solution in a test environment.
Is there a trial?
The developer lists a trial of 14 days. The trial button opens the installer in your website control panel. Check the required features and compatibility before purchasing.
How much does this solution’s renewal cost?
The current renewal price is 7,495 ₽. Before you order, a manager will confirm the renewal period and whether it applies to your licence.
Can you help with implementation?
We can help install the module, check its settings and verify how it works in your project. Compatibility with other customisations and the scope of work are assessed before we begin.

GENERAL iT

Let’s discuss your project

Получатель: ООО «Дженерал Ай Ти Рус»

1C-BITRIX

Install solution

Enter a domain with or without https://. The installer will open in your website control panel in a new tab.

Solution screenshots

Solution screenshot