Полная синхронизация: сайт, МойСклад, Price List Importer, retailCRM
Если вы уже пользуйтесь перечисленными системами, то уже знаете их возможности и область решаемых задач. Эти программы не конкурируют, а дополняют друг-друга. Можно сказать, что это оптимальный набор программы и сервисов для интернет-магазина даже большого масштаба, с большим количеством поставщиков и собственным складом.
retailCRM — это облачная CRM система для ведения заказов, обращений клиентов, задач, бизнес-процессов, логистики, аналитики, маркетинга, сегментации клиентов. Но не имеет полноценного складского учета и работы с каталогом. Детально про retailCRM
МойСклад — облачный сервис для ведения склад, взаиморасчетов с поставщиками, движение денег, накладных, подключения кассовых аппаратов и сканеров штрик-кода. Фактически это аналог 1С, но с многими дополнительными плюшками. В системе есть простенькая CRM-система, но подойдет только для начинающих интернет-магазинов. Подробней о системе МойСклад
Etrade PriceList Importer — vip решение для обработки прайс-листов, цен конкурентов, автоматического ценообразования и контента. По крайней мере я его внедряю в 90% случаев, на тематике товаров любой сложности. В МойСклад есть импорт прайса, но подойдет если у Вас один поставщик, или товары не пересекаются. Большинство же магазинов работаю с множеством поставщиков с одинаковыми товара. Про PriceList Importer
Связать сайт, прайсы, retailCRM очень просто. А вот включить в эту схему ведение учета через МойСклад вызывает массу вопросов, поэтому больше будет про настройку Моего Склад в этой схеме.
Общая схема взаимодействия.
В статье я попытаюсь расписать все очень детально, чтоб могли повторить все самостоятельно. В качестве сайта я буду использовать систему Bitrix, редакция Бизнес. Во первых это самая популярная система, во вторых интеграция с Битриксом наиболее сложная, т.к. для обмена с сайтом используются внешние коды. Для повторения на другой CMS просто замените внешние коды, полем по которому идет синхронизация.
Какой получим результат
1. Полная синхронизация номенклатуры, в т.ч. товарных предложений и при добавлении новых товаров из прайс-листов;
2. Динамическое обновление остатков с сайтов через МойСклад, независимо от обновлений прайсов;
3. Передача в МойСклад информации о поставщиках для каждого товара.
Простые товары и торговые предложения
Во всех перечисленных системах товары могут быть как простыми — состоять из одного товара, так и быть торговым предложениям (они же товарные предложения, модификации товаров) — схожих товаров, но отличных по определенными свойствами. Например Samsung Galaxy S7 32Gb белый — это товар, а Samsung Galaxy S7 с выбором цвета, и размера памяти — это торговое предложение. Представление о торговом предложении в МойСклад отличается от представления в Bitrix, retailCRM и PriceList. Поэтому об этом будет много деталей.
Загружаем прайсы в МойСклад
Для начала разберемся какие бывают способы импорта в МойСклад:
- Загрузка через YML. Простой и удобный импорт, позволяет загружать номенклатуру с фото. Но не передает UUID — из-за чего нельзя настроить обмен с сайтом, также не передает закупочные цены, поставщиков. Не подходит.
- Прайс-лист Excel имеет те же недостатки.
- А вот загрузка остатков позволяет более тонко все настроить. Им и воспользуемся.
Для загрузки в МойСклад из PriceList нам понадобится экспорт в XLS со следующими полями:
- Код товара, нужно выбрать с символьным кодом {CAT_FULL};
- Группы;
- Наименование;
- Внешний код — именно по этому полю синхронизируется мой склад и битрикс. В некоторых других CMS это может быть другое поле;
- Артикул;
- Цена продажи;
- Закупочная цена;
- Поставщик;
- Количество , переименовать в остаток.
В дополнительных настройках надо отключить “группировать категории” и “создавать автофильтр”
На поля Размер и цвет пока не обращайте внимание. В МойСклад выбираем — импорт, товары и остатки (Excel). И если сделали все как на скриншоте, то поля для импорта определяться автоматически. Единственно что надо сделать, это выбрать склад не основной, а создать виртуальный “Склад поставщика” и лучше выбрать опцию: искать по коду.
При импорте автоматически создается документ оприходования. Оприходование отличается от приемки, как раз тем, что не изменяет баланс взаиморасчетов — что нам и надо. При этом автоматически создаются новые товары, категории, и поставщики, а у товаров будут заполнены поля — розничная цена, цена продажи, поставщик, артикул.
Теперь при оформлении заказа или подборе номенклатуры выводится наличие по товарам поставщика, или же по собственным остаткам и поставщика:
На текущем этапе вы уже можете быстро добавлять новые товары, обновлять оптовые и продажные цены, а также получать данные о поставщике товара. Если все ваши поставщики предоставляют разную продукцию — все отлично.
Но обратите внимание, сейчас в поле склад поставщика загружается одно значение. Т.е. если поставщиков одного товара несколько, их количество будет суммироваться, а также будет суммироваться собственный остаток. Как вариант можно не суммировать, а брать количество поставщиков у которых товар в наличии. То есть, если есть у 4 поставщиков, то количество 4. Если поставщиков в пределах 7, можно сделать некую кодировку — за каждый разряд в строке наличие будет отвечать определенный поставщик. Например 1001101. Это значит товар есть у 1, 4,5 и 7 поставщика.
Кстати у данного способа загрузки есть еще один недостаток.. Перед каждым импортом надо удалять предыдущий, иначе остатки будут суммироваться.
Наличие и цена по каждому поставщику
Для того чтоб в системе Мойсклад были данные о наличии у каждого поставщика, необходимо в PLI вывести матрицу поставщиков, или же передавать наличие по каждому поставщику через дополнительные поля. Но если добавлять через склады, то эти данные попадают и в retailCRM, если через доп. поля — нет
Для того чтоб retailCRM изображала наличие в разрезе каждого склада необходимо в настройках включить “бронирование остатков товара”, иначе будет выводится только общая сумма по наличию.
При данном импорте не надо каждый день удалять предыдущий импорт, и если используете именно интерфейс МойСклад для ведения заказов, данный способ более удобен.
А что насчет цены? МойСклад может хранить только одну закупочную цену. Если хотите в карточке товара в МоемСкладе видеть цену по каждому поставщику, можно загрузить цены также через дополнительные столбцы. В настройках экспорта PLI же надо просто добавить строчку “Матрица цен поставщиков” На самом деле многие поставщики не дают точного наличие у себя, а только факт наличия. Поэтому можно упростить — выгружать цену поставщика, только если товар есть в наличии у поставщика. Для этого активируете в экспорте галочку “Экспортировать из СТИПП в сводный прайс, только товары, которые есть в наличии”
В результате получаем:
Экспортируем на сайт.
Из Мой Склад на сайт выгружать необходимо только собственные остатки. На сайте создаем собственный склад, и производим выгрузку в него. Если складов или магазинов несколько и необходимо выводить наличие по каждому на сайте — создаем и выгружаем по каждому.
Экспорт из МойСклад
Остатки по всем поставщикам ведет Price List Importer и выгружает данные в поле “общее количество”.
Если используете retailCrm то синхронизацию заказов в МойСклад надо отключить, если не используете — обязательно включаем.
А если торговые предложения?
Синхронизация номенклатуры при таких настройках работает и с торговыми предложениями, но при условии если не создавать товарных предложения в МоемСкладе. На функционал никак не влияет, только на удобство. Но можно загрузить и товарные предложения.
Для того, чтоб понять в чем сложность, покажу на примере. Создадим в МоемСкладе товарные предложения, и сделаем их экспорт на сайт.
Как видно, у товаров-артибутов внешний код состоит из двух частей — кода товара родителя и собственного кода. На стороне МойСклад исправить это нет возможности (если отключить в экспорте “выгружать модификации товаров” — они просто не выгружаются), поэтому будем решать вопрос на стороне PriceList Importer. Для этого в настройки экспорта добавляем SQL запрос:
UPDATE etrade_products_kits SET tov_guid=CONCAT(tov_guid_kit, ‘#’, tov_guid);;;
Если используете Content Creator, этот запрос также надо вставить и в Content Creator.
Теперь внешние коды модификаций будут совпадать. Если файл экспорта каталога в retailCRM генерируется через сайт больше ничего менять не надо, синхронизация между МойСклад И retailCRM заработает корректно.
Но у нас изменяется и схема загрузки каталога в МойСклад, необходимо внести пару правок.
Во первых, в Моем Складе необходимо создать вручную названия свойств, по которым могут отличаться схожие товары. Для этого просто создаем одну модификацию на любой товар, с указанием всех свойств. Значения создавать не нужно.
Второе. Коды всех товаров-модификаций должны быть одинаковые. Для этого в PLI дополнительно добавляем колонку “Код родительского товара-атрибута” (tov_id_kit ) и заменяем в excel колонку “код” значениями “Код родительского товара-атрибута” (специальная вставка — пропускать пустые значения). Также в настройках экспорта необходимо оставить сортировку только по категории, производителю, цене. При импорте в МойСклад, обязательно указываем колонку с артибутом.
В итоге:
Выгрузка остатков в PLI
Для корректного ценообразования, PLI должен учитывать остатки на собственном склад. Это можно сделать через Склад-остатки- выбрать свой склад — печать — Excel.
К сожалению МойСклад не позволяет делать постоянную ссылку для автоматического обновления. Я поступаю иначе — генерирую остатки по складу через сайт, и PLI автоматически берет свежие остатки.
Ограничения обмена
В статье были показаны все возможности без использования программирования или API сервисов. Для большинства задач этого вполне достаточно, но перечислю, для чего недостаточно:
- При синхронизации остатков, из системы МойСклад приходит информация о средней закупочной стоимости товара на складе. Без использования API невозможно в retailCRM автоматически передавать закупочные цены по каждому поставщику
- В retailCRM есть функция перемещения между складами, это перемещение создается в МойСклад. Для того, чтоб учитывался баланс с поставщиком необходимо оприходование. Также, только через API
- В retailCRM не отображаются товары в резерве.
- Без использования API обновлять номенклатуру в Мой клад можно только вручную, загружая xls файл.
Если возникли вопросы по синхронизации или предложения — пишите в комментариях или в контакты.
8 thoughts on “Полная синхронизация: сайт, МойСклад, Price List Importer, retailCRM”
Comments are closed.
Здравствуйте, требуется синхронизация 1с-битрикс с Мой Склад. Подробности (ТЗ) отправлю в ответ на ваше письмо. С уважением, Максим.
Добрый день! Есть лайфхак как связать: retailCRM, МойСклад и Webasyst или это в принципе невозможно?!
Здравствуйте.
Тут абсолютно стандартная схема. Синхронизация между WebAsyst и моим складом есть, но отключите синхронизацию заказов. Товары передаются из Моего Склада в WebAsyst, а с сайта по xmlID поступают в RetailCRM.
Также в RetailCRM поступают из Моего Склада.
Здравствуйте. Мы пользуемся retailcrm и сервисом МойСклад, но еще ни разу не работали с чужими складами (работаем со своего).
Сейчас рассматриваем такую возможность и читаем ваши статьи.
Сейчас работаем так:
А) С моего склада на сайт выгружаются остатки
Б) С сайта в ретейл выгружаются заказы (с ретейла, на сайт, соответственно тоже, если заказ поступает по телефону)
В) С ретейла в МойСклад выгружаются подтвержденные заказы с резервированием
Задача: подключение одного (в будущем двух-трех) прайс-листов (или yml) для подтягивания актуальных остатков (на сайт и в МС и в ретейл) и автоматического формирования заказов данным поставщикам. (Поступил заказ с сайта на номенклатуру, которая есть у поставщика -> заказ подтвердили в ретейлсрм -> «что-то произошло в алгоритме, что бы не вручную фиксировать позиции, которые нужно сегодня забрать у поставщика и забивать затем документ приемки в МойСклад»
Перечитал два раза, но так и не понял, как это можно реализовать. Ежедневно загружать «общий» сгенерированный прайс-лист с остатками в МойСклад? Но как тогда потом разобраться, у кого из поставщиков сколько товара необходимо забрать.. Да и синхронизацию остатков в своей статье вы советуете только «со своим складом» почему-то (значит есть другая схема?) Отключение синхронизации заказов retailcrm МойСклад — вопрос, зачем отключать синхронизацию заказов? Или имеется ввиду — выгрузку заказов с сайта в retail (она у нас, например, и так отключена — заказы выгружаются с ретейла на сайт)
Здравствуйте.
Вся загвоздка, из-за того что в моем складе нет понятия «склад поставщика». Можно создать якобы склад поставщика, но при перемещении с него, не будет меняться баланс с этим поставщиком. Поэтому в эти склады, или же в дополнительные поля записывается информация только для справки. Если номенклатура у поставщиков не пересекается, то можно ежедневно в товаре обновлять закупочную цену и поставщика ( при заказе поставщику, эти данные будут проставляться автоматически). Можно эти данные обновлять через xls, или по API. Так что Вы в принципе правильно поняли, загружаете сводный прайс, и потом в МоемСкладе на заказе выбираете — создать заказ поставщику, если товара нет на остатках.
Но если хотите, чтоб сразу в RetailCRM отображалась информация в разрезе складов, то в МоемСкладе необходимо выгружать остатки и цены только в разрезе складов.
Здравствуйте, решил синхронизировать PROM.ua, retailCRM, МойСклад
Товары были выгружены с помощью https://github.com/retailcrm/moyskad-catalog
Заказы были выгружены с помощью https://github.com/retailcrm/tiu-client
Все отлично выгрузилось, но нет связи товара в выгруженном заказе retailCRM со справочником товары в retailcrm в чем может быть проблема?
Причина однозначно в том, что в выгрузке yml для retail одни id товара (yml_ID), а в заказе (external_id) передаются другие.
Для всех товаров или только для товаров с модификациями такая проблема?
Проверьте синхронизацию пром и мой склад, какой используют ключ для передачи катала в пром
Проблема со всеми товарами. Пром и мой склад получилось синхронизировать нормально, айди совпадают.