Уявіть: інтернет-магазин з 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 день і запропонуємо оптимальне рішення. Замовте розробку модуля вже сьогодні та отримайте консультацію щодо структури комісій та атрибуції без передоплати. Якщо у вас вже є вимоги — надішліть їх, ми підготуємо комерційну пропозицію.







