Добавить в корзинуПозвонить
Найти в Дзене

Синхронизация заказов между Битрикс24 и МойСклад: создание заказа в МойСклад при обновлении сделки с сопоставлением товаров

Для эффективного управления продажами и складским учетом необходимо обеспечить актуальность данных о товарных остатках и сделках. Если вы используете Битрикс24 для управления сделками и МойСклад для учета товаров, отсутствие интеграции между этими системами приводит к ручной обработке данных, что отнимает время и увеличивает вероятность ошибок. В этой статье мы разберем, как настроить автоматическое создание и обновление заказов в МойСклад при изменении статуса сделки в Битрикс24, а также как сопоставить товары между системами по артикулу. Наш заказчик занимается оптовыми и розничными продажами лабораторной посуды, оборудования и аксессуаров для химических процессов. Товарный каталог есть и в Битрикс24, и в МойСклад. Учет товаров ведется в МойСклад, а сделки — в Битрикс24, но без интеграции возникают сложности: Такая ручная синхронизация товаров в МойСклад и сделок в Битрикс24 отнимает много времени менеджеров и чревата ошибками. Что замедляет процессы и снижает эффективность продаж. У
Оглавление

Для эффективного управления продажами и складским учетом необходимо обеспечить актуальность данных о товарных остатках и сделках. Если вы используете Битрикс24 для управления сделками и МойСклад для учета товаров, отсутствие интеграции между этими системами приводит к ручной обработке данных, что отнимает время и увеличивает вероятность ошибок. В этой статье мы разберем, как настроить автоматическое создание и обновление заказов в МойСклад при изменении статуса сделки в Битрикс24, а также как сопоставить товары между системами по артикулу.

1. Отсутствие синхронизации между Битрикс24 и МойСклад

Проблема

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

Учет товаров ведется в МойСклад, а сделки — в Битрикс24, но без интеграции возникают сложности:

  • Ручной ввод данных. Когда создается новая сделка, в которой прикреплены товары и их количество, эти данные не попадают в МойСклад и остатки не актуализируются. Приходится вручную вносить данные по остаткам товаров в МойСклад.
  • Несоответствие названий товаров. Названия товаров в системах может различаться и поэтому сопоставлять товары можно только по артикулу.
  • Обновление заказов. Иногда в сделку, которая уже отправлена на сборку товаров для клиента, нужно внести изменения. Тогда заказ в МойСклад становится неактуален, пока его не исправят вручную.
  • Поиск контрагентов. Контрагента в МойСклад нужно вруучную искать по ИНН и привязывать к заказу.
  • Ошибки. Ручная работа увеличивает риск ошибок при отгрузке и учете.

Такая ручная синхронизация товаров в МойСклад и сделок в Битрикс24 отнимает много времени менеджеров и чревата ошибками. Что замедляет процессы и снижает эффективность продаж.

Решение

Убраь ручной труд из процесса синхронизации товаров в МойСклад и сделок в Битрикс24 можно с помощью интеграций на платформе Пинкит. Для этого нужно настроить интеграции по такой логике:

1.1. Создание заказа. При перемещении сделки в Битрикс24 в воронке "Юридические лица" на стадию "На сборке" заказ автоматически создается в МойСклад.

1.2. Обновление заказа. Если сделка, которая была на стадии "На сборке", затем перешла на другую стадию и вернулась после изменений обратно на стадию "На сборке", заказ в МойСклад обновляется.

Как настроить создание заказа в МойСклад при обновлении сделки в Битрикс24?

Схематически интеграция "Сделка – обновлена => Создать заказ в МойСклад" настравивается так:

Шаг 1 – Сделка – обновлена. Направление: "ЮЛ" и Стадия: "На сборке"

Шаг 2 – Обрабатываем полученную информацию по сделке и проверяем, что ранее заказ уже не создавался. Учитываем момент, что если сделка возвращается на эту стадию снова, то мы просто её обновляем, а не создаем новую (будет чек-бокс, который будет фиксировать это). Поиск нужного товара будем делать по артикулу.

Шаг 3 - Мой склад – создать заказ.

Шаг 4 – Сопоставление данных.

Как обновить заказ в МойСклад при изменении сделки?

Шаги настройки интеграции "Сделка – обновлена => Заказ обновить в МойСклад" выглядят так:

Шаг 1 – Сделка – обновлена. Направление: "ЮЛ" и Стадия: "На сборке".

Шаг 2 – Обрабатываем полученную информацию по сделке и проверяем, что ранее заказ уже был создан и его нужно просто обновить. Поиск нужного товара будем делать по артикулу.

Шаг 3 - Мой склад – создать заказ.

Шаг 4 – Сопоставление данных.

Готовый шаблон интеграции и описание кейса вы можете установить по ссылке.

Далее покажем, как настроить эти интеграции "с нуля".

2. Сделка переведена на стадию "На сборке" => Создать заказ в МойСклад

2.1. Шаг 1: Откуда

