Интеграция МойСклад и RetailCRM (Инструкция)

Данный текст писался как инструкция для моих сотрудников, но интеграция МойСклад и retailCRM наиболее часто заказываемая услуга и у клиентов возникает очень много вопросов с данной интеграцией. Поэтому решил выложить инструкцию с ЧАВО в открытый доступ, как есть:

Для начала: зачем подключать МойСклад к RetailCRM? В RetailCRM есть система учета товаров, но она работает только на убывающем принципе, т.е. с каждой продажей будет отниматься количество товара, а вот оприходование товара, списание, перемещения нет. Если у клиента небольшой ассортимент товара, и приход товара очень редко (большие складские запасы), вполне можно использовать встроенную систему. Второе — учет финансов. RetailCRM считает только оборот, а вот сколько денег в какой кассе, а также взаиморасчетов с поставщиками нет. МойСклад и 1С выполняют примерно одинаковые функции, поэтому применять одновременно две системы не имеет смысла.

Как работает взаимодействие систем :
взаимодействие МойСклад и retailCRM

Все заказы обрабатываются в RetailCRM, и в определенном статусе (обычно — “подтвержден») заказ передается в МойСклад.  Все действие с товарами совершаются в МоемСкладе — это может быть заказ у поставщика, перемещение (на склад отгрузки), отгрузка товаров, приходно-кассовый ордер. Из примерно МоегоСклада в RetailCRM поступают данные об остатках. На самом деле в RetailCRM передается поле “доступно”, которое в МоемСкладе считается как “остатки” — “резервы”. Будьте внимательны, если у клиента товарные предложения, то в товарном предложении отображается сумма по всем товарам, чтоб увидеть остаток в разрезе необходимо открыть ТП.  Товары в резервы в RetailCRM посмотреть нельзя. (на самом деле возможно они и передаются, но это поле будет доступно только при активации редактирования остатков — но тогда не будет работать обмен)

Порядок работы с клиентом

  1. Уточнить у клиента связан ли сайт и МойСклад между собой. Если да — отлично. Если нет — выяснить:
  • Как часто добавляются новые товары?
  • Какая CMS сайта? Поддерживает ли ее мой склад.
  • Где добавляют новые товары?

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

2. Доступы в МойСклад. Проверить чтоб в тарифе была возможность подключения интернет-магазина, стоит 500 рублей в месяц.
3. Необходимо любой хостинг для размещения скриптов, с PHP версией не ниже 5.3. Необходимы доступы ftp и крон либо SSH, либо в панель управление.
4. Доступу в RetailCRM.

Порядок подключения

  1. Синхронизировать каталоги МоегоСклада, сайта и RetailCRM.
  2. Подключить модуль на Маркетплейсе.
  3. Если клиенту недостаточно базового функционала, подключить сторонние модули.

Самое сложное — синхронизация каталога. В Мойсклад из RetailCRM заказ попадает только в том случае, если все товары из заказа существуют в МоемСкладе. Если какого-либо товара нет — заказ просто не создается. Идентификация товара идет через внешний код товара, в CRM это xmlID.

Самый простой вариант связать каталог  МоегоСклада, это установить скрипт который генерирует из каталога МоегоСклада ICML файл  и подключить его как каталог магазина. Скрипт можно использовать с Github, но лучше использовать с нашими доработками (FromMStoICML). Но данный способ подходит только в том случае, если клиент уже работал в моем складе, и сайт синхронизирован с МойСклад.  Также минусы такого подключения  — не передаются фотографии в RetailCRM, и не будет работать статистика по просмотренным товарам, в случае подключения Google Analytics. Если есть синхронизация товаров с сайтом, лучше выгрузку каталога делать с сайта. Все это касается только сайтов, с большим количеством товаром, в случае лендингов значительно проще.

