Главная/Проекты/Запуск экосистемы продаж в Казахстане
SFA Локализация Промо-механики Интеграции

Запуск экосистемы продаж FMCG-производителя в Казахстане

Перенесли работающую в России систему в новую страну: с хранением данных внутри Казахстана, казахским языком, тенге и промо-механиками, которых не было на российском рынке.

  • 4 месяца — от старта реализации до запуска системы в Казахстане — точно в срок
  • 1 день — на новую промо-механику после перехода на модульный движок
  • 2 недели — на полный регресс всех доработок перед запуском
Заглавное фото
Клиент
ОтрасльFMCG, производство
МасштабПолевые команды дистрибьюторов по всей стране
географияКазахстан
ФорматТиражирование SFA и B2B-портала на новую страну
02
Контекст

Клиент и исходная ситуация

Клиент — международный FMCG-производитель. В России у него уже работала экосистема продаж GROTEM: мобильное приложение торговых представителей, телепродажи и B2B-портал. Следующим шагом стал Казахстан — со своим законодательством, языком, валютой и более сложными промо-акциями.

Задача — дать полевой команде в Казахстане современную SFA-систему, которая отвечает требованиям местного бизнеса и законодательства и остаётся совместимой с российской версией.

ОтрасльFMCG, производство
Масштаб бизнесаДва дистрибьютора на старте, полевые команды торговых представителей
ГеографияКазахстан
Особенности работыТребование хранить персональные данные в стране, два языка, расчёты в тенге, суммируемые промо-акции

Что происходило до начала проекта

  • Подключить пользователей Казахстана к российскому экземпляру системы было нельзя: по закону их персональные данные должны храниться на серверах в стране.
  • Интерфейсы и справочники существовали только на русском языке, цены — только в рублях.
  • Промо-движок поддерживал простые механики: из нескольких скидок применялась одна максимальная. В Казахстане акции суммируются и задаются в том числе суммой в тенге.
  • Интеграция мастер-данных о товарах держалась на кастомных скриптах в ETL-инструменте: её сложно было отлаживать, а разбирался в ней один разработчик.
03
Цели и задачи

Каких результатов хотел достичь клиент

Цель проекта

Запустить систему в Казахстане в срок: соблюсти требования закона к хранению данных, адаптировать интерфейсы и промо под местный рынок и сохранить совместимость с российской версией.

01

Соблюсти закон о данных

Хранить персональные данные пользователей Казахстана на серверах внутри страны.

02

Говорить на языке клиента

Казахский и русский интерфейс, цены в тенге во всех каналах.

03

Поддержать местные промо

Суммируемые, кратные и лестничные скидки — в процентах и в валюте.

04

Запуститься вовремя

Проверить все доработки перед стартом в сжатые сроки.

04
Решение

Что разработала команда GROTEM

GROTEM не стала просто копировать систему, а доработала её так, чтобы следующие страны подключались быстрее: отдельный экземпляр под требования страны, мультиязычность и модульный промо-движок.

Архитектура

Отдельный экземпляр системы для каждой страны

Для Казахстана развернули второй экземпляр, где хранятся имена, почты и телефоны местных пользователей. Чтобы пользователь попадал в свою страну:

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

Казахский язык и тенге

Перевели сайт и мобильное приложение B2B-портала и справочные данные. Языки и валюты подключаются стандартными механизмами, поэтому следующая страна получит свой язык без переделки системы.

  • Мультиязычность
  • Мультивалютность
Промо-движок

Модульные промо-механики

Монолитный расчёт промо разобрали на независимые обработчики и валидаторы. Появились механики:

  • кратные — скидка растёт с количеством товара или суммой заказа;
  • лестничные — прогрессивная шкала по сумме чека или числу позиций;
  • суммирование нескольких акций с заданным приоритетом;
  • скидка в процентах или фиксированной суммой в тенге.

Одиннадцатую механику добавили за один день — из уже готовых валидаторов и эффектов.

  • Промо
  • Расчёт скидок
Выездная торговля

Оплата по QR-коду прямо на визите

