13
лет в электронной коммерции
8 800 3020 886
ГлавнаяПортфолиоTwo Way Radio Supply: четыре магазина в одной установке CS-Cart Ultimate

Two Way Radio Supply: четыре магазина
в одной установке CS-Cart Ultimate

Two Way Radio Supply — американский интернет-магазин из Окои (штат Флорида). Компания продаёт запчасти и аксессуары для раций, в первую очередь для Motorola.

Сфера: розничная торговля   Country: US   Website: twowayradiosupply.com

Проблема клиента

У клиента было четыре отдельных магазина (twowayradiosupply.com, batteryclearance.com, batterydistributors.com, и batterybrokers.com), работавших на разных версиях CS-Cart и управляемых из разных админ-панелей. Это создавало неудобства: заказы, товары, клиенты, отгрузки, счета и комиссии приходилось контролировать разрозненно, а для работы с каждым магазином нужно было переключаться между несколькими системами.

Основные задачи

01  Объединить 4 магазина в одну установку CS-Cart Ultimate с четырьмя витринами и единой админ-панелью.

02  Оптимизировать логистику: отгрузки через UPS и FedEx, склады отправки, сводная очередь заказов к отправке.

03  Автоматизировать учёт комиссий менеджеров по продажам.

04  Дать отчётность по остаткам и себестоимости склада.               

05  Подключить Google: товарные фиды, отзывы покупателей.                                                      

06  Проверить производительность магазина и составить план оптимизации.

Что мы сделали

Объединили магазины в единую платформу

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

Каждый из четырёх магазинов стал отдельной витриной внутри одной установки CS-Cart Ultimate. При этом все товары и категории сохранили свою привязку к нужной витрине.

Базы на версиях 4.7 и 4.9 нужно было привести к общей версии. Магазин на 4.7.2.SP2 сначала обновили до 4.9, после чего слили базы. Затем установку обновили до версии 4.14.3.

Поскольку в базах могли пересекаться ID и коды товаров, слияние выполнялось с отдельной проверкой коллизий. Все витрины перевели на UniTheme: два магазина уже работали на этой теме, а третий адаптировали под неё.

ВАЖНО

Все кастомные модификации были сохранены при объединении магазинов. Если модификация присутствовала только в одном из магазинов и отсутствовала в остальных, для неё при слиянии настраивалась привязка только к выбранным витринам.

Сводная очередь отгрузки по всем магазинам

Ещё до объединения магазинов был разработан модуль, который собирал данные c разных серверов, объединяя их в одну сводную таблицу с возможностью редактирования в одной админке. Это убрало необходимость работать с отгрузками в 4-х разных админках.

Модуль построен по схеме «главной площадки и дочерних площадок». Дочерние площадки передают события на главную, главная собирает их в одной базе. twowayradiosupply.com — главная витрина.

Заказ попадает в таблицу при смене статуса на «к отправке» и пропадает при смене на «отправлен». Изменение остатка товара тоже передаётся.

Кроме того, так как на разных установках CS-Cart использовались разные системы статусов заказов, был разработан маппинг статусов. Он обеспечивает правильную синхронизацию событий между площадками.

Номер заказа состоит из двухбуквенного кода витрины и исходного номера, например «TW 861889»

Фильтры списка заказов

Список заказов можно отфильтровать по нескольким параметрам. Это помогает быстро найти нужные заказы: по ответственному сотруднику, номеру, артикулу, дилеру или наличию товара. Сбросить все фильтры можно одной кнопкой «Очистить».


Важно

Ответственный за отгрузку назначается автоматически в зависимости от категории (бренда) запчасти.

Настройки cron

Синхронизацию между площадками выполняют три cron-задачи.

Отправка событий на главную площадку                                                     

Получение событий с подчинённой площадки

Перенос дилеров на главную площадку

Расширили работу с отгрузками FedEx и UPS

Доработали модули создания отгрузок:

Расширенное создание отгрузки в UPS. Добавили вкладку расширенного создания отгрузок для UPS по аналогии с FedEx с возможностью ручного заполнения всех полей (дата отгрузки, тип упаковки, габариты, вес, сервис, объявленная стоимость).

Подтверждение подписи. Реализовали выбор варианта требуемости подписи (Signature Required) через API UPS.

Несколько коробок. Добавили поддержку нескольких коробок в одной отгрузке — до 200 упаковок для UPS и до 30 для FedEx, с отдельным набором полей для каждой коробки.

Склады отправки. В «Магазины и пункты самовывоза» добавили флажок «Является складом» и поле индекса. На вкладке заказа администратор выбирает склад отправки. По умолчанию стоит основной магазин. Адрес выбранного склада попадает в упаковочный лист и в этикетки FedEx/Endicia как адрес отправителя.

Счёт по отгрузке. На страницах заказа и отгрузки появились кнопки печати счёта и выгрузки в PDF. Важно: стоимость доставки и все акции корзины включаются в первый счёт в рамках заказа. Последующие счета по отгрузкам формируются без них.

