Представьте: интернет-магазин с 5000 заказов в месяц, 30% продаж — от партнёров. Каждый менеджер тратит 10 часов в неделю на ручной расчёт комиссий и сверку. Ошибки атрибуции вызывают споры и потерю партнёров. Наш модуль для 1С-Битрикс автоматизирует атрибуцию и комиссии. Партнёр заходит в ЛК, видит статистику, генерирует ссылки, отслеживает выплаты — без участия менеджера. За 4–5 недель вы получаете модуль, который окупается за первый месяц. Точность атрибуции — 98%, начисление комиссий происходит автоматически. У нас 5+ лет опыта в разработке партнёрских модулей для Битрикс, выполнено 30+ проектов. Экономия времени менеджера — до 40 часов в месяц.
Как устроена атрибуция?
Основная сложность — атрибуция. Нужно точно определить, какой заказ пришёл от какого партнёра, даже если пользователь перешёл по ссылке неделю назад, закрыл браузер, открыл снова и только потом купил. Модуль решает задачу атрибуции на двух уровнях.
Cookie-атрибуция
При переходе по реферальной ссылке (?ref=PARTNER_CODE) в браузер записывается cookie partner_ref с TTL 30–90 дней (настраивается). Cookie HttpOnly, чтобы JavaScript не мог его изменить.
UTM-атрибуция
Параллельно код партнёра сохраняется в сессии. При оформлении заказа событие OnSaleOrderAdd читает оба источника, определяет атрибуцию и записывает в b_sale_order_props кастомное поле PARTNER_CODE. Дополнительно используются UTM-параметры для отслеживания маркетинговых кампаний.
// Пример обработчика атрибуции \Bitrix\Main\EventManager::getInstance()->addEventHandler('sale', 'OnSaleOrderAdd', function(\Bitrix\Main\Event $event) { $order = $event->getParameter('ENTITY'); $partnerCode = $_COOKIE['partner_ref'] ?? $_SESSION['partner_ref']; if ($partnerCode) { $order->setField('PARTNER_CODE', $partnerCode); } }); Все партнёрские коды, комиссии, статусы выплат хранятся в таблицах модуля:
-
myvendor_partner— профили партнёров -
myvendor_partner_order— связь заказов с партнёрами, сумма комиссии -
myvendor_partner_payout— история выплат
Почему гибкий расчёт комиссии критичен?
Это бизнес-логика с наибольшим числом вариантов, и её нужно делать гибкой с самого начала. Комиссия может зависеть от:
- категории товаров в заказе (разные % для разных разделов каталога)
- суммы заказа (прогрессивная шкала)
- уровня партнёра (Silver / Gold / Platinum)
- первый заказ клиента или повторный
Наш автоматический расчёт комиссий в 5 раз быстрее ручной сверки — без ошибок. Например, для клиента с 1000 заказов в месяц модуль обрабатывает выплаты за час, тогда как раньше уходило 3 дня.
class CommissionCalculator { public function calculate(\Bitrix\Sale\Order $order, Partner $partner): float { $rules = CommissionRuleTable::getActiveRules($partner->getLevel()); $commission = 0.0; foreach ($order->getBasket() as $item) { $rule = $this->matchRule($rules, $item->getProductId()); $commission += $item->getPrice() * $rule->getRate() / 100; } return round($commission, 2); } } Расчёт запускается в обработчике OnSaleOrderPaid — комиссия начисляется только по оплаченным заказам. При возврате (OnSaleOrderStatusChange) комиссия автоматически сторнируется. Такой подход исключает ошибки и ручную сверку. Комиссия может составлять от 5% до 30% в зависимости от правил.
Личный кабинет партнёра
Кабинет строится на стандартных компонентах Битрикс с кастомными шаблонами. Авторизация — через стандартный механизм пользователей (b_user), но с дополнительной проверкой: пользователь должен состоять в группе «Партнёры» (b_user_group).
Раздел статистики. Показывает за выбранный период: количество переходов, количество оформленных заказов, итоговую сумму комиссии. Данные агрегируются агентом раз в час, не запрашиваются в реальном времени — это ключевое решение для производительности при большом числе партнёров (до 5000).
Реферальные ссылки. Партнёр вводит любой URL сайта, модуль добавляет к нему ?ref=CODE и показывает готовую ссылку. Дополнительно — генерация UTM-ссылок с предзаполненными параметрами.
Рекламные материалы. Инфоблок с баннерами разных размеров. Партнёр выбирает баннер, получает HTML-код для вставки — ссылка в баннере уже содержит его реферальный код.
Административный модуль
Администратор видит: список всех партнёров с суммарной статистикой, очередь на выплату (партнёры с накопленной комиссией выше порога), историю выплат. Выплата оформляется вручную — администратор нажимает «Выплачено», указывает способ и дату, система меняет статус и отправляет письмо партнёру.
Процесс разработки
- Аналитика — уточнение требований, схемы атрибуции и комиссий, прототип кабинета.
- Проектирование — архитектура БД, API-интерфейсы, интеграция с текущим сайтом.
- Реализация — разработка модуля, настройка кэширования, тегирование.
- Тестирование — юнит-тесты комиссий, нагрузочное тестирование атрибуции.
- Деплой — установка на сервер, настройка агентов, передача документации.
- Передача документации и обучение менеджеров.
| Этап | Содержание |
|---|---|
| Аналитика | Уточнение требований, схемы атрибуции и комиссий, прототип кабинета |
| Проектирование | Архитектура БД, API-интерфейсы, интеграция с текущим сайтом |
| Реализация | Разработка модуля, настройка кэширования, тегирование |
| Тестирование | Юнит-тесты комиссий, нагрузочное тестирование атрибуции |
| Деплой | Установка на сервер, настройка агентов, передача документации |
Что входит в работу
После завершения мы передаём:
- документацию по API и архитектуре
- доступы к серверу и админке
- обучение для ваших менеджеров
- 1 месяц гарантийной поддержки
Наш опыт и гарантии
Мы более 5 лет занимаемся разработкой на 1С-Битрикс, реализовали 30+ партнёрских модулей для разных ниш — от интернет-магазинов до B2B-платформ. Гарантируем, что модуль стабильно работает под нагрузкой, корректно обрабатывает атрибуцию и не тормозит сайт. Все коды проходят код-ревью и соответствуют стандартам Битрикс. Пример: для клиента с 1000 заказов в месяц модуль обрабатывает выплаты за час, экономя 40 часов менеджера ежемесячно.
Сроки разработки
| Масштаб | Состав | Срок |
|---|---|---|
| Базовый | Кабинет + атрибуция + фиксированный % комиссии | 4–5 недель |
| Средний | + многоуровневые правила + рекламные материалы + выплаты | 7–9 недель |
| Расширенный | + многоуровневый маркетинг (2-е плечо) + API для интеграций | 10–14 недель |
Ключевой вопрос до старта — нужна ли многоуровневая структура (партнёр привлекает субпартнёров). Если да, схема данных меняется кардинально.
Официальная документация OnSaleOrderPaid
Свяжитесь с нами для оценки вашего проекта. Мы оценим его за 1 день и предложим оптимальное решение. Закажите разработку модуля уже сегодня и получите консультацию по структуре комиссий и атрибуции без предоплаты. Если у вас уже есть требования — пришлите их, мы подготовим коммерческое предложение.







