---
title: "МойСклад: Обмен контрагентами по API"
url: "https://despi.ru/modules/despi-moyskladusers"
description: "Двусторонний обмен пользователями 1С-Битрикс и контрагентами МойСклад по API: стандартные и дополнительные поля, группы, тип контрагента и персональные скидки. Работает даже на редакции «Старт»."
updated: "2026-10-01"
---

# МойСклад: Обмен контрагентами по API

> Двусторонний обмен пользователями 1С-Битрикс и контрагентами МойСклад по API: стандартные и дополнительные поля, группы, тип контрагента и персональные скидки. Работает даже на редакции «Старт».

- Категория: Интеграции
- Работает с: МойСклад, Контрагенты, Пользователи, Интеграция, 1С-Битрикс
- Цена: 11 990 руб.
- Демо-период: 14 дней
- Установок: более 100
- HTML-версия: https://despi.ru/modules/despi-moyskladusers
- Инструкция по установке: https://despi.ru/modules/despi-moyskladusers#module-install
- Маркетплейс: https://marketplace.1c-bitrix.ru/solutions/despi.moyskladusers/
- Документация: https://docs.despi.ru/despi-moyskladusers/

## Описание

# МойСклад: Обмен контрагентами по API

Модуль связывает пользователей сайта на 1С-Битрикс и контрагентов МойСклад. Покупатель регистрируется на сайте — в МойСкладе сразу появляется контрагент. Менеджер правит контрагента в учёте: меняет телефон, группу, персональную скидку — изменения приезжают в карточку пользователя на сайте. Без выгрузок файлами и ручного переписывания клиентской базы.

Обмен двусторонний, и каждое направление включается отдельно: можно только принимать контрагентов на сайт, только отдавать пользователей в учёт или делать и то и другое. Какие поля, группы и сайты участвуют в обмене — решаете вы в настройках модуля.

Документация: https://docs.despi.ru/despi-moyskladusers/

## Что синхронизируется

- **Пользователи 1С-Битрикс и контрагенты МойСклад** — в обе стороны: создание и обновление.
- **Все стандартные поля** пользователя и контрагента с гибким сопоставлением «поле ↔ поле».
- **Дополнительные поля МойСклад**: строка (включая текст и ссылку), число (включая дробное), дата — её можно связать с датой рождения пользователя.
- **Группы**: группы пользователя Битрикс ↔ группы контрагента МойСклад.
- **Тип контрагента** (юрлицо, ИП, физлицо) ↔ группа пользователя на сайте.
- **Персональная и накопительная скидка** контрагента — в группу пользователя, которую дальше можно использовать в типах цен.
- **Профиль покупателя** интернет-магазина — создаётся и обновляется по данным контрагента (только из МойСклад в Битрикс).

## Как это выглядит в работе

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

Чтобы подтянуть уже существующую базу, есть **массовый импорт контрагентов** агентом: по умолчанию он забирает только изменённых контрагентов, а по команде разово проходит по всей базе и возвращается к режиму изменений.

Каждая операция пишется в журнал модуля: успешные импорты, экспорты и ошибки, с подробностями по клику на запись.

## Настройка без программиста

- **Поиск с приоритетом.** Пользователь и контрагент ищутся по выбранным полям — Email, телефон, внешний код, ИНН, пользовательские поля — в заданном порядке. Например, сначала по внешнему коду, потом по Email. Так обмен находит существующую запись, а не плодит дубли.
- **Отдельные правила импорта и экспорта.** Создавать ли новые записи, обновлять ли существующие, какие поля переносить в каждую сторону.
- **Значения по умолчанию для новых контрагентов**: статус, тип контрагента, ответственный сотрудник, отдел, общий доступ.
- **Сайт и группы по умолчанию** для пользователей, которых создаёт модуль, и группы, которые обмен никогда не трогает.
- **Исключения из обмена** по группам пользователей и по ID — например, чтобы не трогать старых пользователей.
- **Обработка неполных данных.** Генерация Email на вашем домене, если у контрагента его нет; разбор наименования контрагента на фамилию, имя и отчество; шаблон для поля «Обращение» и имени нового контрагента; объединение полей ОГРН/ОГРНИП и ОКПО у ИП и юрлиц.
- **Генерация внешнего кода** для новых пользователей, у которых он пустой.

Для доработок под свой проект есть события модуля: перед созданием и обновлением пользователя доступен объект импортируемого контрагента.

## Безопасность данных пользователей

Модуль работает с персональными данными, поэтому в нём есть жёсткие ограничения:

- **Администраторы защищены.** Пользователей группы с ID = 1 модуль не создаёт и не изменяет ни при каких условиях; эта группа всегда исключена из обмена.
- **Пароли не трогаются.** Пароль генерируется только при создании нового пользователя, нигде не сохраняется и не показывается.
- **Активность не меняется.** Новый пользователь создаётся активным, дальше модуль на это поле не влияет.
- **Защищённые группы.** Группы, отмеченные как не участвующие в обмене, остаются у пользователя при любом обновлении.

