Оптовый магазин отличается от розничного не каталогом, а происходящим после клика «купить»: у каждого клиента своя цена есть минимальная партия и кратность упаковки, а заказ закрывается счетом, а не чеком. В OpenCart под это есть группы покупателей и уровни цен – остальное приходится достраивать. 31 июля 2026 года мы сняли показатели с семи оптовых каталогов: от 1656 адресов в медицинском до 13590 в бельевом, первый ответ сервера 289-576,8 мс. Сроки – от 30 рабочих дней. Стоимость называем после бесплатного аудита: она зависит от того, сколько ценовых уровней и сколько документов должно закрывать сайт вместо менеджера.
на каталоге с 1 848 позиций аналитика не собирает данные с 2023 года
Что нашли внутри
3012345678900123456789–5012345678950123456789
Ориентир
рабочих дней, стоимость – после аудита
Кому подходит
Ситуации, в которых эта услуга даёт результат
Сценарий 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 дней
01
Бриф и разбор коммерческой схемы
3–5 рабочих дней
Кто ваши клиенты, сколько у них уровней цен, как сейчас согласовывается заказ и какие документы закрывает менеджер руками.
02
ТС: группы покупателей, цены, документы
4–7 рабочих дней
Матрица «группа покупателя → цена → условия», правила кратности и минимальной партии, перечень документов и формирующих их. Это самый важный документ проекта.
03
Прототип каталога и кабинета
4–7 рабочих дней
Сценарий покупателя от поиска позиции к счету, форма быстрого заказа списком, структура кабинета. Соглашаем к дизайну.
04
Дизайн и верстка
6–10 рабочих дней
Каталог, карточка с размерной сеткой и фасовкой, корзина с подсказками о кратности, кабинет. Оптовый интерфейс – это плотность информации, а не картинки.
05
Сборник: цены, кратность, корзина, документы
7–13 рабочих дней
Группы покупателей, ступени цен, ограничение корзины, формирование счета-фактуры, модерация регистрации дилера.
06
Импорт каталога и интеграции
4–8 рабочих дней
Мапинг прайса, расписание обновления, доставка, аналитика с событиями корзины, выгрузка собственного прайса для дилеров.
07
Тестирование на живом заказе, передача
2–5 рабочих дней
Прогон полного цикла под каждой группой покупателей от входа в счет и ТТН, затем передача доступов и инструкции менеджеру.
Работаем официально
Договор, акт и счёт — на каждый проект, а не только на большой.
На каждый проект письменный договор: объём, сроки, сумма, порядок приёмки. После сдачи — акт и счёт, затем 30 календарных дней гарантии.
02
ФОП и безналичный расчёт
Исполнитель — зарегистрированный ФОП. Оплата на счёт с закрывающими документами.
03
Права и доступы — ваши
Код, дизайн и материалы переходят к вам после полной оплаты. Домен, хостинг, репозиторий оформляем на вас.
04
Портал клиента вместо переписки
Во время работы вы получаете доступ к порталу: договоры, счета, акты и статус проекта в одном месте.
05
Сайты в девяти странах
Наши сайты работают в девяти странах: кроме Украины — Польша, Германия, Австрия, Англия, Норвегия, Болгария, Молдова, Испания.
06
Цифры, которые можно проверить
Каждый кейс в портфолио — со ссылкой на живой сайт и техническим замером.
07
Сначала аудит, потом сумма
Прайса на сайте нет намеренно: объём одной и той же работы у двух клиентов отличается кратно.
08
Говорим «нет», когда не уверены
Если задача не наша или срок нереальный — скажем сразу.
01
Договор, акт и гарантия 30 дней
На каждый проект письменный договор: объём, сроки, сумма, порядок приёмки. После сдачи — акт и счёт, затем 30 календарных дней гарантии.
02
ФОП и безналичный расчёт
Исполнитель — зарегистрированный ФОП. Оплата на счёт с закрывающими документами.
03
Права и доступы — ваши
Код, дизайн и материалы переходят к вам после полной оплаты. Домен, хостинг, репозиторий оформляем на вас.
04
Портал клиента вместо переписки
Во время работы вы получаете доступ к порталу: договоры, счета, акты и статус проекта в одном месте.
05
Сайты в девяти странах
Наши сайты работают в девяти странах: кроме Украины — Польша, Германия, Австрия, Англия, Норвегия, Болгария, Молдова, Испания.
06
Цифры, которые можно проверить
Каждый кейс в портфолио — со ссылкой на живой сайт и техническим замером.
07
Сначала аудит, потом сумма
Прайса на сайте нет намеренно: объём одной и той же работы у двух клиентов отличается кратно.
08
Говорим «нет», когда не уверены
Если задача не наша или срок нереальный — скажем сразу.
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. В измеренных каталогах именно здесь больше дыр — в одном из них параллельно живут две карты сайта, старая с дублями и новая каноническая.
Чем оптовый магазин отличается от розничного в разработке?
Каталогом почти нечем, а вот все после кнопки «купить» – другое. Цена зависит от вошедшего. Количество ограничено кратностью. Оплата закрывается документом. Регистрация проходит модерацию, потому что оптовые цены не показывают случайным посетителям. Каждая из этих вещей – отдельный кусок логики, и именно они, а не дизайн, дают разницу в срок между розничным и оптовым магазином.
Что с гарантией и оплатой работ?
Предоплата 50% на старте, остальные после приема перед запуском. Два раунда правок на этапе дизайна входят в стоимость, если они находятся в пределах утвержденного ТС. Тридцать календарных дней после приемки бесплатно исправляем ошибки с нашей стороны (гарантийный срок по договору). Цена в евро фиксируется на 14 дней с даты предложения, гривневая сумма перечисляется по курсу НБУ на день выставления счета.
Так может выглядеть ваш магазин в телефоне: баннер коллекции, популярные товары и корзина в одно касание. Нажмите «В корзину» — счётчик в шапке обновится, как в настоящем магазине.
Баннер коллекцииПервый экран показывает новинку, а не логотип.
Карточки товаровФото, цена и кнопка — без перехода на отдельную страницу.
Корзина в одно касаниеСчётчик в шапке обновляется сразу, как в настоящем магазине.
Прайса на сайте нет намеренно: объём той же работы у двух клиентов отличается в разы, и цифра «от» в этом случае ничего не объясняет. Сначала бесплатный аудит — считаем ваши страницы, дубли и скорость, — потом называем сумму и срок и фиксируем их в договоре.