Сделка переводится на стадию "На сборке", выбираем событие обновления сделки в Битрикс24.

-2

2.2. Шаг 2: Инструменты

2.2.1. Проверить, что ранее заказ не выгружался

  • Проверить

Используем проверку по полю source.UF_CRM_1747215899. Условие - (Логическое) Ложь, Действие - Продолжить, если проверка пройдена.

-3
  • Проставить галочку, что заказ создался в МойСклад

Используем API-запрос методом GET с указанием URL /crm.deal.update?id={{source.ID}}&fields[UF_CRM_1747215899]=1.

-4

2.2.2. Проверка контрагента и его создание

  • Получить реквизиты по Компании

Используем API-запрос методом GET с указанием URL /crm.requisite.list?filter[ENTITY_ID]={{source.COMPANY_ID}}.

-5
  • Найти компанию в МойСклад по ИНН

Используем API-запрос методом GET с указанием URL /entity/counterparty?filter=inn~{{step3.result.0.RQ_INN}}.

-6
  • Если компания найдена по ИНН в МойСклад, тогда Ложь, иначе Истина

Используем инструмент Если-иначе по полю step4.rows. Условие - пустое значение, Результат при успешной проверке = 1, Результат при неуспешной проверке 0.

-7
  • Создать контрагента, если ранее его не было в МойСклад

Используем API-запрос методом POST с указанием URL /entity/counterparty. Условие выполнения - step5.

Тело запроса:

{
"name": "{{step3.result.0.RQ_COMPANY_NAME|escape()}}",
"legalTitle": "{{step3.result.0.RQ_COMPANY_FULL_NAME|escape()}}",
"inn": "{{step3.result.0.RQ_INN}}",
"kpp": "{{step3.result.0.RQ_KPP}}"
}
-8
  • Выбрать уже существующего или нового контрагента

Используем инструмент Если-иначе по полю step4.rows. Условие - Пустое значение, Результат при успешной проверке - {{step6.meta.href|default()}}, Результат при неуспешной проверке - {{step4.rows.0.meta.href|default()}}.

-9

2.3. Шаг 3: Куда

Создаем заказ в МойСклад.

-10

2.4. Шаг 4: Сопоставление данных

Сопоставляем название заказа покупателя и название сделки.

-11

2.5. Шаг 5: Запуск

-12

3. Обновить заказ и добавить в него нужное количество товаров

3.1. Шаг 1: Откуда

Выбираем событие успешного срабатывания предыдущей интеграции.

-13

3.2. Шаг 2: Инструменты

  • Получить товары сделки

Используем API-запрос методом GET с указанием URL /crm.deal.productrows.get?id={{source.int10682.source.ID}}.

-14
  • Для каждого полученного товара

Используем перебор Для каждого поле step1.result.

-15
  • Преобразовать товар в массив

Используем Преобразование типов данных в поле step2. Тип данных - Массив.

-16
  • Получить товар подробнее в Битрикс24

Используем API-запрос методом GET с указанием URL /crm.product.get?ID={{step2.PRODUCT_ID}}.

-17
  • Поиск товара в МойСклад

Используем API-запрос методом GET с указанием URL /entity/product/?search={{step3.result.PROPERTY_240.value}}.

-18
  • Собрать массив товаров

Объединяем прогоны.

-19
  • Собрать запрос с товаром

Используем Преобразование массива объектов в поле step6.

Сопоставляем количество, цену, скидку и другие параметры.

-20
  • Фильтр

Используем Фильтр элементов массива в поле step7. Название поля внутри элемента массива - quantity. Условие - Существует.

-21

3.3. Шаг 3: Куда

Обновляем заказ в МойСклад.

-22

3.4. Шаг 4: Сопоставление данных

Сопоставляем ID заказа и {{source.int10682.result.id}}.

Добавляем пользовательское сопоставление:

Позиции товаров
Тип: Тело
Название параметра: positions
Значение параметра: {{step10}}
-23

3.5. Шаг 5: Запуск

Запускаем.

-24

4. Сделка переведена на стадию "На сборке" => Обновить заказ в МойСклад

4.1. Шаг 1: Откуда

Сделка переводится на стадию "На сборке", выбираем событие обновления сделки в Битрикс24.

-25

4.2. Инструменты

4.2.1. Проверить, что ранее заказ не выгружался

  • Проверить
-26

Используем проверку по полю source.UF_CRM_1747215899. Условие - (Логическое) Истина, действие - продолжить, если проверка пройдена.

  • Найти ранее выгруженный заказ

Используем шаг Поиск ID соответствующий сущности. Название поля - source.ID.

-27
  • Проверить, что заказ уже есть

Используем проверку по полю step8. Условие - (Логическое) Истина, Действие - Продолжить, если проверка пройдена.

-28

4.2.2. Получить реквизиты по Компании

Используем API-запрос методом GET с указанием URL /crm.requisite.list?filter[ENTITY_ID]={{source.COMPANY_ID}}.

-29
  • Найти компанию в МойСклад по ИНН

