Как построить программу лояльности на 1С-Битрикс под свои задачи
Представьте: клиент накопил бонусы, но вы не можете их списать в нужной категории — стандартный модуль лояльности не позволяет. Или бонусы не сгорают, и база начислений растёт бесконтрольно. Такое случается, когда используют готовые решения без адаптации под бизнес-логику. Программы лояльности увеличивают повторные продажи на 15–25%, но только при правильной механике. Мы создаём кастомные бонусные системы, которые дают полный контроль: любые правила начисления, списания, уровни и срок действия.
В отличие от типовых модулей, кастомная разработка не привязана к ежемесячной оплате и может расширяться по мере роста магазина. Вы сами управляете логикой, а не подстраиваетесь под ограничения вендора.
Почему кастомная система превосходит готовые модули?
Готовые модули часто не умеют начислять бонусы за регистрацию, отзыв или подписку. Они не позволяют задать разные проценты для новинок и товаров со скидкой. Кастомная система лучше стандартного модуля в 2–3 раза по гибкости: вы можете реализовать любую схему — от простых баллов до многоуровневой программы с периодами сгорания и приветственными бонусами.
| Характеристика | Стандартный модуль | Кастомная система |
|---|---|---|
| Гибкость правил | Низкая | Высокая |
| Срок действия баллов | Нет | Да, любой период |
| Уровни лояльности | Фиксированные | Произвольные |
| Интеграция с 1С | Стандартная | Без изменений |
| Стоимость сопровождения | Ежемесячная подписка | Разовая разработка |
Как работает кастомная бонусная система на 1С-Битрикс?
Система строится на собственных таблицах и обработчиках событий. Начисление бонусов после оплаты заказа через событие OnSaleOrderPaid:
AddEventHandler('sale', 'OnSaleOrderPaid', function($order) { $userId = $order->getUserId(); $sumOrder = $order->getPrice(); $bonusRate = getBonusRateForUser($userId); // % начисления $bonusAmount = round($sumOrder * $bonusRate / 100); addBonusTransaction($userId, $bonusAmount, 'EARN', $order->getId()); }); Списание реализовано как отдельная платёжная система: она уменьшает баланс и создаёт транзакцию типа SPEND. Для защиты от дублей используем блокировки строк SELECT ... FOR UPDATE.
Как происходит списание бонусов?
Пользователь в личном кабинете выбирает бонусы для оплаты. Система проверяет текущий баланс, резервирует сумму и при успешном завершении заказа списывает. Если заказ отменяется — бонусы возвращаются обратной транзакцией. Это стандартный паттерн, реализуемый через событие OnSaleOrderCanceled.
Как избежать потери баллов?
Используйте транзакции с блокировкой при списании. Настройте агента с перезапуском на случай ошибки. Логируйте все операции в отдельную таблицу для аудита.
Что делать при ошибке начисления?
Агент ежедневно проверяет наличие непроведённых транзакций и повторяет попытку. В логах фиксируется причина сбоя — вы всегда можете восстановить данные. Мы также настраиваем уведомления администратору при аномалиях.
Уровни программы лояльности
| Уровень | Накопленная сумма | Процент начисления |
|---|---|---|
| Стандарт | 0–10 000 руб. | 3% |
| Серебро | 10 000–50 000 руб. | 5% |
| Золото | от 50 000 руб. | 7% |
Уровень пересчитывается при каждом завершённом заказе — обработчик смотрит на суммарные покупки пользователя за период и обновляет его уровень в поле UF_BONUS_LEVEL. BONUS_EXPIRE_DATE задаётся для каждой партии.
При разработке модуля для Битрикс24 (b24) мы используем события и агенты. Система легко интегрируется с Mindbox и другими платформами через REST API. Интеграция с 1С через CommerceML не требует доработки — обмен заказами стандартный.
Процесс разработки
- Аналитика — изучаем бизнес-модель, формулируем правила начисления, списания, уровни.
- Проектирование — создаём схему БД, список событий, агентов, интерфейсы ЛК.
- Разработка — пишем код, настраиваем обработчики, агентов, интеграции.
- Тестирование — проверяем корректность расчётов, тестируем граничные случаи (большой баланс, одновременные списания).
- Деплой — разворачиваем на боевом сервере, настраиваем агенты, переносим данные.
Что входит в работу
- Код модуля с таблицами, обработчиками, агентами, компонентом личного кабинета.
- Документация с описанием правил начисления, структуры БД, API для внешних интеграций.
- Миграция существующих бонусов из старой системы (если есть).
- Консультация по администрированию.
- Гарантийное обслуживание 1 месяц после запуска.
Сроки выполнения
| Объём работы | Срок |
|---|---|
| Базовая система: начисление + списание + ЛК | 2–3 недели |
| С уровнями, сроком сгорания, аналитикой | 4–6 недель |
| Интеграция с внешней платформой лояльности | 1–2 недели |
Для точной оценки свяжитесь с нами — мы проанализируем вашу задачу и предложим оптимальное решение. Все работы выполняются с использованием актуальных версий PHP и Битрикса. Подробнее о возможностях платформы читайте в документации 1С-Битрикс.
Хотите увеличить повторные продажи? Закажите аудит вашей текущей системы лояльности. Получите консультацию по разработке и точную оценку сроков.







