You are using an outdated browser. For a faster, safer browsing experience, upgrade for free today.

Нужно передавать заявки из CRM в складскую систему? Вот пример реализации

Интеграция

В этом кейсе я расскажу, как мы сделали интеграцию CRM системы amoCRM с Мой Склад. К нам обратилась компания, которая занимается продажей спортивных товаров для дома и улицы, от классических турников до полноценных спортивных силовых комплексов.


Все сделки ведутся в amoCRM, туда поступают заявки (с сайта, звонки и тд), а складской учет товаров, цен и тд ведется в SaaS сервисе МойСклад. На момент обращения был установлен только базовый модуль интеграции. В amoCRM были созданы две воронки продаж по двум городам: Санкт-Петербург и Москва и, соответственно, два склада. По задаче необходимо было настроить интеграцию так, чтобы при выставлении определенных статусов в воронке продаж, привязанные к сделке товары автоматически резервировались на складе и списывались, если сделка успешно реализована.Настройка интеграции проводилась через Вебхук. Теперь расскажу про все более подробно.

Основные задачи интеграции

На момент начала работы в МойСклад находился список всех товаров, цены на товары, остатки (количество) по каждой позиции (вкладка "Остатки"). Изначально была настроена передача этих товаров в amoCRM с возможностью выбора в сделке необходимых товарных позиций, а также автоматически считался бюджет заказа. Уточню, что передавалось только название товара и стоимость, а количество не передавалось. Стандартный виджет интеграции передает данные только о названии товара, описание, артикул, категория и цена. Остатки, склад - нет, для этого будет сделана отдельная интеграция (передача количества товара, срок поставки на склад и тд), если актуально, напишите в комментариях, и я распишу отдельный кейс по такой интеграции.


Задача состояла именно в создании автоматического резервирования товара при выборе определенного статуса, передачи этого статуса в МойСклад, автоматического списания товара, либо удаление документов и резерва в случае неудачи. Перейдем к оформлению сделки в amoCRM.
Давайте для примера я покажу вам, как выглядит воронка продаж:


А также сама карточка товара:


Обязательные поля для передачи заказа:

  • Город
  • Адрес доставки (если не самовывоз)
  • Дата заказа
  • Заполнение контрагента
  • Выбрать товар можно было только после создания сделки, и выглядело это следующим образом:


    Настройка свойств полей и их передача:


    Логика передачи данных в МойСклад

    Товары должны резервироваться в МойСклад в случае, если в amoCRM товар привязан к сделке в статусах:

  • "Ждут наличия" - выставляется статус "В работе"
  • "Самовывоз" - выставляется статус "Самовывоз"
  • "Оформлена доставка" - выставляется статус "Доставка курьер"
  • "Отправлен в доставку" - выставляем статус "Доставка курьер"
  • Данные статусы мы используем в 2 наших воронках (по МСК и СПб), соответственно, интеграция настроена по 2 воронкам и автоматом идет передача в нужный нам склад.

    Сейчас рассмотрим последовательность по резервированию товара в МойСклад, которую мы автоматизировали:

  • В заказе мы сначала создаем контрагента. Передаются следующие поля: ФИО, телефон, e-mail (при наличии), адрес + ИНН (если юр. лицо). Заполнение ИНН мы тоже автоматизировали, для этого использовали сервис dadata.ru (МойСлад, похоже, напрямую берет данные из базы egrul, я предполагаю, что у них с ними договор. Api документации egrul, к сожалению, не нашли. Если кто-то знает, то напишите в комментариях, буду благодарен). Dadata условно бесплатный - до 10 000 запросов в день, а если больше, то нужно будет приобретать у них платный тариф. У заказчика было максимум 50 в день, поэтому можно считать его бесплатным

  • Адрес берется из указанного в сделке, а не в поле контрагент (он может быть, например, юридический, а доставка в другое место)
  • После создания контрагента привязываем необходимый товар на основе выбранных товарных позиций в сделке в amoCRM

  • Автоматически выставляется резервирование товара. Для этого ставим галочку "Резерв товара"

  • Склад должен выбираться автоматически в зависимости от того, какой сайт указан в источнике в amoCRM (СПб или МСК), это поле мы берем из "Источника заказа" и передаем.
  • Автоматически выставляется резервирование товара. Для этого ставим галочку "Резерв товара"

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

    Списание остатков


    Списание происходит автоматически по тем позициям товара и в том количестве, в котором они привязаны к сделке в статусе "Успешно реализовано" в amoCRM. Мы реализовали следующую последовательность по списанию товара в МойСклад:

  • В заказе покупателя создается документ "Отгрузка", и после этого автоматом создается отгрузка и списание товара из резерва

  • После этого статус меняется на "Выполнен"
  • Для проведения оплаты в МойСклад необходимо в "Заказе покупателя" создать документ "Входящий платеж"

  • После этого проходит платеж, и баланс выравнивается.
  • Все вышеописанные шаги должны выполняться автоматически в режиме реального времени для всех товаров и в том количестве, в котором они привязаны к сделке, где был присвоен связанный со списанием остатков товара статус "Успешно реализовано".

    Отмена заказа

    В случае отмены заказа (в AmoCRM статус "Закрыто и не реализовано") происходит отмена резерва товарного остатка. Последовательность по отмене списания товара, которую мы автоматизировали:

  • В "Заказе покупателя" снимаем галочку резерв
  • Удаляется отгрузка и платеж, если они уже были реализованы, а также удаляются все связанные с заказом документы. Дополнительно мы реализовали правило, чтобы оплата удалялась всегда, когда в сделке стоит любой статус кроме "Успешно реализовано"
  • Для заказа выставляется статус "Отказ"
  • Все вышеописанные шаги должны выполняться автоматически в режиме реального времени для всех товаров и в том количестве, в котором они привязаны к сделке, где был присвоен связанный с отменой заказа статус "Закрыто и не реализовано".

    Заключение

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

    Поделитесь этим постом

    Автор

    Семёнов Александр

    Профессионал в области интернет рекламы и коммерции. Делюсь своими наработками с другими в этом блоге.

    Комментарии:

    Комментарии пока отсутствуют.

    Напишите комментарий