Если синхронизации МоегоСклада и сайта нет, а товаров много — ее придется сделать (синхронизация МоегоСклада с сайтом не входит в стоимость интеграции МойСклад-RetailCRM!) . Для синхронизации необходимо зайти в МойСклад —>обмен данными (вкладка в правой, верхней части экрана)—> синхронизации — добавить магазин, и если магазин поддерживается, в большинстве случае достаточно будет ввести адрес магазин и администраторские доступы. Но данная синхронизация не загрузит каталог товаров в МойСклад.  И теперь самый важный момент: стандартная синхронизация сайт и МоегоСклада подразумевает, что новый товар будет добавляться в МойСклад, а с моего склада уже попадать на сайт.  Для того чтоб первично перенести всю номенклатуру с сайта в МойСклад, можно включить синхронизацию заказов, добавить все товары в корзину магазина и оформить заказ. Но в будущем такой случай не очень пригодный, т.к. заказы с сайта будут поступать через RetailCRM, а RetailCRM не создаст новые позиции!  Второй вариант, можно экспортировать всю номенклатуру через XSL (выгрузка через YML не подойдет! ), обязательно с уникальным кодом товара, и загрузить через Обмен данных—>Импорт—>товары и остатки. (Важно: данный способ нельзя применять если на сайте есть товарные предложения, такие случае отдавать мне, т.к. нет универсального решения)  Если клиент собирается добавлять новые товары через сайт, то такой импорт придется делать постоянно.  Можно автоматизировать данный процесс, для Битрикса есть уже написанный нами готовый модуль — передает новые позиции, и изменения цен в МойСклад, цена модуля 20000 рублей, и аналогичный модуль написали под OpenCart, цена 15000 рублей. Модули полностью автоматически, работают в фоновом режиме.

В случае если клиент использует программы для обработки прайс-листов (PLI, QuadCRM, PriceMatrix)  у нас есть модуль который в автоматическом режиме обновляем в МоемСкладе следующую информацию:  новые позиции и категории, цены товаров и валюты (поддерживает много цен), поставщика, количество. Цена модуля 15000 рублей. Увы пока тоже не поддерживает товарные предложения.

Подключение модуля на Маркетплейс (marketplace) 

Первое — версия модуля. Если клиент зарегистрировал МойСклад до 1 апреля 2017, то можно использовать версию 1, если аккаунт после 1 апреля, необходимо написать в техподдержку Retailcrm для активации версии 2.0 (с сентября 2017 версия 2.0 доступна для всех, и подключать необходимо ее).  В первой версии осуществляется только передача заказов в МойСклад, из МойСклад в RetailCRM отгрузка и остатки  (раз в 30 минут). Если необходимо изменить статус, то можно это сделать через триггер. Статусы никак не связаны.  Во второй версии модуля добавили уже синхронизацию статусов. Сам модуль настраивается очень просто:

  1. Вводится логин и пароль аккаунт МойСклад. Аккаунт должен обладать правами создания заказов, клиентов, просмотра остатков, создания новых позиций  и использования API или же просто администратором.
  2. Задать соответствие магазинов и складов.
  3. Задать соответствие статусов, соотношение должно быть 1 к 1, поэтому необходимо в МоемСкладе создать дополнительные.
  4. Статусы первичной выгрузки. Можно поставить и все, но как по мне это не логично, т.к. с складом работает только кладовщик и закупщик.

Реализация нестандартного функционала

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

Порядок проверки, если не передаются данные

  1. Проверь внешние коды.
  2. Нет ли в МоемСкладе товарных предложений.
  3. Нет ли в МоемСкладе в заказе пользовательских полей, обязательных для заполнения. Если есть временно отключите.
  4. Если ли у пользователя МойСклад создавать новые позиции (при первой выгрузке создается услуга “доставка”).

ЧАВО и проблемы

В: В МоемCкладе несколько цен, как передать в RetailCRM все?
О: В файле ICML передается только основная и закупочная, дополнительные цены можно передать только отдельным скриптом.

В: Я создал заказ в МоемСкладе — а в RetailCRM он не передался?
О: Заказы необходимо создавать в RetailCRM. Заказы созданные в МойСклад не попадут в RetailCRM, но если они не нужны в RetailCRM, их можно создавать в МоемСкладе.

В: Мы добавили товар в МойСклад, а он не появился в RetailCRM?
О: Проверьте дату генерации файла ICML, и наличие данного товара в файле. Если фаил не обновляется — задача программисту: проверить cron.

