Перейти до змісту
serpico.

Харчове виробництво, оптові продажі

B2B-CRM з кабінетом оптового клієнта: перша робоча версія за 3 години

CRM об'єднує оптові замовлення, комплектування з фактичною вагою, документи й взаєморозрахунки, а окремий кабінет дає клієнту самостійно бачити замовлення, рахунки й борг. Систему ми зібрали на готовій основі з попереднього проєкту, тому перша робоча версія з усіма модулями з'явилась приблизно за 3 години.

Тип проєкту
B2B-CRM з кабінетом клієнта
Ринок
Україна
Період
жовтень 2026
Технології
Next.js 16 · React 19 · Tailwind CSS v4 · Supabase · Vercel
екранів у CRM
19
екранів у кабінеті клієнта
9
до першої робочої версії
~3 год
щоденних бекапів зберігається
30
B2B-CRM з кабінетом оптового клієнта: перша робоча версія за 3 години

Завдання

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

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

Окремо стояла задача зі структурою клієнтів. Один оптовий покупець може мати кілька точок доставки, кілька логінів для своїх працівників і кілька юридичних осіб, на які виставляються рахунки. Звичайна схема «один клієнт - один акаунт» тут не працює.

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

Що ми зробили

Систему ми побудували на основі CRM для маркетплейсів, яку раніше зробили для цієї ж компанії. Той самий стек (Next.js 16, React 19, Tailwind CSS v4, Supabase, Vercel), готові сповіщення, ролі й логіка етапів дали змогу не починати з нуля. Тому першу робочу версію з усіма модулями, мобільною версією і кабінетом клієнта ми зібрали за одну нічну робочу сесію, приблизно за 3 години.

CRM для команди (19 екранів)

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

Кабінет оптового клієнта (9 екранів)

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

Безпека

  • токен входу прив'язаний до версії пароля: після скидання пароля всі сесії одразу завершуються;
  • ліміти на підбір пароля за логіном і за IP-адресою;
  • дані лежать у закритій схемі, недоступній через публічне API, доступ лише через серверні функції;
  • щоденний бекап о 01:30, зберігаються 30 останніх знімків.

Результат

У жовтні 2026 компанія отримала дві пов'язані системи: CRM на 19 екранів для команди і кабінет на 9 екранів для оптових клієнтів. Замовлення з сайту більше не губляться між месенджерами, а рахунок, фактична вага, документи й борг видно в одній картці.

Що це дає бізнесу:

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

Наступний етап, який ми плануємо, - синхронізація з 1С (BAF), щоб документи й взаєморозрахунки не дублювались в обліковій системі.

Чим проєкт особливий

Головна особливість - швидкість без втрати якості. Перша версія з'явилась приблизно за 3 години не тому, що ми спростили задачу, а тому, що повторно використали перевірені частини попередньої CRM: ролі, сповіщення, етапи. Для бізнесу це означає, що кожен наступний продукт на спільній основі обходиться швидше.

Друга особливість - кабінет клієнта без власної бази. Усі дані проходять через API CRM, тож немає ризику, що в кабінеті й у менеджера різні цифри. А закрита схема даних і прив'язка сесій до версії пароля закривають типові слабкі місця клієнтських порталів.

Опубліковано: · Оновлено:

Питання про цей проєкт

Чому першу версію вдалося зробити за кілька годин?

Систему побудовано на основі CRM, яку ми вже зробили для цієї компанії: той самий стек, ролі, сповіщення й логіка етапів. Тому ми не писали ці частини заново, а адаптували під оптовий процес. Без такої основи строки були б довшими.

Від чого залежить вартість B2B-CRM з кабінетом клієнта?

Ціна залежить від кількості модулів, складності структури клієнтів і потрібних інтеграцій, наприклад з 1С. Якщо є готова основа, як у цьому кейсі, розробка проходить швидше. Оцінку робимо після розбору вашого процесу замовлень.

Як система працює з фактичною вагою товару?

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

Наскільки безпечний кабінет оптового клієнта?

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

Чи можна інтегрувати систему з 1С або BAF?

Синхронізація з 1С (BAF) запланована як наступний етап цього проєкту. Архітектура з окремим API для кабінету й CRM дає змогу підключати облікові системи без переробки інтерфейсу.

Хто володіє кодом і даними після запуску?

Умови щодо коду, доступів і даних ми фіксуємо в договорі до старту робіт. Щоденні бекапи о 01:30 зберігаються для 30 останніх днів, тож дані можна відновити у разі потреби.

Інші кейси

SEO, Google Ads і вихід на Rozetka для виробника продуктів харчування: позиція в Google 12,6 → 5,5 і фід на 426 товарів
SEO-просуванняLocal SEOGoogle Ads

SEO, Google Ads і вихід на Rozetka для виробника продуктів харчування: позиція в Google 12,6 → 5,5 і фід на 426 товарів

Ведемо SEO, Local SEO, Google Ads і Shopping та вивели асортимент на Rozetka: фід на 426 товарів, автозаповнення характеристик і формула ціни для вагових товарів. Знайшли помилку, через яку 97 з 422 товарів показувались «в наявності» без залишку. Середня позиція в Google покращилась з 12,6 до 5,5, кліки в червні 2026 зросли на 28%.

середня позиція в Google, червень 2025 проти червня 2026
12,6 → 5,5
кліків у червні 2026 проти червня 2025
+28%
Читати кейс →
CRM для маркетплейсів і замовлень: три канали продажів в одній панелі
Розробка веб-рішень

CRM для маркетплейсів і замовлень: три канали продажів в одній панелі

Одна панель збирає фіди, замовлення, залишки, накладні й ціни з власного магазину на WooCommerce та маркетплейсів MauDau і Rozetka. Синхронізація йде автоматично за розкладом, тож команда не переносить дані між кабінетами вручну і має одну точку контролю для всіх каналів.

екранів у робочій панелі
18
API-маршрути
74
Читати кейс →
Внесення номенклатури в BAS: сервіс погодження на 5 відділів замість шаблону Excel
Розробка веб-рішень

Внесення номенклатури в BAS: сервіс погодження на 5 відділів замість шаблону Excel

Замість шаблону Excel, який пересилали між людьми, ми зробили сервіс, де 5 відділів паралельно заповнюють картку нового товару, фінансовий директор погоджує її, а бухгалтерія вивантажує технічний аркуш BAS на 65 колонок однією кнопкою. Розробка зайняла 6 днів, а ручне перенесення даних в облікову систему більше не потрібне.

днів розробки
6
відділів у процесі
5
Читати кейс →

Хочете схожий результат?

Розкажіть про задачу, і ми оцінимо потенціал росту вашого проєкту.

Безкоштовна консультація

Розкажіть про проєкт, і ми підготуємо план просування