Warning: Use of undefined constant ‘CONCATENATE_SCRIPTS’ - assumed '‘CONCATENATE_SCRIPTS’' (this will throw an Error in a future version of PHP) in /home/users/j/j595856/domains/unit1.pro/blog/wp-config.php on line 88
Синхронизируем возвраты покупателей в МойСклад и retailCRM — Блог компании UnitOne
Санкт-Петербург, Ленинский пр-т, 168 оф. 319
+7 996 768-1381 contact@unit1.pro

Синхронизируем возвраты покупателей в МойСклад и retailCRM

sinhronizaciya-vozvratov-pokupateley

Сложно представить бизнес, связанный с продажами, в котором нет возвратов. Сегодня разберемся, как навести порядок в аналитике продаж и сэкономить время при оформлении возвратов, если вы работаете в МойСклад и retailCRM.

Никто не любит возвраты. Эффективный менеджмент старается минимизировать их количество и бдительно следит, чтобы показатель «Процент возвратов» колебался где-то около нуля. Однако, существуют некоторые виды бизнеса, где возврат от покупателя является неотъемлемой частью бизнес-процесса. Например, вы продаете одежду и отправляете клиенту сразу несколько размеров одной вещи. То, что не подойдет, курьер привезет обратно. Для отражения в товарном учете возвратов от покупателей в МойСклад есть отдельный документ, который так и называется «Возврат покупателя».

Обычно все происходит так…

Нам вернули некоторые или все товары из заказа. Что делает в таком случае работник склада или другой специально обученный человек, ответственный за перемещение товаров? Первым делом он заходит в МойСклад и создает новый документ «Возврат покупателя». Желательно, чтобы этот документ был создан не сам по себе, а с привязкой к заказу клиента, чтобы можно было при необходимости отследить всю цепочку событий. Для этого наш  человек заходит в карточку заказа и на закладке «Связанные документы» находит документ отгрузки.

Связанные документы в МойСклад

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

Связанные документы в МойСклад с возвратом

На этом вроде бы все, не считая одного НО — в retailCRM информация о заказе не изменилась и сама не изменится. Наш ответственный сотрудник должен отметить возврат и там. Кто-то любит делать одно и то же несколько раз? Сомневаюсь. И не стоит забывать, что наш кладовщик может совсем не иметь доступа в CRM и для отметки возврата придется сказать/позвонить/написать кому-то, что N единиц какого-то товара вернулись на склад. Здесь мы сразу получаем массу возможных проблем от «Забыл передать, там же возврат пришел» до «А какой размер, он сказал, вернули ? Сороковой?».

Вжух! — и все красиво…

Всех проблем и неудобств вышеописанной ситуации можно избежать, используя механизм вебхуков МойСклад. Вебхуки позволяют сторонним сервисам получать уведомления от МойСклад при наступлении определенных событий. Для каждого вебхука необходимо указать для какой сущности он создается (например, документ «Заказ покупателя») и с каким событием этой сущности он связан (создание, изменение, удаление). В данной ситуации нам нужно получать информацию каждый раз, когда в МойСклад создается документ «Возврат покупателя».  Установив такой хук и указав в качестве обработчика адрес нашего скрипта, МойСклад будет вызывать этот скрипт каждый раз, когда создается новый документ возврата, передавая ему идентификатор созданного документа . Таким образом, мы сможем выполнить любые действия сразу же в момент его создания.

А что будем делать?

Тут уже решать каждому. Я предлагаю следующий порядок действий:

  1. Для начала неплохо бы проверить, нужны ли вообще какие-то действия. Ведь может случится ситуация, что возврат создается без привязки к отгрузке/заказу, а просто в качестве самостоятельного документа. Либо же возврат связан с заказом, но сам заказ был выгружен не из retailCRM. В обоих случаях ничего делать не требуется.
  2. Если все-таки возврат должен отразиться в CRM-системе, то отличным вариантом выглядит смена статуса товара в заказе retailCRM. В стандартном списке статусов товаров уже есть статусы  «Отказ клиента» и «Возврат». Оба этих статуса являются статусами отмены: товары с такими статусами не считаются проданными и не добавляют свою стоимость к стоимости заказа. Нас устраивает.

Реализация может быть примерно такая:

  • получили идентификатор документа возврата от МойСклад
  • по документу возврата узнали с какой отгрузкой он связан
  • по документу отгрузки узнали с каким заказом МойСклад она связана
  • по заказу МойСклад узнаем, связан ли он с заказом retailCRM
  • изменяем в заказе CRM статус тех товаров, что присутствуют в документе «Возврат клиента»

Конечно, есть масса нюансов. Например, в retailCRM не получится отразить частичный возврат одного товара. Получается, если вы оформили 2 единицы товара, а получили на возврат 1 единицу, то в CRM вы не сможете это зафиксировать: либо возврат 2 штук, либо продано 2 штуки. Надеемся, что когда-нибудь эта проблема будет решена.

А вы все еще делаете двойную работу?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *