• Интернет-магазины · OpenCart 4.x
  • Замер 31.07.2026

Разработка оптового B2B интернет-магазина

Оптовый магазин отличается от розничного не каталогом, а происходящим после клика «купить»: у каждого клиента своя цена есть минимальная партия и кратность упаковки, а заказ закрывается счетом, а не чеком. В OpenCart под это есть группы покупателей и уровни цен – остальное приходится достраивать. 31 июля 2026 года мы сняли показатели с семи оптовых каталогов: от 1656 адресов в медицинском до 13590 в бельевом, первый ответ сервера 289-576,8 мс. Сроки – от 30 рабочих дней. Стоимость называем после бесплатного аудита: она зависит от того, сколько ценовых уровней и сколько документов должно закрывать сайт вместо менеджера.

Стоимость
после бесплатного аудита
Гарантия
30 дней после подписания акта
B2B-каталогов измерили
7 оптовых магазинов, измерение 31.07.2026
Стоимость
после бесплатного аудита
Гарантия
30
дней после подписания акта
B2B-каталогов измерили
7
оптовых магазинов, измерение 31.07.2026
Самая аккуратная карта сайта выборки
13 590
адресов, из них только 1 дубликат - 0,007%
Первый ответ сервера
289–576,8 мс
на каталогах от 1,6 до 13,6 тыс. адресов
Что нашли внутри
на каталоге с 1 848 позиций аналитика не собирает данные с 2023 года
Ориентир
30–55
рабочих дней, стоимость – после аудита
Как это работает

Чем отличается магазин в зависимости от того, как вы продаёте

  1. Модель определяет участников

    Кто покупает: розница, дилер или партнёр. Кто держит товар: вы, склад поставщика или производство.

  2. От модели зависят правила

    Цены для групп покупателей, передача заказа поставщику, кабинет дилера, учёт остатков. Каждая модель тянет свой набор.

  3. Магазин собирается под модель

    Берём только те функции, что нужны вашему потоку заказов, и не добавляем лишнего.

Модель редко бывает чистой: многие совмещают розницу с оптом. Какие правила нужны именно вам, выясняем на разборе задачи.

Кому подходит

Ситуации, в которых эта услуга даёт результат

Сценарий 1 из 4

Продаете дилерам и каждому даете свою цену

Теперь это живет в Excel и в голове менеджера: файл переслали, цена устарела, клиент спорит. Группы покупателей OpenCart переносят ступеньки цен на сайт – дилер видит свою колонку после входа, розничный посетитель базовую. Источник цен один, и он обновляется импортом, а не перепиской.

Разберём вашу ситуацию на бесплатном аудите
Кейсы

Задачи и результат в цифрах — все показатели сняты нашим замером

оптовый магазин нижнего белья, каталог более 13 тыс. позиций

Задача
Подбор по размерам и цвету внутри модели, фасовка, оптовые цены по уровням заказа.
Решение
OpenCart. Восемь способов расчета – от Приват24 до счета-фактуры – вынесены и в текст, и в JSON-LD через acceptedPaymentMethod.
Результат
13 590 адресов в карте сайта (13 428 карт товара, 161 категория, главная), только один дубликат — 0,007%. TTFB 289 мс. Найдены дефекты: HTML главной 751,2 КБ, а стандартные адреса карты сайта отдают пустое тело – рабочая лежит на нестандартном пути. Измерение 31.07.2026.

оптовый магазин косметики для бьюти-индустрии, каталог около 4 тыс. позиций

Задача
Оптовый каталог с навигацией по брендам и категориям и быстрым оформлением для покупателей.
Решение
OpenCart, каноническая карта сайта по отдельному адресу. WayForPay, наложенный платеж, счет в банке, две службы доставки, шесть типов JSON-LD.
Результат
4 167 адресов в канонической карте сайта: 3 947 товаров, 166 брендов, 47 категорий, 6 информационных страниц и главная. TTFB 576,8 мс при 192,4 КБ HTML. Найден дефект: параллельно живет старая карта сайта с 7782 записями на 2755 уникальных адресов, и ни одного адреса второй языковой версии в ней нет. Измерение 31.07.2026.

B2B-каталог запчастей для промышленных швейных машин

Задача
Найти деталь по коду или модели оборудования за минимум шагов: ошибка в подборе стоит простоя производства.
Решение
OpenCart, подбор деталей по модели машины, технические схемы, форма запроса наличия. Безнал без НДС на счет ФЛП.
Результат
1 992 адреса в карте сайта без дубликата — 1 848 карточек товара и 138 категорий. TTFB 388,1 мс при 120,2 КБ HTML, третья самая легкая страница выборки. Найден дефект: в коде до сих пор стоит Universal Analytics, GA4 нет вообще – аналитика не собирает данные с июля 2023 года. Измерение 31.07.2026.

