Опт и розница: два прайса из одного файла

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

Мастер-файл: одна закупочная цена вместо двух таблиц

Главная причина путаницы — две «боевые» таблицы, которые правят руками. Оптовый файл обновили, розничный забыли; в розничном поправили формулу, в оптовом осталась старая. Через месяц никто не помнит, какая версия актуальна.

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

Мастер-файл с закупочной ценой: артикул, наименование, бренд, цена закупки, остаток
Мастер-файл: одна база для обоих внешних прайсов

Два шаблона с разными множителями

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

  1. «Колонки». Оставляете внешний набор: наименование, цена, остаток. Закупочную колонку переименовываете в «Цена», а служебные колонки — себестоимость, цену в валюте — удаляете, в каждом шаблоне отдельно.
  2. Действие «Умножить». На колонку цены: в шаблоне «опт» множитель ×1,25, в шаблоне «розница» — ×1,6. Числа здесь для примера, свои коэффициенты считайте от маржи и рынка.
  3. Действие «Округлить». Сразу после умножения — подробности в следующем разделе.
  4. «Экспорт». XLSX со значениями, без формул: ни множитель, ни закупочная цена в файл не попадают.

Если привычнее думать процентами, логика та же: ×1,25 — это наценка 25 %. Разбор формул, перевода процентов в коэффициент и типовых ошибок — в статье про процентную наценку.

Два шаблона конвертации с действием «Умножить» и разными множителями для опта и розницы
Два шаблона: одинаковые шаги, разные множители

Округление: для опта и розницы — по-разному

После умножения на 1,6 цена 1 487 ₽ превращается в 2 379,20. Копейки в прайсе выглядят как сбой, поэтому округление — обязательный шаг. Но округлять оба прайса одинаково не обязательно, и вот почему:

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

В обоих шаблонах «Округлить» должно стоять после «Умножить»: сначала точный расчёт, потом приведение к красивому виду. Если округлить закупочную цену до наценки, ошибка округления умножится вместе с ценой. Режимы округления и подводные камни разобраны в статье про округление цен.

Как не перепутать оптовый и розничный файлы

Дисциплина простая, но работает только целиком:

  • Имена файлов с типом и датой. «prajs-opt-2026-09-18.xlsx» и «prajs-roznica-2026-09-18.xlsx». Файл без типа в имени никуда не отправляется.
  • Шаблоны вместо памяти. Множитель и округление зашиты в шаблон: вы не вспоминаете коэффициент, а выбираете «опт» или «розница».
  • Оба файла из одной загрузки. Загрузили свежий мастер-прайс → применили «опт» → скачали → применили «розница» → скачали. Не «опт сегодня, розница завтра»: к завтра база уже другая, и файлы разъедутся.
  • Раздельная отправка. Оптовая рассылка и публикация розницы — разные действия, каждое с проверкой имени файла перед отправкой.

Контроль: розница должна быть выше опта

Раз розничный множитель больше оптового, неравенство выполняется автоматически. Но минутная проверка ловит две реальные ошибки:

  • Перепутанный шаблон. Если «розничный» файл собран шаблоном «опт», цены в нём ниже положенных. Возьмите три-четыре позиции из обоих файлов и сравните: при той же закупке розничная цена обязана быть выше оптовой.
  • Двойное умножение. Если в мастер-файл по ошибке попала не закупочная, а уже пересчитанная колонка, «Умножить» применится повторно и розница улетит в небеса. Та же выборочная сверка покажет аномалию.

Быстрый ручной тест: закупка 1 000 ₽ → опт около 1 250 ₽, розница около 1 600 ₽. Отклонение в разы видно сразу. Если категорий покупателей больше двух, схема масштабируется: добавляется шаблон «мелкий опт» со своим множителем. Смежный сценарий — прайс для дилеров в разных форматах из одного источника.

Два готовых файла на экспорте: оптовый и розничный прайсы с разными ценами
На выходе — два файла с разными ценами из одной базы

Частые вопросы

Какие множители ставить на опт и розницу?

Универсальных чисел нет: считайте от закупочной цены и своих затрат. Розничный коэффициент обычно заметно выше оптового, потому что в рознице больше расходов на сделку: эквайринг, упаковка, доставка до точки, возвраты. Итоговые цены проверяйте на конкурентность по рынку, а не только по формуле.

Что делать, если розничная цена получилась ниже оптовой?

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

Можно ли собрать из одного мастер-файла больше двух прайсов?

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

Как часто нужно пересобирать оба прайса?

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