## Вопросы и ответы

### Обмен односторонний или двусторонний?

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

### Когда происходит обмен?

По событиям: при создании или изменении контрагента в МойСкладе (через веб-хуки CREATE и UPDATE) или пользователя на сайте. При включённом экспорте контрагент в МойСкладе создаётся сразу при регистрации нового пользователя. Для загрузки уже существующей базы есть массовый импорт агентом.

### Можно ли загрузить на сайт всю базу контрагентов сразу?

Да. Агент массово импортирует контрагентов в пользователей по текущим настройкам импорта. По умолчанию он берёт только изменённых контрагентов, но можно разово запустить полный обмен — после него агент вернётся к режиму изменений. Перед включением агента обязательно сделайте резервную копию базы данных.

### Можно ли массово выгрузить пользователей сайта в МойСклад?

Нет. Экспорт в МойСклад идёт только по событиям — при создании и изменении пользователя. Благодаря этому ошибку в настройках экспорта всегда можно точечно откатить по истории изменений контрагента в МойСкладе.

### Как модуль находит существующих пользователей и не создаёт дубли?

По полям поиска, которые вы выбираете сами: Email, телефон, внешний код, ИНН, пользовательские поля. Для каждого задаётся соответствие полю другой системы и приоритет: например, сначала искать по внешнему коду, потом по Email. Поиск при импорте и при экспорте настраивается отдельно.

### Переносятся ли дополнительные поля контрагента?

Да, дополнительные поля типов «Строка» (включая текст и ссылку), «Число» (включая дробное) и «Дата». Дату можно связать с датой рождения пользователя Битрикс. Для работы с дополнительными полями нужен платный тариф МойСклад.

### Как передать на сайт персональную скидку контрагента?

Через группы пользователей. На сайте создаются группы с общим префиксом в символьном коде (например, DISCOUNT_10 для 10%). Модуль читает процент накопительной и/или персональной скидки контрагента и ставит пользователю нужную группу; можно выбрать, брать максимальную или минимальную скидку. Дальше группы используются в типах цен.

### Работает ли модуль на редакции «Старт»?

Да, модуль поддерживает редакции «Старт» и «Стандарт». В них нет модуля «Интернет-магазин», поэтому импорт профиля покупателя и связанные с ним настройки недоступны — они есть с редакции «Малый бизнес». Обмен пользователями и контрагентами работает полностью.

### Может ли модуль создать или изменить администратора сайта?

Нет. Пользователей группы с ID = 1 (как правило, это администраторы) модуль не создаёт и не изменяет ни при каких условиях. Другие служебные группы можно исключить из обмена в настройках, а также исключить пользователей по ID.

### Что происходит с паролями и активностью пользователей?

Модуль их не трогает. Пароль генерируется только при создании нового пользователя, нигде не сохраняется и не показывается. Новый пользователь создаётся активным, и дальше модуль на активность и блокировку не влияет.

### Что будет с группами пользователя при импорте?

При каждом импорте модуль заново собирает список групп пользователя: группы по умолчанию, группы по типу контрагента, сопоставленные группы контрагента и группы скидок. Чтобы какие-то группы не сбрасывались, отметьте их как не участвующие в обмене — они останутся у пользователя при любом обновлении.

### Что делать, если у контрагента нет Email или ФИО записано одной строкой?

Модуль может сгенерировать Email на указанном вами домене, чтобы пользователь создался. Наименование контрагента из двух или трёх слов разбирается на фамилию, имя и отчество в заданном порядке — для выбранных типов контрагента.

### Переносится ли удаление?

Нет. Модуль не удаляет ни пользователей на сайте, ни контрагентов в МойСкладе.

### Как проверить, что обмен работает?

Открыть вкладку «Логи» в настройках модуля. Там фиксируется каждая операция — успешные импорты, экспорты и ошибки, а по клику на запись видны подробности.

### Можно ли доработать логику импорта под свой проект?

Да. У модуля есть события OnBeforeUserBxAdd, OnBeforeUserBxUpdate и OnBeforeUserFieldsUpdate: в них доступны поля пользователя и объект импортируемого контрагента, поля можно менять перед записью. Обработчики подключаются в init.php.

## Требования

- 1С-Битрикс: Управление сайтом, начиная с редакции «Старт». Импорт профиля покупателя — с редакции «Малый бизнес» (нужен модуль «Интернет-магазин»).
- PHP выше 7.4 (включая 8.x), 1С-Битрикс выше 20.0.0.
- Платный тариф МойСклад — для веб-хуков и дополнительных полей.
- Подключение к МойСклад по токену или по логину и паролю администратора.
- Агенты 1С-Битрикс на cron — для массового импорта контрагентов.

## Что модуль не делает