LUGI

оптовый поставщик товаров из Китая, B2B-каталог около 6 тыс. позиций

Задача
Дать бизнес-клиентам заказывать ассортимент напрямую: каталог по оптовым ценам и короткий путь от поиска позиции до заявки.
Решение
OpenCart 3, две языковые версии с отдельной картой сайта на каждую. Микроразметка FAQPage и BreadcrumbList, чат, наложенный платеж.
Результат
5 830 товаров, подтверждено двумя методами: поиск OpenCart дал 58 страниц по 100 позиций плюс 30, карта сайта — по 6 234 адреса на каждый из двух языков, всего 12 468. TTFB 506,9 мс, полная загрузка 552,7 мс при 3. Измерение 31.07.2026.
Что входит

Полный перечень работ и того, что вы получаете на выходе

  • Группы покупателей и уровни цен: розница, дилер, ключевой клиент – каждый видит свою колонку после входа
  • Регистрация оптовика с ручной модерацией: доступ к оптовым ценам открывает менеджер, а не форма
  • Кратность упаковки, минимальная партия и минимальная сумма в корзине с подсказкой, почему кнопка неактивна
  • Быстрый заказ списком: артикул и количество в форму, без перехода в каждую карточку
  • Кабинет клиента: история заказов, повтор предварительного заказа, статусы и документы
  • Документы: счет-фактура по заказу, безналичный расчет, перевод на IBAN
  • Импорт прайса с картенгом полей и расписанием обновления цен и остатков
  • XML-выгрузка собственного прайса для дилеров и площадок
  • Техническое SEO: ЧПУ, canonical, уникальные title, карта сайта без дублей, JSON-LD Store и BreadcrumbList
  • Аналитика GA4 с событиями корзины и оформления – чтобы было видно, где отваливается покупатель
Когда эта услуга не подходит

Что не входит в работу — чтобы не было сюрпризов на сдаче

  • Ведение бухгалтерии и формирование первичных документов в вашей учетной системе
  • Наполнение каталога описаниями и характеристиками
  • Юридические тексты: договор оферты, условия возврата для юридических лиц
  • Хостинг, домен, эквайринг
  • Поиск дилеров и работа с базой – это маркетинг, а не разработка
Этапы работы

Прозрачные этапы с согласованием на каждом шагу

Общий срок:30–55 дней

  1. Бриф и разбор коммерческой схемы

    3–5 рабочих дней

    Кто ваши клиенты, сколько у них уровней цен, как сейчас согласовывается заказ и какие документы закрывает менеджер руками.

  2. ТЗ: группы покупателей, цены, документы

    4–7 рабочих дней

    Матрица «группа покупателя → цена → условия», правила кратности и минимальной партии, перечень документов и формирующих их. Это самый важный документ проекта.

  3. Прототип каталога и кабинета

    4–7 рабочих дней

    Сценарий покупателя от поиска позиции к счету, форма быстрого заказа списком, структура кабинета. Соглашаем к дизайну.

  4. Дизайн и верстка

    6–10 рабочих дней

    Каталог, карточка с размерной сеткой и фасовкой, корзина с подсказками о кратности, кабинет. Оптовый интерфейс – это плотность информации, а не картинки.

  5. Сборник: цены, кратность, корзина, документы

    7–13 рабочих дней

    Группы покупателей, ступени цен, ограничение корзины, формирование счета-фактуры, модерация регистрации дилера.

  6. Импорт каталога и интеграции

    4–8 рабочих дней

    Мапинг прайса, расписание обновления, доставка, аналитика с событиями корзины, выгрузка собственного прайса для дилеров.

  7. Тестирование на живом заказе, передача

    2–5 рабочих дней

    Прогон полного цикла под каждой группой покупателей от входа в счет и ТТН, затем передача доступов и инструкции менеджеру.

Договор и документы

Работаем официально

Договор, акт и счёт — на каждый проект, а не только на большой.

Нам доверяют6 брендов

Нам доверяют: Kvant Energy, GYPSUN, Naturel Cosmetics, Pancer Protection, LUGI, BeeTech

