О клиенте
Наш клиент — лидер производства драгоценных металлов в России. Предприятие расположено в столице региона, где добывается больше всего драгоценных металлов в стране.
Завод производит восемь драгоценных металлов, перерабатывает минеральное и вторичное сырье, и выпускает продукцию с содержанием основного компонента до 99,99%.
В 2021 году заказчик решил создать корпоративный маркетплейс — магазин, где любой сотрудник предприятия может приобрести необходимую для работы продукцию в рамках выделенного ему бюджета.
Основная целевая аудитория — сотрудники рабочих профессий — монтажники, ремонтники. Им часто требуется обновить инструмент или получить расходные материалы. Процесс заказа новой продукции должен быть быстрым и удобным, согласования от отдела закупок — молниеносными.
Заказчик планировал снизить время получения сотрудником нового товара до 24 часов.
О задаче
До разработки маркетплейса сотрудники предприятия должны были пройти “семь кругов ада” для получения необходимых материалов и расходников:
- Инициатор заявки передает специалисту отдела закупок заявку, например, в excel;
- Специалист отдела закупок направляет заявку поставщику;
- Поставщик доставляет товар (бывает, что просят отсрочку, или привозят заказ в несколько партий, это все как-то отслеживается специалистом отдела закупок);
- Сотрудник склада оприходует товар, передает информацию о получении товара в учетную систему и специалисту отдела закупок;
- Инициатор заявки узнает, что заказ на складе;
- Инициатор приходит и забирает свой заказ со склада.
На момент обращения к нам заказчик провел аналитику и сформулировал ключевые задачи, которые должен решить маркетплейс:
- Стать единым инструментом формирования заказов на материалы поставщиков от сотрудников компании;
- Дать возможность сотрудникам компании получать более подробную информацию по заказываемой номенклатуре, в том числе:
- Технические характеристики;
- Рейтинг товара, формирующийся из оценок предыдущих покупателей;
- Дать возможность сотрудникам компании обратиться к поставщику с вопросом по номенклатуре и получить на него ответ.
Цели разработки маркетплейса
Цель: Запустить проект за 5 месяцев с учетом сбора требований, написания ТЗ, разработки, тестирования и запуска.
На момент запуска иметь на площадке товары от 4 поставщиков (фактически действующий договор есть с одним).
Критерий качества: скорость запуска и ориентация на опыт подрядчика в подобных проектах.
Для проекта такой сложности и с подобной степенью неопределенности на старте 5 месяцев — очень спортивный срок.
Мы были уверены в успехе, потому что ИНТЕРВОЛГА ранее делала проекты по разработке корпоративных маркетплейсов в сжатые сроки:
Мы решили, что единственный подход, который поможет добиться поставленных целей в обозначенный срок — гибкая методология ведения проекта в формате аренды проектной команды и использование готового решения (шаблона сайта) для ускорения разработки.
Маркетплейс должен поддерживать следующие сценарии.
Для внутреннего заказчика:
- Авторизация на площадке;
- Поиск продукции в каталоге:
- Поисковая строка
- Переход в разделы и подразделы каталога, фильтрация списка товаров по критериям;
- Просмотр информации по материалам, картинки, технические характеристики, описание;
- Добавление товара в избранное;
- Отправка отзыва и оценки заказанного материала;
- Отправка вопроса по продукции поставщику;
- Добавление товара в корзину и оформление заказа поставщику;
- Отслеживание статусов заказов в личном кабинете;
- Отправка жалобы на полученные материалы.
Для поставщика:
- Авторизация на площадке;
- Просмотр и ответ на вопросы покупателей;
- Просмотр поступивших заказов, возможность уведомить покупателя о сдвиге сроков исполнения заказа;
- Загрузка и получение первичной документации по заказам;
- Получение и обработка жалоб от покупателей.
Особенности проекта
Клиент — завод по производству драгоценных металлов. Поэтому к организации труда и к IT проектам предъявляются строгие требования по безопасности: на территории завода действует пропускной режим. Все IT-системы находятся в закрытом контуре, защищенным от доступа извне.
Это накладывает технические ограничения на процесс разработки:
- На сервер нельзя установить ПО в любой момент по желанию разработчика.
- Тестирование и отладка функционала должна выполняться на серверах заказчика, в среде, максимально приближенной к продуктивной.
- Для релиза мы должны подключиться к серверу через цепочку VPN-ов и двухфакторных авторизаций и надеяться, что в самый ответственный момент соединение не отвалится.
В процессе работы над проектом мы обращались к сотрудникам инфраструктуры заказчика для предоставления доступа с закрытых во внутреннем контуре серверов в Интернет на определенный период времени.
Инфраструктура информационных систем проекта
SAP — учетная система, содержит данные о поставщиках, договорах, номенклатуре, заказах.
Active Directory содержит данные о подразделениях и сотрудниках завода.
OmniTracker — используется для отслеживания статусов по обращениям сотрудников.
Внутренний маркетплейс — сайт для оформления заказов сотрудниками предприятия.
Техническое решение
Если кратко, в SAP хранятся Поставщики (и Контракты с поставщиками), Номенклатура поставщиков, Заказы.
Сайт (Битрикс) получает из SAP Номенклатуру, трансформирует ее в Каталог товаров Маркетплейса, обеспечивает необходимые пользовательские сценарии для работы: поиск, фильтры, корзины, избранное, оформление заказов и претензий. Также сайт умеет передавать в SAP информацию о заказах и отслеживать статусы выполнения заказа (на стороне SAP).
От Active Directory требуется авторизация Пользователей на сайте, передача Структуры компании и распределение Прав доступа.
Исходя из высоких требований к надежности и безопасности системы в качестве протокола обмена SAP <-> Битрикс выбрали SOAP с использованием нотации WSDL.
Все сценарии работы с закупочным процессом и их связь с SAP укладывается в 4 сценария:
- Передачи в маркетплейс товаров (с информацией о контракте с поставщиком — а значит и типов цен на товар).
- Передачи в маркетплейс актуальных остатков товаров.
- Получение из маркетплейса новых заказов для отправки поставщику.
- Передачи в маркетплейс статусов заказов.
Одна из интересных задач проекта -- Сопоставление номенклатуры SAP ERP и МП
В SAP ERP одна и та же номенклатурная позиция может быть представлена в нескольких экземплярах. Они имеют одинаковое название и номер материала (GUID в SAP ERP).
Отличия заключаются в номере контракта, по которому был приобретен материал и номере позиции материала в контракте.
Нам нужно было определить принцип хранения товаров на сайте МП.
Мы придумали, что на стороне сайта МП номенклатура должна объединяться в сущность “Товар с предложениями” по признаку одинаковых значений в свойстве “Код поставщика в SAP” и “Полное наименование материала”.
В торговые предложения товара должны помещаться с разбиением по признакам “Код контракта” и “Номер позиции” (свойства торгового предложения). Получилось красивое решение, полностью соответствующее структуре данных Битрикса.
Самая сложная задача — Выгрузка заказов в SAP.
Если кратко, задача звучала так: На запрос от SAP собрать не отмененные, не выгруженные в SAP заказы с датой создания за последние сутки, сформировать итоговую структуру, обработать ошибки, проставить статус обмена у заказов и отдать в SAP.
На деле пришлось разработать SOAP веб-сервис, придумать способ авторизации, описать wsdl, сделать сопоставление статусов заказов в Битриксе и SAP ERP, сделать логирование и решить несколько проблем по дороге.
Например, при импорте wsdl возникала ошибка, и обмен не работал. В ходе исследования выяснили, что где-то в недрах SAP ERP была указана другая версия wsdl, более строго проверяющая наличие сообщений ответа в методах. После смены версии все заработало!
Для справки, только разработка сервиса по обмену заказами заняла 60 часов разработки. Весь обмен — около 160.
Разработка дизайна
Заказчик озвучил требование: пуско-наладочные работы и ввод в промышленную эксплуатацию должны начаться в декабре 2021 года.
Учитывая что мы начали в сентябре 2021, времени на проработку UI-kit’a и уникального дизайна не было.
Решили взять за основу интерфейсы шаблонного интернет-магазина Битрикса и применить к ним брендбук заказчика.
Визуализировали общую структуру сайта, показали все возможные экраны и условия перехода между ними. Такая визуализация помогает более детально проработать пользовательские сценарии, зафиксировать информацию, которая должна быть на страницах сайта, условия перехода между страницами, реакцию системы на действия пользователей.
Демоконтент и тестирование
Чтобы в ходе разработки тестировать пользовательские сценарии, нам нужен был каталог товаров.
В SAP не хранятся характеристики номенклатуры и картинки. Для теста предварительно сформировали контракт с поставщиками и выгрузили товары через CSV. Так как кроме названий и цен в этом прайс-листе ничего нет, пришлось “обогатить” каталог в Excel-файле, параллельно подготовить картинки и загрузить обратно на сайт.
Для удобства загрузки перегоняли csv в json и использовали скрипт, который раскладывал номенклатуру по Товарам и Торговым предложениям.
Для каждого поставщика свой набор свойств товаров. Мы проектируем удобный механизм с интерфейсом для загрузки номенклатуры из файла Excel на Маркетплейс для каждого отдельного поставщика.
Итоги проекта
Разработка с помощью agile помогает достигать хороших результатов в короткие сроки. В ходе ежедневных “стендапов” вместе с заказчиком все вопросы решаются оперативно. Гибкий подход позволил выполнить первую итерацию проекта в обозначенные сроки, и уже в декабре 2021 года в маркетплейсе появились первые покупатели.
Какие сценарии сейчас поддерживает Маркетплейс
- Сотрудник предприятия заходит на сайт маркетплейса, авторизуется с тем же логином и паролем, с которым работает в корпоративной сети.
- Видит в каталоге доступные к заказу товары, цены, доступное количество от разных поставщиков.
- Добавляет в корзину товары от разных поставщиков, оформляет заявку.
- Заказ разделяется на несколько, содержащих только товары одного поставщика, выгружаются в учетную систему SAP ERP.
- Поставщик получает уведомление о новом заказе с площадки Маркетплейса и отгружает товар по нужному адресу.
К сожалению, запуск маркетплейса в эксплуатацию пришелся на нестабильное время, поставщики не могли гарантировать стабильные поставки и зафиксировать цены на длительный срок. На текущий момент на площадке действует 1 поставщик.
Заказчик получил рабочий инструмент для автоматизации выполнения внутренних заявок сотрудников на материальные ценности. Все обозначенные цели первого этапа проекта выполнены в срок с надлежащим качеством. Мы ведем переговоры о втором этапе, где будет много дополнительных функций.
Планы на 2 итерацию
Второй этап работ направлен на расширение пользовательских сценариев площадки по результатам ввода системы в эксплуатацию, аналитики рынка и экспертизы компании ИНТЕРВОЛГА.
Планируется к внедрению в ходе 2 этапа:
- Личный кабинет поставщика:
- для оперативной обработки поступающих заказов;
- ответов на вопросы и консультаций по ассортименту;
- актуализации остатков и цен;
- обработки рекламаций;
- формирования предварительной первичной документации;
- просмотра статистики по поставленным товарам и исполненным заказам.
- Обновленные интерфейсы сайта для лучшего соответствия требованиям бренда и айдентики.
- Обновление личного кабинета покупателя:
- детализировать статусы поставки;
- дать возможность отправить жалобу на товар;
- Отчеты по ключевым параметрам для каждой из ролей, выгрузка и печать.
- Матрица доступов и прав на основе Active Directory в разрезе территориальной удаленности, подразделений, отделов, групп и их руководителей.
- Расширение системы оценки товара отзывами, вопросами и ответами.
- Интеграция с OmniTracker.
В ходе выполнения проекта объединенная команда специалистов ИНТЕРВОЛГИ и заказчика решила все поставленные задачи, разработала маркетплейс и выпустила в эксплуатацию, подготовилась к следующему релизу.
Полезные ссылки:
• Разработка и доработка проектов на 1С-Битрикс.
• Настройка интеграции с 1С любой сложности.