- Не удаляет пользователей на сайте и контрагентов в МойСкладе.
- Не выгружает пользователей массово в МойСклад — экспорт идёт только по событиям, точечно.
- Не меняет пароли и активность пользователей.
- Не ведёт историю изменений пользователя и не откатывает поля — для этого перед запуском нужен бэкап.
- Не передаёт профиль покупателя из Битрикс в МойСклад: этот обмен только в одну сторону.
- Не отменяет кастомные обработчики создания и изменения пользователя на сайте — они по-прежнему влияют на итоговые поля.

## Требования

- PHP: > 7.4
- 1С-Битрикс: > 20.0.0
- Редакция: Старт
- Агент или cron: нужен
- Редакция 1С-Битрикс: От «Старт»; импорт профиля покупателя — от «Малый бизнес»
- Тариф МойСклад: Платный (веб-хуки и дополнительные поля)
- Агенты 1С-Битрикс на cron (для массового импорта): да
- Модуль «Интернет-магазин»: Необязателен — нужен только для импорта профиля покупателя

## Частые вопросы

### Обмен односторонний или двусторонний?

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

### Когда происходит обмен?

По событиям: при создании или изменении контрагента в МойСкладе (через веб-хуки CREATE и UPDATE) или пользователя на сайте. При включённом экспорте контрагент в МойСкладе создаётся сразу при регистрации нового пользователя. Для загрузки уже существующей базы есть массовый импорт агентом.

### Можно ли загрузить на сайт всю базу контрагентов сразу?

Да. Агент массово импортирует контрагентов в пользователей по текущим настройкам импорта. По умолчанию он берёт только изменённых контрагентов, но можно разово запустить полный обмен — после него агент вернётся к режиму изменений. Перед включением агента обязательно сделайте резервную копию базы данных.

### Можно ли массово выгрузить пользователей сайта в МойСклад?

Нет. Экспорт в МойСклад идёт только по событиям — при создании и изменении пользователя. Благодаря этому ошибку в настройках экспорта всегда можно точечно откатить по истории изменений контрагента в МойСкладе.

### Как модуль находит существующих пользователей и не создаёт дубли?

По полям поиска, которые вы выбираете сами: Email, телефон, внешний код, ИНН, пользовательские поля. Для каждого задаётся соответствие полю другой системы и приоритет: например, сначала искать по внешнему коду, потом по Email. Поиск при импорте и при экспорте настраивается отдельно.

### Переносятся ли дополнительные поля контрагента?

Да, дополнительные поля типов «Строка» (включая текст и ссылку), «Число» (включая дробное) и «Дата». Дату можно связать с датой рождения пользователя Битрикс. Для работы с дополнительными полями нужен платный тариф МойСклад.

### Как передать на сайт персональную скидку контрагента?

Через группы пользователей. На сайте создаются группы с общим префиксом в символьном коде (например, DISCOUNT_10 для 10%). Модуль читает процент накопительной и/или персональной скидки контрагента и ставит пользователю нужную группу; можно выбрать, брать максимальную или минимальную скидку. Дальше группы используются в типах цен.

### Работает ли модуль на редакции «Старт»?

Да, модуль поддерживает редакции «Старт» и «Стандарт». В них нет модуля «Интернет-магазин», поэтому импорт профиля покупателя и связанные с ним настройки недоступны — они есть с редакции «Малый бизнес». Обмен пользователями и контрагентами работает полностью.

### Может ли модуль создать или изменить администратора сайта?

Нет. Пользователей группы с ID = 1 (как правило, это администраторы) модуль не создаёт и не изменяет ни при каких условиях. Другие служебные группы можно исключить из обмена в настройках, а также исключить пользователей по ID.

### Что происходит с паролями и активностью пользователей?

Модуль их не трогает. Пароль генерируется только при создании нового пользователя, нигде не сохраняется и не показывается. Новый пользователь создаётся активным, и дальше модуль на активность и блокировку не влияет.

### Что будет с группами пользователя при импорте?

При каждом импорте модуль заново собирает список групп пользователя: группы по умолчанию, группы по типу контрагента, сопоставленные группы контрагента и группы скидок. Чтобы какие-то группы не сбрасывались, отметьте их как не участвующие в обмене — они останутся у пользователя при любом обновлении.

### Что делать, если у контрагента нет Email или ФИО записано одной строкой?

Модуль может сгенерировать Email на указанном вами домене, чтобы пользователь создался. Наименование контрагента из двух или трёх слов разбирается на фамилию, имя и отчество в заданном порядке — для выбранных типов контрагента.

### Переносится ли удаление?

Нет. Модуль не удаляет ни пользователей на сайте, ни контрагентов в МойСкладе.

### Как проверить, что обмен работает?

Открыть вкладку «Логи» в настройках модуля. Там фиксируется каждая операция — успешные импорты, экспорты и ошибки, а по клику на запись видны подробности.

### Можно ли доработать логику импорта под свой проект?

Да. У модуля есть события OnBeforeUserBxAdd, OnBeforeUserBxUpdate и OnBeforeUserFieldsUpdate: в них доступны поля пользователя и объект импортируемого контрагента, поля можно менять перед записью. Обработчики подключаются в init.php.