Условия, зафиксированные письменно8 пунктов
  • Договор, акт и гарантия 30 дней

    На каждый проект письменный договор: объём, сроки, сумма, порядок приёмки. После сдачи — акт и счёт, затем 30 календарных дней гарантии.

  • ФОП и безналичный расчёт

    Исполнитель — зарегистрированный ФОП. Оплата на счёт с закрывающими документами.

  • Права и доступы — ваши

    Код, дизайн и материалы переходят к вам после полной оплаты. Домен, хостинг, репозиторий оформляем на вас.

  • Портал клиента вместо переписки

    Во время работы вы получаете доступ к порталу: договоры, счета, акты и статус проекта в одном месте.

  • Сайты в девяти странах

    Наши сайты работают в девяти странах: кроме Украины — Польша, Германия, Австрия, Англия, Норвегия, Болгария, Молдова, Испания.

  • Цифры, которые можно проверить

    Каждый кейс в портфолио — со ссылкой на живой сайт и техническим замером.

  • Сначала аудит, потом сумма

    Прайса на сайте нет намеренно: объём одной и той же работы у двух клиентов отличается кратно.

  • Говорим «нет», когда не уверены

    Если задача не наша или срок нереальный — скажем сразу.

  • Договор, акт и гарантия 30 дней

    На каждый проект письменный договор: объём, сроки, сумма, порядок приёмки. После сдачи — акт и счёт, затем 30 календарных дней гарантии.

  • ФОП и безналичный расчёт

    Исполнитель — зарегистрированный ФОП. Оплата на счёт с закрывающими документами.

  • Права и доступы — ваши

    Код, дизайн и материалы переходят к вам после полной оплаты. Домен, хостинг, репозиторий оформляем на вас.

  • Портал клиента вместо переписки

    Во время работы вы получаете доступ к порталу: договоры, счета, акты и статус проекта в одном месте.

  • Сайты в девяти странах

    Наши сайты работают в девяти странах: кроме Украины — Польша, Германия, Австрия, Англия, Норвегия, Болгария, Молдова, Испания.

  • Цифры, которые можно проверить

    Каждый кейс в портфолио — со ссылкой на живой сайт и техническим замером.

  • Сначала аудит, потом сумма

    Прайса на сайте нет намеренно: объём одной и той же работы у двух клиентов отличается кратно.

  • Говорим «нет», когда не уверены

    Если задача не наша или срок нереальный — скажем сразу.

NDA подписываем по запросу. После завершения свои доступы удаляем сами.

Что влияет на стоимость

Почему две одинаковые на вид задачи считаются по-разному

  • Сколько ценовых уровнейДве группы покупателей – это настройки. Пять групп с собственными скидками на категории и персональными ценами на отдельные позиции — уже отдельная логика ценообразования и тестирования каждой комбинации на живом заказе.
  • ДокументооборотСчет-фактура с номером и реквизитами, акт, ТТН. Каждый документ – это шаблон, подстановка данных по заказу и проверка на реальном заказе, а не галочка в настройках.
  • Обмен с учетной системойЧтение прайса файлом вступает в работу. Двусторонний обмен с 1С или BAS – около десяти рабочих дней: остатки, цены и статусы заказов в обе стороны.
  • Кабинет дилераИстория, повтор заказа, свои документы, лимит и долг – около семи рабочих дней. Без настоящей базы неизменных клиентов это не окупается: офисом просто не пользуются.
  • Объем каталогаВ измеренных оптовых каталогах разброс от 1602 до 13428 карт. Объем влияет не на дизайн, а на схему импорта и на выдерживает ли фильтр подсчет позиций.
  • Языковые версииВторой язык – около пяти рабочих дней. В двух из семи измеренных каталогов двуязычие сделано, но вторая ветвь не попала в карту сайта: для поиска ее не существует.

Не нашли свой случай?

Опишите, как это устроено у вас, — ответим, подходит ли «Разработка оптового B2B интернет-магазина» и что это значит в вашей ситуации. Без брифа и без звонка: один вопрос, один ответ.

Технологии и интеграции

На чём строим и с чем это соединяется

Стек

  • OpenCart 4.x – ставим по умолчанию
  • OpenCart 3.x – когда нужен модуль, которого под 4.x еще нет
  • PHP
  • MySQL
  • nginx
  • темы UniShop, UniShop2, chameleon, luxshop
  • ocmod
  • группы покупателей OpenCart
  • Product Discount / Special

Интеграции

  • безналичный расчет
  • счет-фактура
  • перевод на IBAN
  • наложенный платеж
  • Новая Почта
  • Meest Express
  • Укрпочта
  • XML-выгрузка прайса
  • Google Tag Manager
  • GA4
  • Google Ads (AW-10933820071)
  • Crisp
  • JivoSite