Настроили отслеживание комиссий для менеджеров по продажам

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

  • фиксированная ставка: $1 за каждую единицу товара;
  • процент от суммы: для товаров локальных поставщиков и поставщиков со своим складом. Процент для каждого типа поставщика задаётся в настройках.

Комиссия подтверждается только после отгрузки заказа и с этого момента больше не меняется. По отменённым заказам комиссия не начисляется.

 

Что это даёт:

Администратору: все начисления собраны в одном отчёте. Его можно отфильтровать по менеджеру, покупателю, статусу отгрузки и периоду выплаты.

Менеджеру: в личном кабинете на сайте есть страница «Мои продажи», где видны его заказы, комиссии и даты выплат.                                                    

Магазину: не нужно считать комиссии вручную, а менеджеры и администратор работают с одними и теми же цифрами.                                          

Добавили напоминания о незакрытых заказах

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

В настройках администратор выбирает статус заказа, например «ожидает оплаты», и указывает, через сколько дней заказ считается просроченным. Раз в сутки модуль проверяет заказы по CRON и отправляет письма: администраторам приходит таблица просроченных заказов, а покупателям напоминание о незавершённом заказе (с кнопкой перехода к деталям заказа). Статусы для администратора и для покупателя можно задать разные.

Просроченные заказы также видны в панели управления:

  • в списке заказов они выделены красным фоном;
  • на главной странице панели (Dashboard) выводятся отдельным блоком со ссылками на каждый заказ.

Если статус заказа меняется, отсчёт начинается заново.

Доработали складской учёт и отчётность

Добавили расширенные отчёты по остаткам. Мы разработали модуль, который каждый день автоматически фиксирует количество выбранных товаров на складе и собирает эти данные в отчёты. Причём отчёты в табличном виде показывают динамику за последние 7 дней.

Администратор отмечает в карточке товара, нужно ли включать его в отчёт. Раз в сутки модуль сохраняет остатки по этим товарам. Старые записи удаляются автоматически через заданное в настройках число дней, поэтому база данных не разрастается.

Модуль добавляет две страницы с отчётами, которые можно выгрузить в CSV.

Отчёт по остаткам: таблица с количеством товаров.

Отчёт по стоимости остатков: доступен только администраторам.

Отдельный e-mail для счетов

В настройках выбирается поле, из которого берётся адрес для копии счёта: платёжный адрес по умолчанию или любое пользовательское поле типа e-mail.

Добавили новый тип экспорта заказов

Реализовали вкладку «Purchased products by customer» на странице экспорта данных: настройка экспортируемых полей, сохранение пресетов, экспорт всех заказов или только выбранных.

Google: фиды и отзывы

Фиды для Google Merchant. Расширили модуль фидов: передача по SFTP, адрес сервера можно указать вместе с портом. Клиентская библиотека phpseclib не требует дополнительных PHP-расширений. Настроили cron на генерацию Google Feed.

Google Customer Reviews. На странице подтверждения заказа выводится форма согласия на отзыв. Идентификатор продавца задаётся в настройках модуля. В запрос передаются номер заказа, e-mail, код страны, расчётная дата доставки (текущая дата плюс 5 дней) и GTIN товара из характеристик, если он заполнен.

Оптимизировали производительность магазина

Провели аудит производительности и выполнили рекомендации:

  • удалили вредоносные и небезопасные файлы из корневой папки;
  • вынесли модификации ядра в аддоны;
  • закрыли скрипты аналитики, captcha, googletagmanager, doubleclick и страницы login/register от ботов;
  • оптимизировали баннеры и логотип: уменьшение размера, формат webp, preload, корректные width/height, отказ от lazy load для главных элементов;
  • минифицировали JS.

Результаты работ

  •  Четыре магазина работают в одной установке CS-Cart Ultimate, у каждого своя витрина и общая админ-панель. Данные сохранены: товары, изображения и заказы перенесены в единую базу.
  • Отгрузки по всем витринам видны в одной таблице.
  • Менеджер создаёт отгрузки UPS и FedEx с несколькими коробками и выбором склада прямо из заказа.
  • Комиссии менеджеров по продажам считаются по заданным правилам и меняют статус вместе с заказом.
  • Руководитель получил отчёты по остаткам и их стоимости.
  • Каталог выгружается в Google по SFTP, а покупатели получают приглашение оставить отзыв.
  • У клиента есть аудит производительности с планом работ
Услуги кейса:
Доработка функциональности

Добавим вашему бизнесу новые возможности для роста и масштабирования. Расширим функциональность системы под ваши бизнес-процессы.

Консультация по интернет-магазину на CS-Cart

Найдем решения
для каждого!

Получите консультацию специалиста по вашему проекту

Пришлём гайд на вашу почту
Пришлём чек-лист на вашу почту
Чек-лист будет отправлен на указанный Вами e-mail
Пожалуйста, заполните форму