Оптовый магазин отличается от розничного не каталогом, а происходящим после клика «купить»: у каждого клиента своя цена есть минимальная партия и кратность упаковки, а заказ закрывается счетом, а не чеком. В OpenCart под это есть группы покупателей и уровни цен – остальное приходится достраивать. 31 июля 2026 года мы сняли показатели с семи оптовых каталогов: от 1656 адресов в медицинском до 13590 в бельевом, первый ответ сервера 289-576,8 мс. Сроки – от 30 рабочих дней. Стоимость называем после бесплатного аудита: она зависит от того, сколько ценовых уровней и сколько документов должно закрывать сайт вместо менеджера.
289–576,8 мс на каталогах от 1,6 до 13,6 тыс. адресов
Показатели сняты нашим замером на живых сайтах соответствующего масштаба.
после бесплатного аудита
Стоимость
30
Гарантия
дней после подписания акта
7
B2B-каталогов измерили
оптовых магазинов, измерение 31.07.2026
13 590
Самая аккуратная карта сайта выборки
адресов, из них только 1 дубликат - 0,007%
289–576,8 мс
Первый ответ сервера
на каталогах от 1,6 до 13,6 тыс. адресов
на каталоге с 1 848 позиций аналитика не собирает данные с 2023 года
Что нашли внутри
30–55
Ориентир
рабочих дней, стоимость – после аудита
Кому подходит
Ситуации, в которых эта услуга даёт результат
Сценарий 1 из 4
Продаете дилерам и каждому даете свою цену
Теперь это живет в Excel и в голове менеджера: файл переслали, цена устарела, клиент спорит. Группы покупателей OpenCart переносят ступеньки цен на сайт – дилер видит свою колонку после входа, розничный посетитель базовую. Источник цен один, и он обновляется импортом, а не перепиской.
Разберём вашу ситуацию на бесплатном аудите
Сценарий 2 из 4
Заказ идет партиями, а не штуками
Кратность упаковки, минимальная сумма заказа, фасовка, размерная сетка внутри модели. В оптовом магазине белья из нашей выборки это сделано подбором размеров и цветов внутри карты: покупатель набирает ассортимент в одном месте, а не ходит по 40 страницам. Каталог там содержит 13 428 карточек товара.
Сценарий 3 из 4
Клиенту нужен документ, а не чек
Безналичный расчет, счет-фактура, перевод на IBAN. В измеренных каталогах это норма: в белье восемь способов расчета, включая счет-фактуру; в каталоге швейных запчастей — безнал без НДС на счет ФЛП и оплата после получения на складе перевозчика.
Сценарий 4 из 4
Половина времени менеджера уходит на повторные заказы
Кабинет с историей делает повторение операцией в два клика: клиент открывает предварительный заказ и повторяет его. Это около семи рабочих дней и имеет смысл только там, где клиенты действительно заказывают регулярно — иначе кабинетом никто не пользуется.
Кейсы
Задачи и результат в цифрах — все показатели сняты нашим замером
оптовый магазин нижнего белья, каталог более 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.
оптовый поставщик товаров из Китая, 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 рабочих дней
Прогон полного цикла под каждой группой покупателей от входа в счет и ТТН, затем передача доступов и инструкции менеджеру.
Договор, акт и гарантия 30 дней
На каждый проект письменный договор: объём, сроки, сумма, порядок приёмки. После сдачи — акт и счёт, затем 30 календарных дней гарантии.
ФОП и безналичный расчёт
Исполнитель — зарегистрированный ФОП. Оплата на счёт с закрывающими документами.
Права и доступы — ваши
Код, дизайн и материалы переходят к вам после полной оплаты. Домен, хостинг, репозиторий оформляем на вас.
Портал клиента вместо переписки
Во время работы вы получаете доступ к порталу: договоры, счета, акты и статус проекта в одном месте.
Заказчики из Европы
Среди работ — проекты для Норвегии, Болгарии, Молдовы и Испании.
Цифры, которые можно проверить
Каждый кейс в портфолио — со ссылкой на живой сайт и техническим замером.
Сначала аудит, потом сумма
Прайса на сайте нет намеренно: объём одной и той же работы у двух клиентов отличается кратно.
Говорим «нет», когда не уверены
Если задача не наша или срок нереальный — скажем сразу.
Что влияет на стоимость
Почему две одинаковые на вид задачи считаются по-разному
Сколько ценовых уровнейДве группы покупателей – это настройки. Пять групп с собственными скидками на категории и персональными ценами на отдельные позиции — уже отдельная логика ценообразования и тестирования каждой комбинации на живом заказе.
ДокументооборотСчет-фактура с номером и реквизитами, акт, ТТН. Каждый документ – это шаблон, подстановка данных по заказу и проверка на реальном заказе, а не галочка в настройках.
Обмен с учетной системойЧтение прайса файлом вступает в работу. Двусторонний обмен с 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. В измеренных каталогах именно здесь больше дыр — в одном из них параллельно живут две карты сайта, старая с дублями и новая каноническая.
Чем оптовый магазин отличается от розничного в разработке?
Каталогом почти нечем, а вот все после кнопки «купить» – другое. Цена зависит от вошедшего. Количество ограничено кратностью. Оплата закрывается документом. Регистрация проходит модерацию, потому что оптовые цены не показывают случайным посетителям. Каждая из этих вещей – отдельный кусок логики, и именно они, а не дизайн, дают разницу в срок между розничным и оптовым магазином.
Что с гарантией и оплатой работ?
Предоплата 50% на старте, остальные после приема перед запуском. Два раунда правок на этапе дизайна входят в стоимость, если они находятся в пределах утвержденного ТС. Тридцать календарных дней после приемки бесплатно исправляем ошибки с нашей стороны (гарантийный срок по договору). Цена в евро фиксируется на 14 дней с даты предложения, гривневая сумма перечисляется по курсу НБУ на день выставления счета.
Прайса на сайте нет намеренно: объём той же работы у двух клиентов отличается в разы, и цифра «от» в этом случае ничего не объясняет. Сначала бесплатный аудит — считаем ваши страницы, дубли и скорость, — потом называем сумму и срок и фиксируем их в договоре.