При продаже с машины торговый представитель формирует ссылку на оплату и показывает её клиенту QR-кодом — клиент платит в приложении своего банка. При оплате наличными автоматически оформляется инкассация. Другой банк подключается шаблоном ссылки от дистрибьютора.

Затем процесс выездной продажи довели до полного цикла: остатки на борту машины, заявки на пополнение с лимитом суммы и заявки на возврат.

  • Van selling
  • Безналичная оплата
05
Сложность

Особенности проекта

За несколько месяцев нужно было превратить российскую систему в международную и не сломать то, что уже работало в России.

01
Закон о данных вместо общего сервера

Общий экземпляр для двух стран был невозможен, поэтому архитектуру перевели на принцип «одна страна — один экземпляр».

02
Другая логика промо

В России из нескольких скидок применялась максимальная, в Казахстане акции суммируются и считаются в валюте. Старый расчёт пришлось разобрать и собрать заново.

03
Технический долг в интеграциях

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

04
Две версии кода

С отдельными экземплярами исправления приходится вносить дважды, и часть фиксов может теряться. Команда сразу запланировала объединение веток для сквозной разработки.

05
Сжатый регресс

Перед запуском нужно было проверить все доработки за две недели, а тестировщиков на проекте было двое.

06
Инженерная часть

Что было важно реализовать на уровне системы

Главная инженерная задача — сделать выход в новые страны повторяемым процессом, а не разовым проектом.

МультиинстансОтдельные экземпляры системы по странам с локальным хранением персональных данных.
Регион по IPВыбор страны при первом входе решается на фронтенде, без перенастройки прокси.
Обработчики и валидаторы промоКаждая механика — отдельный модуль, поле priority задаёт порядок применения нескольких акций к одному товару.
Собственный интеграционный сервисОбмен мастер-данными перенесли из ETL-скриптов во внутренний настраиваемый сервис, понятный любому разработчику команды.
Стандартная локализацияЯзыки подключаются JSON-файлами ресурсов — без доработки кода.
Платёжная ссылка по шаблонуСсылка собирается из номера документа и суммы, поэтому банк меняется без разработки.
07
Результаты

Что получил бизнес

Система в Казахстане запущена в срок: реализация с июня по сентябрь 2024 года заняла около четырёх месяцев.

4 мес.

от старта реализации до запуска в Казахстане

1 день

на новую промо-механику из готовых модулей

2 недели

на полный регресс перед запуском — разработчики подключились к тестированию

2 языка

казахский и русский на сайте и в приложении B2B-портала

Процесс
До проекта
После запуска
Хранение данных
Общий сервер в России
Серверы в Казахстане
Язык и валюта
Русский, рубли
Казахский и русский, тенге
Промо
Одна максимальная скидка
Суммируемые, кратные, лестничные
Новая механика
Отдельная доработка
1 день из готовых модулей
Интеграция мастер-данных
Скрипты в ETL, один носитель знаний
Внутренний сервис, понятный команде
Оплата на визите
—
QR-код и банковское приложение
  • Шаблон для новых стран — отдельный экземпляр, локализация и модульное промо готовы к подключению следующих рынков; следующей подключили Беларусь.
  • Быстрый запуск акций — новые механики собираются из готовых модулей — маркетингу не нужно ждать переделки расчёта.
10
Стек

Технологии проекта

Архитектура

МикросервисыОтдельный экземпляр на страну

Бэкенд

.NETRabbitMQ

Фронтенд

Angular

Мобильное приложение

Flutter

Каталог и промо

Virto Commerce

База данных

PostgreSQL
Обсудим ваш проект

Поможем выбрать оптимальное решение для вашего бизнеса

Разберём задачу, предложим архитектуру решения и оценим сроки реализации — на первой консультации, бесплатно.

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

Оставьте заявку на консультацию

Заполните обязательные поля — остальное обсудим в разговоре. Перезвоним или напишем в течение одного рабочего дня

Необходимо дать согласие на обработку персональных данных.
Бесплатно Ответ за 1 рабочий день Без обязательств

Спасибо! Данные отправлены.

Для подписки на рассылку подтвердите почту по ссылке в письме. Если письма нет, проверьте папки «Спам» и «Промоакции».