Налаштування комісій маркетплейсу 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Налаштування комісій маркетплейсу 1С-Бітрікс
Проста
~1 робочий день
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Налаштування комісій маркетплейсу 1С-Bitrix

Комісія маркетплейсу — це процент або фіксована сума, яку платформа утримує з кожного продажу продавця. Правила можуть бути простими (єдиний % для всіх) або складними (залежить від категорії товару, обороту продавця, типу доставки). В 1С-Bitrix стандартних інструментів для цього немає — потрібна користувацька реалізація.

Структура правил комісій

Комісії краще зберігати в окремій таблиці (через HL-інфоблок або користувацьку таблицю), а не в b_option. Це дозволяє версіонувати правила та застосовувати різні правила до різних продавців/категорій.

Структура таблиці правил:

Поле Тип Описание
ID int
RULE_TYPE varchar global / category / vendor
VENDOR_ID int null = застосовується до всіх
CATEGORY_ID int ID розділу інфоблоку, null = всі категорії
RATE_TYPE varchar percent / fixed
RATE_VALUE decimal % або фіксована сума
MIN_AMOUNT decimal Мінімальна комісія
MAX_AMOUNT decimal Максимальна комісія (null = без обмежень)
ACTIVE_FROM date Дата початку дії
ACTIVE_TO date Дата закінчення (null = на невизначений час)

Розрахунок комісії при створенні суб-замовлення

Розрахунок відбувається в обробнику OnAfterOrderAdd або в логіці створення суб-замовлення. Алгоритм вибору правила: спочатку шукаємо індивідуальне правило для продавця + категорії, потім для продавця, потім для категорії, потім глобальне.

function calculateCommission(int $vendorId, int $categoryId, float $amount): float
{
    // Приоритет: vendor+category > vendor > category > global
    $rule = findRule($vendorId, $categoryId)
        ?? findRule($vendorId, null)
        ?? findRule(null, $categoryId)
        ?? findRule(null, null);

    if (!$rule) return 0.0;

    $commission = $rule['RATE_TYPE'] === 'percent'
        ? $amount * $rule['RATE_VALUE'] / 100
        : $rule['RATE_VALUE'];

    if ($rule['MIN_AMOUNT']) $commission = max($commission, $rule['MIN_AMOUNT']);
    if ($rule['MAX_AMOUNT']) $commission = min($commission, $rule['MAX_AMOUNT']);

    return round($commission, 2);
}

Розраховна комісія записується в таблицю фінансових операцій з типом commission та прив'язкою до суб-замовлення.

Адміністративний інтерфейс управління правилами

Сторінка в /bitrix/admin/ з CRUD-інтерфейсом для правил комісій. Список правил з фільтрацією за продавцем/категорією, форма створення/редагування, дата-пікер для періодів дії.

Окрема сторінка — перегляд нараховуючих комісій за період з групуванням за продавцем, експорт в Excel для бухгалтерії.

Терміни

Базова реалізація (одна ставка для всіх + за категоріями) — 1 тиждень. Складна модель (індивідуальні ставки, прогресивні тарифи, часові акції) — 2–3 тижні.