Используем API-запрос методом GET с указанием URL /entity/counterparty?filter=inn~{{step3.result.0.RQ_INN}}.

-30
  • Если компания найдена по ИНН в МойСклад, тогда Ложь, иначе Истина

Используем инструмент Если-Иначе по полю step4.rows. Условие - Пустое значение, Результат при успешной проверке = 1, Результат при неуспешной проверке = 0.

-31
  • Создать контрагента, если ранее его не было в МойСклад

Используем API-запрос методом POST с указанием URL /entity/counterparty. Условие выполнения step5.

Тело запроса:

{
"name": "{{step3.result.0.RQ_COMPANY_NAME|escape()}}",
"legalTitle": "{{step3.result.0.RQ_COMPANY_FULL_NAME|escape()}}",
"inn": "{{step3.result.0.RQ_INN}}",
"kpp": "{{step3.result.0.RQ_KPP}}"
}
-32
  • Выбрать уже существующего или нового контрагента

Используем шаг Если-иначе в поле step4.rows. Условие - Пустое значение, Результат при успешной проверке - {{step6.meta.href|default()}}, Результат при неуспешной проверке - {{step4.rows.0.meta.href|default()}}.

-33

4.3. Шаг 3: Куда

Обновляем заказ в МойСклад.

-34

4.4. Шаг 4: Сопоставление данных

Сопоставляем ID заказа и {{step8}}.

-35

4.5. Шаг 5: Запуск

Запускаем.

-36

5. Обновить заказ и добавить туда нужное количество товаров

5.1. Шаг 1: Откуда

Выбираем событие успешно отработавшей интеграции, настроенной ранее.

-37

5.2. Шаг 2: Инструменты

  • Получить товары сделки

Используем API-запрос методом GET с указанием URL /crm.deal.productrows.get?id={{source.int10400.source.ID}}.

-38
  • Для каждого полученного товара

Используем шаг Для каждого в поле step1.result.

-39
  • Преобразовать товар в массив

Используем Преобразование типов данных в поле step2. Тип данных - массив.

-40
  • Получить товар подробнее в Битрикс24

Используем API-запрос методом GET с указанием URL /crm.product.get?ID={{step2.PRODUCT_ID}}.

-41
  • Поиск товара в МойСклад

Используем API-запрос методом GET с указанием URL /entity/product/?search={{step3.result.PROPERTY_240.value}}.

-42
  • Собрать массив товаров

Объединяем прогоны.

-43
  • Собрать запрос с товаром

Используем преобразование массива объектов в поле step6.

-44
  • Фильтр

Используем Фильтр элементов массива в поле step7. Условие - Существует, Название поля внутри элемента массива - quantity.

-45

5.3. Шаг 3: Куда

Обновляем заказ в МойСклад.

-46

5.4. Шаг 4: Сопоставление данных

Сопоставляем ID заказа и {{source.int10400.result.id}}. Добавляем пользовательское сопоставление.

Позиции товаров
Тип: Тело
Название параметра: positions
Значение параметра: {{step10}}
-47

5.5. Шаг 5: Запуск

Запускаем.

-48

6. Итог

Интеграция Битрикс24 и МойСклад на платформе Пинкит позволяет автоматизировать процессы создания и обновления заказов, минимизировать ручной труд и исключить ошибки, связанные с несоответствием данных.

Настройка синхронизации через API обеспечивает актуальность информации о товарах и контрагентах, ускоряя обработку сделок и повышая эффективность продаж:

  • Не нужно больше руками создавать заказ в МойСклад из сделки Битрикс24, искать соответствующие товары и контрагента и привязывать их к заказу.
  • В каждой сделке проставляется галочка, что заказ в МойСклад создан.
  • Актуализируются остатки товаров в МойСклад без ручного труда автоматически при переводе сделки на стадию В сборке.

С помощью приведенной в статье инструкции вы можете сами настроить это решение или просто скачайте готовый шаблон интеграции, адаптировав его под свои бизнес-процессы.

Начните оптимизацию уже сегодня и выведите управление заказами на новый уровень!

Нет времени вникать и разбираться с настройками? Напишите нам в Телеграм или WhatsApp, расскажите о вашем бизнес-сценарии, и наши инженеры помогут настроить первичную обработку поступающих сообщений без ручного труда и вести сделку по воронке продаж в Битрикс24.

Если вам нужна интеграция с сервисом, которого в Пинкит нет, или приватное событие/действие, через Пинкитбилдер вы можете самостоятельно добавить авторизацию, необходимые события и действия без разработки.
Подберите свой кейс публичной интеграции без регистрации здесь.
Алексей Окара, продакт-менеджер Пинкит
-49

#пинол #пинкит #pinall #pinkit #bitrix24 #битрикс24 #amo #amocrm #амо #амоцрм #crm #црм #црмсистема #црм_система #внедрениецрм #интеграция #миграция #обмен #пинкитбилдер #битрикс24  #пинкит_мойсклад_битрикс24 #пинкит_мойсклад