Свой оптовый магазин против прайса в Excel и кабинете на площадке

Чем этот вариант отличается от альтернативы

Excel-прайс/кабинет на площадкеНаш подход
Актуальность ценExcel: у каждого клиента своя версия файла. Площадка: цены ведутся отдельноодин источник: импорт из прайса по расписанию
Кто видит оптовую ценуExcel: все, кому отправили файл. Площадка: по правилам площадкитолько после входа, по группе покупателя
Повторный заказExcel: новая переписка каждый раз. Площадка: зависит от функционаладва клика в кабинете по истории
ДокументыExcel: менеджер делает руки. Площадка: свои шаблоны, изменить нельзясчет-фактура формируется из заказа
Данные о клиентахExcel: разбросаны по почте. Площадка: доступ ограничен правиламиваша база, экспорт в любой момент
Что нужно от вас

Без этого не начнём — лучше подготовить заранее

  1. Прайс в CSV или XML со всеми ценовыми уровнями – именно он показывает, сколько групп покупателей нужно заводить.
  2. Схема скидок: от чего зависит цена от группы клиента, объема заказа, категории товара или всего вместе.
  3. Правила кратности и минимальной партии по категориям: фасовка, упаковка, минимальная сумма.
  4. Образцы документов, которые сейчас выставляет менеджер: счет, спецификация, акт.
  5. Реквизиты для безналичного расчета и ответ, нужен ли НДС в счете.
  6. Одного человека с вашей стороны, который знает коммерческие условия и может подтвердить их без согласований.
Если чего-то из этого нет — скажите, подскажем, как собрать или сделаем сами отдельной задачей.
Частые вопросы

Что спрашивают чаще всего — с конкретными ответами

Можно ли показывать разные цены разным клиентам?

Да, это штатный механизм OpenCart: группы покупателей и уровни цен. Клиент видит свои цены после входа, розничный посетитель — базовые. Сложность начинается там, где цена зависит одновременно от группы, объёма заказа и категории: это уже отдельная логика, которую нужно описать в ТЗ и проверить на каждой комбинации.

Сколько стоит оптовый магазин и от чего зависит сумма?

Публичного прайса мы не держим: оптовые проекты слишком разные, чтобы одна цифра была честной. Две группы покупателей с кратностью, безналичным расчётом и импортом прайса — одна работа; несколько ценовых уровней с индивидуальными ценами, кабинет дилера с историей и документами и выгрузка своего прайса — совсем другая. Главные драйверы суммы — количество ценовых уровней и количество документов, которые сайт должен закрывать вместо менеджера. Оба числа видны на бесплатном аудите, после него и называем стоимость.

Сколько длится разработка?

30–55 рабочих дней от утверждения ТЗ. По этапам: бриф и разбор коммерческой схемы 3–5 дней, ТЗ по ценам и документам 4–7, прототип каталога и кабинета 4–7, дизайн и вёрстка 6–10, сборка цен и документов 7–13, импорт и интеграции 4–8, тестирование на живом заказе и передача 2–5. Самый длинный этап — сборка, потому что каждую комбинацию группы и цены нужно проверить отдельно.

Как настроить кратность упаковки, чтобы клиент не заказал 7 штук из коробки по 12?

Кратность задаётся на уровне товара, и корзина просто не даёт оформить некратное количество, объясняя, почему кнопка неактивна. То же с минимальной партией и минимальной суммой заказа. Это не косметика: иначе каждый такой заказ возвращается к менеджеру на ручное согласование, а это самый дорогой способ принимать заказы. И нюанс с версиями, который честнее назвать здесь, чем на этапе интеграций: по умолчанию мы ставим OpenCart 4.x, но кратность, ступени цен и счёт-фактуру в украинских сборках часто закрывают модули, которые пока выходят только под 3.x. Поэтому сначала сверяем ваш список модулей: если всё нужное есть под 4.x, ставим 4.x; если чего-то под четвёрку ещё нет, обсуждаем 3.x на старте и фиксируем версию в ТЗ.

Можно ли выставлять счёт прямо из заказа?

Да, и чаще всего именно это снимает с менеджера больше всего рутины: реквизиты, номер, позиции и суммы подставляются из заказа. В измеренных нами оптовых каталогах счёт-фактура встречается как отдельный способ расчёта: например, в магазине белья — рядом с безналичным переводом и оплатой при самовывозе. Список ваших документов фиксируем на этапе ТЗ.

У нас каталог в 1С — как синхронизировать остатки?

