Большинство растущих интернет-магазинов приходят к одному и тому же: заказы вводятся в ERP вручную, остатки копируются из таблицы, а цены на сайте расходятся с прайс-листом. Интеграция ERP и интернет-магазина решает эту проблему, но коннектор — меньшая часть работы. Успех или провал проекта определяют решения о данных: какая система чем владеет, как поля переводятся между системами, как часто передаётся каждый тип данных и что происходит при сбое. Этот чек-лист охватывает такие решения, чтобы принять их до того, как будет написана первая строка кода.

Определите источник истины для каждого типа данных

У каждого элемента данных должна быть ровно одна система, служащая источником истины, — место, где данные создаются и исправляются; остальные системы получают копии. Типичное распределение выглядит так:

ДанныеОбычный источник истиныНаправление
Артикулы, себестоимость, базовые ценыERPERP в магазин
Описания, изображения, атрибутыPIM или магазинPIM в магазин и другие каналы
Остатки на складеERP или складская системаERP в магазин, часто
Веб-заказы и платежиМагазинМагазин в ERP
Отгрузки и отслеживаниеERP или складская системаERP в магазин
Счета, кредит-ноты, кредитные лимитыERPERP в магазин, если клиентам нужно их видеть
Учётные записи клиентовМагазин для розничных покупателей, ERP для B2B-клиентовСогласуется по каждому полю

Когда две системы считают себя владельцами одного поля, интеграция рано или поздно перезапишет чью-то работу.

Маппинг данных занимает больше времени, чем кто-либо ожидает

Основные усилия уходят на маппинг данных, потому что системы описывают одно и то же по-разному:

  • Идентификаторы: SKU, артикулы ERP и ID вариантов, и что происходит, когда один из них переименовывают.
  • Варианты: магазин может считать рубашку в пяти размерах одним товаром с опциями, тогда как в ERP это пять отдельных позиций.
  • Единицы измерения: магазин продаёт штуки, а ERP хранит коробки по двенадцать.
  • Коды: способы доставки, способы оплаты, налоговые коды, группы клиентов и коды штатов или стран — каждый нужно перевести в собственные значения ERP.
  • Деньги: скидки на уровне заказа или строки, округление, доставка отдельной строкой и подарочные карты.

Запишите маппинг в виде таблицы по полям и попросите кого-то из операционного отдела её утвердить. Та же таблица станет планом тестирования.

Синхронизация заказов, остатков и цен: в реальном времени или пакетами

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

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

API ERP часто ограничивают число одновременных запросов, поэтому схема, которая справляется с пятьюдесятью заказами в день, может зависнуть во время распродажи. Тестируйте на реалистичных пиках, а не в тихий вторник.

Потребности B2B: цены и условия для конкретных клиентов

Оптовые клиенты ожидают увидеть онлайн собственные прайс-листы, договорные цены, условия оплаты и кредитные лимиты. Цены для конкретных клиентов можно заранее скопировать в магазин или запрашивать у ERP, когда клиент открывает товар. Копирование быстрее для посетителей, но может привести к очень большим таблицам цен; живой запрос к ERP всегда актуален, но зависит от его скорости и доступности. Многие B2B-магазины сочетают оба подхода: прайс-листы копируются ночью, а кредитные лимиты и неоплаченные счета запрашиваются в реальном времени.

Обработка ошибок интеграции и мониторинг

Интеграции ломаются по самым обычным причинам: перезапуск ERP, неизвестный код штата, товар, который есть в одной системе, но отсутствует в другой. Хорошая обработка ошибок интеграции подразумевает:

  • Повторные попытки с растущими паузами при временных сбоях.
  • Защиту от дублей, чтобы повторно отправленный заказ не создавался в ERP дважды.
  • Очередь неудавшихся записей с указанием причины, видимую сотрудникам, и способ повторно обработать их после исправления.
  • Оповещения конкретному ответственному, когда число сбоев превышает порог, а не просто строки в файле журнала.
  • Заказы, которые продолжают приниматься, пока ERP недоступна, и поступают в неё, когда она возвращается.

Варианты интеграции ERP и интернет-магазина: коннектор, iPaaS или собственный сервис

Готовый коннектор — самый быстрый вариант, если обе системы распространены, а ваши процессы стандартны. iPaaS (платформа интеграции как услуга, например Celigo или Jitterbit) добавляет визуальный маппинг, планирование и мониторинг за подписку. Собственный сервис лучше всего подходит для нестандартных правил, но дороже в создании и владении. Что бы вы ни выбрали, используйте актуальные интерфейсы ERP. Например, Oracle рекомендует для новых интеграций NetSuite веб-сервисы SuiteTalk REST с OAuth 2.0 и опубликовала план отказа от SOAP-сервисов, а веб-интеграции SAP Business One обычно строятся на Service Layer API. На странице об интеграции ERP и PIM объясняется, как мы оцениваем эти варианты.

Чек-лист интеграции ERP для стартовой встречи

  1. Согласованный источник истины для каждого типа данных.
  2. Маппинг по полям, утверждённый операционным отделом.
  3. Согласованная периодичность синхронизации для каждого типа данных с ожидаемыми пиковыми объёмами.
  4. Обработка ошибок, оповещения и назначенные ответственные.
  5. Тестовые сценарии из реальных заказов, включая возвраты, частичные отгрузки и отмены.
  6. План перехода: начальные остатки, открытые заказы и дата, когда ручной процесс прекращается.

Часто задаваемые вопросы: интеграция ERP и интернет-магазина

Можно ли интегрировать ERP, у которой нет API?

Часто да, через обмен файлами по расписанию: ERP экспортирует и импортирует файлы CSV или XML, либо документы EDI, через защищённую папку. Это менее оперативно, чем API, но надёжно, если реализовано с той же обработкой ошибок. Писать напрямую в базу данных ERP редко стоит.

Что происходит с заказами, если ERP недоступна?

Магазин продолжает продавать. Заказы ждут в очереди и отправляются, когда ERP возвращается, поэтому очередь и защита от дублей так важны.

Входит ли PIM в интеграцию с ERP?

Не обязательно. PIM оправдывает себя, когда контент о товарах редактируют многие люди или вы продаёте через несколько каналов или на нескольких языках; в остальных случаях может хватить ERP и собственного каталога магазина.

Подключаете магазин к NetSuite, SAP Business One, Microsoft Dynamics или другой ERP? Наша услуга интеграции ERP и PIM охватывает маппинг данных, middleware, синхронизацию остатков и правила валидации. Системы доставки обычно подключаются к тому же потоку, и эту часть закрывает наша работа по интеграции API доставки. Свяжитесь с нами, указав вашу ERP, платформу магазина и типичный объём заказов, и мы набросаем схему интеграции.