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

Помилка в розрахунку комісії може призвести до значних щомісячних втрат. Здається, що достатньо помножити суму замовлення на відсоток, але на практиці комісія залежить від категорії, обсягу продажів, типу продавця, наявності промоакцій, купонів, методу доставки та десятків інших факторів. Ми проекту

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Розробка масштабованої системи комісій для маркетплейсу
Складний
~2-3 дні

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

Часті запитання

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1428
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1291
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    990
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1256
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    995
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1007

Помилка в розрахунку комісії може призвести до значних щомісячних втрат. Здається, що достатньо помножити суму замовлення на відсоток, але на практиці комісія залежить від категорії, обсягу продажів, типу продавця, наявності промоакцій, купонів, методу доставки та десятків інших факторів. Ми проектуємо систему, яка враховує всі ці нюанси та масштабується без сюрпризів. Наш досвід — понад п'ять років у розробці маркетплейсів, понад 30 впроваджених комісійних модулів для маркетплейсів з оборотами від 1 млн до $45M–65Mів. Гарантуємо точність розрахунків і прозорість для продавців. Отримайте консультацію — ми підберемо оптимальну конфігурацію під ваш бізнес.

З якими проблемами стикаються при розрахунку комісій?

Конфлікт правил. Коли правил кілька десятків, визначити пріоритет стає нетривіально. Без чіткої системи пріоритетів можливі дублюючі нарахування або, навпаки, пропуски. Наша система використовує числовий пріоритет та фільтрацію за всіма вимірами — категорія, продавець, сума.

Продуктивність. Розрахунок комісії для кожного замовлення в реальному часі при 1000 замовлень/сек вимагає оптимізованих запитів і кешування. Ми використовуємо репліки бази даних і мемоізацію правил, що забезпечує швидкість.

Прозорість для продавців. Продавці часто не розуміють, як формується комісія. Без деталізації виникають суперечки. Ми надаємо повну розшифровку кожного нарахування.

Як побудувати гнучку систему комісій?

Структура даних

commission_rules ( id, name, priority, seller_id (nullable — глобальне або для конкретного продавця), category_id (nullable), min_price, max_price, commission_type: percentage | fixed | tiered, commission_value, valid_from, valid_until, is_active ) commission_tiers ( rule_id, from_amount, to_amount, commission_value ) order_commissions ( order_id, seller_id, gross_amount, commission_amount, net_amount, rule_id (applied), calculated_at ) 

Логіка вибору правила

Правила застосовуються в порядку пріоритету. Перше підходяще правило виграє. Алгоритм вибору:

  1. Знайти всі активні правила, де valid_from ≤ now ≤ valid_until
  2. Відфільтрувати за seller_id (специфічні для продавця мають пріоритет над глобальними)
  3. Відфільтрувати за category_id товару
  4. Відфільтрувати за діапазоном min_price ≤ order_total ≤ max_price
  5. Застосувати правило з найменшим priority (менше число = вищий пріоритет)

Якщо правило не знайдено — застосовується базова ставка з конфігу.

Багаторівневі (tiered) комісії

Для великих продавців часто застосовується регресивна шкала:

Оборот за місяць Комісія
до 100 тис. 15%
100–500 тис. 12%
500 тис. — 2 млн 9%
понад 2 млн 7%

Розрахунок ведеться помісячно: на початку кожного місяця накопичений оборот скидається, застосовується базова ставка. У міру зростання обороту ставка знижується. Технічно це вимагає зберігання monthly_seller_turnover та перерахунку при кожному замовленні.

Комісія з урахуванням знижок і купонів

Маркетплейс може субсидувати знижки. Схеми різні. Ми налаштовуємо кожну під бізнес-модель клієнта — це входить у розробку.

Варіант Комісія від Хто покриває знижку
Продавець платить знижку повної ціни продавець
Платформа субсидує підсумкової суми платформа
Розділення 50/50 повної ціни навпіл

Комісія за доставку

Частина маркетплейсів бере комісію і з вартості доставки. Інші — ні. Деякі беруть фіксований збір за кожне замовлення незалежно від суми. Всі ці варіанти повинні конфігуруватися без змін коду. Наш підхід дозволяє гнучко налаштовувати будь-які комбінації — це в 2 рази скорочує час впровадження порівняно з кастомною реалізацією.

Розрахунок і фіксація

Комісія розраховується в двох точках:

  1. При оформленні замовлення — попередній розрахунок, відображається продавцю
  2. При підтвердженні отримання — фінальна фіксація в order_commissions

До фінальної фіксації сума може змінитися: часткове повернення, зміна складу замовлення. Після фіксації — immutable, будь-які коригування через окремий запис commission_adjustments.

Як забезпечити прозорість розрахунків для продавців?

Звітність

Продавець бачить в кабінеті:

  • Комісію по кожному замовленню з розшифровкою застосованого правила
  • Агрегований звіт за період: оборот, комісія, нетто
  • Прогноз: при поточному обороті ставка знизиться наступного місяця

Платформа бачить:

  • Revenue report: скільки заробила платформа за категоріями
  • Аналіз ефективності правил: які правила приносять більше обороту/комісії
  • Порівняння продавців за дохідністю

Аудит і історія змін

Будь-яка зміна правила комісії повинна логуватися з changed_by, changed_at та diff старого/нового значення. Це критично при суперечках з продавцем — завжди можна показати, яке правило діяло на момент конкретного замовлення.

Що входить у розробку системи комісій?

Ми надаємо повний комплект:

  • Документація архітектури та логіки правил
  • Інтерфейс адміністратора для управління правилами
  • Особистий кабінет продавця зі звітами та прогнозами
  • API для зовнішніх інтеграцій
  • Навантажувальне тестування (1000 замовлень/сек)
  • Підтримка на етапі запуску

Технічні аспекти

  • Всі суми зберігаються в цілих числах (копійки/центи) — жодних float для грошей, як рекомендує Fixed-point arithmetic.
  • Розрахунок комісії винесено в окремий CommissionCalculator service — тестований, без side effects
  • Зміни правил не впливають на вже розраховані комісії — snapshot правила зберігається в order_commissions.rule_snapshot (JSON)
  • Навантажувальні тести: розрахунок 1000 замовлень в секунду без деградації — в 3 рази швидше типових рішень

Наш досвід роботи з системами комісій підтверджений десятками впроваджень. Замовте консультацію — ми підберемо оптимальну конфігурацію під ваш бізнес. Зв'яжіться з нами, щоб отримати детальну оцінку термінів.