Односторонний импорт прайса входит в объём работ: цены и остатки обновляются по расписанию. Двусторонний обмен с 1С или BAS — отдельная работа, около десяти рабочих дней, потому что данные идут в обе стороны: остатки и цены на сайт, статусы заказов обратно. Смысл здесь простой: синхронизация убирает самую дорогую ошибку опта — продажу того, чего нет на складе.

Нужен ли кабинет дилера?

Зависит от того, как часто клиенты возвращаются. Если клиент заказывает раз в квартал, кабинет будет пустовать. Если еженедельно, кабинет с историей и повтором заказа снимает с менеджера большую часть переписки, и окупается это сэкономленным временем, а не дополнительными продажами. Честный ответ зависит от частоты повторных заказов, и её знаете вы, а не мы.

Нужно ли оптовому магазину продвижение в поиске?

Да, но не так, как рознице. Закупщик ищет конкретные артикулы и категории, а не общий запрос «купить дешевле». Техническую часть мы закрываем одинаково: ЧПУ, canonical, уникальные title, карта сайта без дублей, JSON-LD. В измеренных каталогах дыр больше всего именно здесь: в одном из них параллельно живут две карты сайта — старая с дублями и новая каноническая.

Чем разработка оптового магазина отличается от розничного?

Каталог почти такой же, а всё после кнопки «купить» устроено иначе. Цена зависит от того, кто вошёл. Количество ограничено кратностью. Оплата закрывается документом. Регистрация проходит модерацию, потому что оптовые цены не показывают случайным посетителям. Каждая из этих вещей — отдельный кусок логики, и именно они, а не дизайн, дают разницу в сроках между розничным и оптовым магазином.

Как устроены гарантия и оплата работ?

Два раунда правок на этапе дизайна входят в стоимость, если они укладываются в утверждённое ТЗ. В течение 30 календарных дней с даты подписания акта бесплатно исправляем ошибки с нашей стороны (гарантийный срок по договору). Базовая валюта расчёта — евро, гривневая сумма пересчитывается по курсу НБУ на день выставления счёта.

Можно ли сделать B2B-раздел на нашем текущем розничном сайте?

Зависит от платформы и модулей. Группы покупателей и уровни цен — штатный механизм OpenCart, но кратность, ступени цен и счёт-фактуру часто закрывают модули, которые пока выходят только под 3.x. Поэтому сначала сверяем ваш список модулей и версию. Какой путь подходит именно вам, скажем после бесплатного аудита.

Как скрыть оптовые цены от розничных посетителей?

Оптовые цены видны только после входа, а розничный посетитель видит базовые. Полной защиты это не даёт: зарегистрированный клиент может переслать цены кому угодно, поэтому сайт закрывает витрину, а не коммерческую тайну.

С чего начинается разработка оптового магазина?

С брифа и разбора вашей коммерческой схемы — это 3–5 рабочих дней. Самый длинный этап — сборка, где каждую комбинацию группы и цены проверяют отдельно.

Демо

Ваш каталог на экране телефона

Так может выглядеть ваш магазин в телефоне: баннер коллекции, популярные товары и корзина в одно касание. Нажмите «В корзину» — счётчик в шапке обновится, как в настоящем магазине.

  • Баннер коллекцииПервый экран показывает новинку, а не логотип.
  • Карточки товаровФото, цена и кнопка — без перехода на отдельную страницу.
  • Корзина в одно касаниеСчётчик в шапке обновляется сразу, как в настоящем магазине.
Магазины в портфолио
Это демо-интерфейс, а не магазин клиента. Живые работы — в портфолио.
SHOP
Новая коллекцияОсень / ЗимаСмотреть
ПопулярноеВсе товары ›
  • Худи Essentials1 290 ₴
  • Рюкзак Urban1 490 ₴
  • Кепка Classic690 ₴
  • Футболка Basic590 ₴
  • Кроссовки Street2 390 ₴
  • Шорты Active890 ₴

Отправьте прайс с ценовыми уровнями и образец счета, который выставляет менеджер.

В ответ – матрица «группа покупателя → цена → условия», перечень того, что сайт закроет вместо менеджера, и смета по этапам с календарными датами.

Из измеренных кейсов13 590 адресов в карте сайта (13 428 карт товара, 161 категория, главная), только один дубликат

Смотреть кейсы
  • Ответ в течение 2 часов
  • Без обязательств
  • Работаем по договору

Прайса на сайте нет намеренно: объём той же работы у двух клиентов отличается в разы, и цифра «от» в этом случае ничего не объясняет. Сначала бесплатный аудит — считаем ваши страницы, дубли и скорость, — потом называем сумму и срок и фиксируем их в договоре.