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

Оптовый интернет-магазин для B2B

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

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

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

оптовый магазин нижнего белья, каталог более 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 и кабинете на площадке

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

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

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

  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 дней с даты предложения, гривневая сумма перечисляется по курсу НБУ на день выставления счета.

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

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

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

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

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