В. Некоторые товары не попали в RetailCRM
О. Проверьте в МоемСкладе в этом товаре — не пустое ли название, и нет ли в названии спецсимволов. Часто в брендах используется &, лучше заменить, или в скрипте отключить очистку спецсимволов.

В: Если сайт синхронизирован с МоимСкладом, надо ли передавать заказы?
О: Нет, синхронизацию заказов между МойСклад и сайтом обязательно отключить, обмен остатками лучше оставить.

В: Мы создали товары в RetailCRM, как их теперь перенести ?
О: Увы такой возможности нет, придется создавать товары вручную в МоемСкладе и перенести через ICML. После подключения ICML необходимо сделать очистку каталога.

В: Сделали все верно, а файл не генерируется или генерируется не полный, не работает дополнительный модуль?
О: Первое что стоит сделать — отдельного пользователя для API, который не будет использовать личный кабинет. Второе — посмотреть логи ошибок, были случаи когда у клиента МойСклад выдавал периодически ошибку авторизации. Это связано с ограничением подключением по одному IP, скорее всего у клиента виртуальный хостинг и на этом IP уже есть другие клиенты МоегоСклада. Для проверки — перенести скрипт на наш хостинг, и если работает без ошибок — клиенту необходимо приобрести на хостинге выделенный IP. Предлагать оставить модули МоегоСклада на нашем хостинге не желательно, т.к. тоже вскоре можем столкнулся с этим ограничением.

В: После подключения МойСклад, товары попадают в заказ черным цветом и без свойств.
О: Это значит в интеграции с сайтом используется не xmlID, необходимо переделать  —  Так же может быть что xmlID есть, и передается в заказ, а товары в заказе всеравно не по справочнику (например Задача № 638), необходимо сделать идентификацию именно по этому тегу.

В: У нас бывают принимают заказы на товары не из каталога, можно ли их быстро добавить в RetailCRM?
О: Чтоб добавлять товары в RetailCRM, необходимо активировать редактирование каталога, но в таком случае каталог перестанет обновляться из файла. Более того заказ с таким товаром не сможет попасть в мойсклад, поэтому так делать очень не желательно.

В: Передается закупочная из карточки или себестоимость?
О: Из моего склада в поле “закупочная цена” передается поле “себестоимость”. Себестоимость это не тоже самое что закупочная цена, которая указывается в карточке товара. Себестоимость берется из приходной накладной товара и в моем складе считается по системе FIFO. Себестоимость можно посмотреть в отчетах — остатки.

В:  Где в RetailCRM посмотреть закупочную цену?
О: Чтоб в заказе отобразилась закупочная цена товара, необходимо в настройках  включить просмотр закупочной цены, либо сначала сохранить заказа и в списке товаров нажать “склад не выбран”. Там будет отображена закупка и если выбрать склад, она переносится в карточку заказа.

В. Клиент  хочет дополнительные поля в свойствах товара
О:  Делается через доработку файла ICML, кому-то уже добавляли размеры и вес. Задачи такие на Дениса.

В: Как быть если у клиента несколько магазинов?
О: Если номенклатура между магазинами пересекается, то на одинаковый товар во всех магазинах должен стоять одинаковый идентификатор и он передаваться в качестве xmlID.  Если номенклатура не пересекается, то в моем складе должна быть номенклатура всех всех магазинов

В: В RetailCRM нет розничной цены в некоторых товарах.
О: 1. Скорее всего у товара нет валюты. Если валета черным шрифтом и рядом карандашик — просто пересохраните товар. Аналогично относится к товарным предложениям 2. Надо заменить на наш скрипт, в нем баг исправлен.

В: Некоторые заказы не попадают в RetailCRM, на что обратить внимание?
О: — Не указан склад отгрузки
-Не указан магазин
— Товаров в заказе нет в МС, или не совпадает внешний код
-Удалили клиента из МС, и при попытке создать заказ, retailCRM не находит клиента.

 

 

https://im-business.com | Автоматизация от профессионалов

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

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