Цена в интернет-магазине — не статичная цифра, а живой параметр. Поставщик поднял закупку — нужно поднять розницу. Начался сезон распродаж — нужны акции, которые сами включатся в полночь и выключатся через неделю. Пришёл новый прайс из 1С — цены должны обновиться, но не затереть акционные. Каждое из этих действий по отдельности несложно, но вместе они складываются в систему, где легко ошибиться: перезаписать цены обменом, забыть выключить акцию или поставить «кривое» округление. Именно поэтому переоценка цен в Битрикс и работа с акциями требуют не разовых кликов, а понятного процесса.
Эта статья — практический разбор управления ценами на 1С-Битрикс: как устроены типы цен и базовая цена, как делать массовое изменение цен по правилу и импортом, чем акция отличается от переоценки, как настроить акции по расписанию, как связать цены с обменом 1С и как защититься от ошибок. Материал из нашей практики разработки интернет-магазинов на 1С-Битрикс — по делу, без обещаний «магического роста маржи».
Коротко
- Переоценка меняет базовую цену навсегда; акция — временная скидка поверх базовой цены, которая сама откатывается.
- Массовое изменение цен делают групповым действием, правилом наценки на раздел/бренд или импортом прайса.
- Акции по расписанию держатся на датах начала и окончания и на агентах — при верном серверном времени включаются и выключаются сами.
- Если хозяин цены — 1С, обмен перезаписывает цены; акционные и ручные цены выносят в отдельный тип, чтобы их не затёрло.
Почему ценами нужно управлять системно
Пока в магазине десять товаров, цену можно править вручную в карточке. Как только счёт идёт на тысячи позиций, ручной подход рассыпается: невозможно поднять цены на весь бренд по одной карточке, невозможно вспомнить, какие акции включены, невозможно откатить ошибку, если её не зафиксировали. Управление ценами становится отдельной дисциплиной со своими инструментами и правилами.
Системный подход отвечает на четыре вопроса: откуда берётся цена (заводится на сайте или приходит из 1С), как её меняют массово (переоценка по правилу или импорт), как играют ценой на время (акции и скидки) и как не ошибиться (проверка, история, откат). Если ответы на них не проговорены заранее, магазин рано или поздно ловит одну из классических бед: цены разъехались с 1С, акция не выключилась, где-то встала «цена 0».
Что входит в управление ценами
- Базовое ценообразование. Типы цен, базовая цена, кто их источник — сайт или учётная система.
- Массовая переоценка. Наценка и скидка на раздел или бренд, импорт прайса, групповые действия каталога.
- Акции и скидки. Правила корзины, скидки на товар, распродажи по расписанию с автовключением.
- Контроль качества. Округление, история изменений, защита от ошибок и соблюдение МРЦ.
Типы цен и базовая цена
Всё управление ценами стоит на понятии типа цены. Тип цены — это отдельный «прайс» в торговом каталоге: розничная, оптовая, дилерская, закупочная. У одного товара одновременно может быть несколько типов цен, и это разные ценники на одной карточке. Один из типов назначается базовым — от него по умолчанию считаются скидки и наценки, и именно он чаще всего показывается покупателю как основная цена.
Базовая цена — это опорная точка для всех расчётов. Акции и правила корзины уменьшают именно её, а «старую» цену в карточке система берёт из базовой, чтобы показать выгоду. Если базовая цена задана неверно, вслед за ней поедет вся арифметика: скидки посчитаются не от того числа, а «было/стало» покажет неправду.
| Понятие | Что это | Роль в переоценке |
|---|---|---|
| Тип цены | Отдельный прайс в каталоге (розница, опт, закупка) | Единица, которую меняют переоценкой или обменом |
| Базовая цена | Тип цены, назначенный основным для расчётов | От неё считаются скидки и «старая» цена |
| Закупочная цена | Цена поступления от поставщика | Основа для расчёта наценки и контроля маржи |
| Акционная цена | Временная цена в рамках скидки/распродажи | Живёт поверх базовой, откатывается по расписанию |
Массовая переоценка: обзор способов
Массовое изменение цен — это когда одно действие меняет цены сразу у множества товаров. В 1С-Битрикс для этого есть несколько инструментов, и они не взаимозаменяемы: разовую акцию, регулярное обновление прайса и системную наценку на бренд делают по-разному. Выбор способа зависит от того, насколько часто и по какому принципу меняются цены.
| Способ | Как работает | Когда уместен |
|---|---|---|
| Групповое действие в каталоге | Выделяете товары по фильтру и применяете «изменить цену» на % или сумму | Разовая переоценка выборки: бренд, раздел, распродажный остаток |
| Правило наценки/скидки | Цена считается автоматически от закупочной по проценту для раздела или свойства | Систематическое ценообразование, где новые товары наследуют наценку |
| Импорт прайса (CSV/Excel) | Загрузка файла с новыми ценами по артикулам | Обновление от поставщика, если цены не идут через 1С |
| Обмен с 1С (CommerceML) | Цены выгружаются из учётной системы и перезаписывают сайт | Регулярное обновление, когда 1С — источник истины |
Практическое правило: чем регулярнее меняются цены, тем дальше от ручных кликов должен уходить процесс. Разовую распродажу удобно сделать групповым действием, но обновлять прайс поставщика вручную каждую неделю — путь к ошибкам. Систематику отдают правилам наценки и обмену, а руками правят только исключения.
Переоценка по правилу: наценка и скидка
Самый недооценённый инструмент — правила наценки. Вместо того чтобы задавать розничную цену вручную, вы описываете принцип: «в этом разделе розница = закупка + 40 %», «на этот бренд — наценка 25 %», «на распродажный раздел — минус 15 % от базовой». Дальше цена считается автоматически, а новые товары, попадающие под условие, сразу получают правильную цену.
Наценки и скидки можно привязывать к разным признакам, и от этого зависит гибкость системы:
- На раздел каталога. Наценка действует для всех товаров раздела и подразделов — удобно для товарных категорий с общей маржой.
- На бренд или производителя. Правило привязано к свойству «бренд», поэтому охватывает товары из разных разделов одного производителя.
- По правилу от закупки. Розница считается процентом или суммой от закупочной цены — так наценка не «отстаёт» при изменении закупки.
- Скидка на группу товаров. Временное снижение цены на выборку — например, на коллекцию прошлого сезона.
Ключевое преимущество правил — управляемость. Когда поставщик поднимает закупку, вам не нужно вручную пересчитывать тысячи розничных цен: если розница привязана к закупке процентом, она пересчитается автоматически при обновлении закупочной цены. Ручной труд остаётся только там, где цена по-настоящему индивидуальна.
Импорт цен и инструменты каталога
Когда цены приходят от поставщика файлом, а не через 1С, используют импорт прайса. Загружается таблица (CSV или Excel), где по артикулу или другому ключу сопоставляются товары, и новые цены применяются пачкой. Это быстрый способ обновить прайс, но у него есть тонкости, которые и порождают ошибки.
Ключ сопоставления. Импорт находит товар по артикулу, внешнему коду или другому уникальному полю. Если ключ неуникален или в файле опечатка, цена уедет не тому товару. Перед массовым импортом ключ проверяют на нескольких строках.
Формат и разделители. Классическая беда — цена «1 200,50», где запятая-разделитель дробной части и пробел-разделитель разрядов ломают парсинг. Итог — «цена 0» или обрезанное число. Формат файла согласуют с поставщиком заранее.
Что делать с отсутствующими. Решите заранее: если товара нет в новом прайсе, его цена остаётся прежней, обнуляется или он снимается с продажи. Молчаливое обнуление — источник «цены 0» на витрине.
- Согласуйте формат прайса. Кодировка, разделители, колонка-ключ, формат цены — до первого импорта, а не после.
- Сделайте резервную выгрузку. Сохраните текущие цены, чтобы был откат, если импорт пойдёт не так.
- Проверьте на выборке. Импортируйте несколько строк и убедитесь, что цены встали правильным товарам.
- Запустите полный импорт. Примените ко всему прайсу и проверьте на «цену 0» и аномалии.
- Сверьте контрольные позиции. Пройдитесь по десятку ключевых товаров глазами на витрине.
Акции и скидки: два разных механизма
Здесь кроется самая частая концептуальная ошибка. Переоценка и акция — разные вещи, хотя обе меняют цену на витрине. Переоценка меняет базовую цену навсегда: новое число становится ценой товара, пока его снова не поменяют. Акция — это временная скидка поверх базовой цены: она включается на период, показывает выгоду и по окончании исчезает, возвращая базовую цену.
Если провести распродажу переоценкой, после праздника цена не вернётся — базовая цена реально изменилась, и её придётся поднимать вручную обратно. Именно так магазины «забывают выключить акцию»: они и не включали акцию, они переписали цену. Правильный распродажный сценарий — это акция с датой окончания, которая откатывается сама.
| Признак | Переоценка | Акция / скидка |
|---|---|---|
| Что меняет | Саму базовую цену | Итоговую цену поверх базовой |
| Срок | Постоянно, до следующей переоценки | На заданный период |
| Откат | Только вручную новой переоценкой | Автоматически по дате окончания |
| «Старая» цена | Не сохраняется | Показывается как зачёркнутая |
| Когда применять | Постоянное изменение прайса | Распродажи, промо, временные скидки |
Скидка на товар против правила корзины
Внутри акций тоже есть развилка. Скидку можно оформить как скидку на товар (с базовой ценой и акционной ценой прямо в каталоге) или как правило работы с корзиной (скидка считается при формировании заказа по условиям). Они решают разные задачи, и выбор влияет на то, как выгода покажется покупателю.
| Критерий | Скидка на товар | Правило работы с корзиной |
|---|---|---|
| Где считается | В карточке и каталоге, на уровне цены товара | В корзине при оформлении заказа |
| Видна в списке | Да — «было/стало» прямо на витрине | Обычно только в корзине |
| Условия | Простые: конкретный товар/раздел на период | Гибкие: от суммы, количества, набора, промокода |
| Пример | «−20 % на эту модель до конца недели» | «−10 % на заказ от 5000 ₽», «3 по цене 2» |
| Показ выгоды в карточке | Наглядно: старая и новая цена | Слабее: скидка проявляется в корзине |
Практический ориентир: если нужно, чтобы выгода была видна прямо в каталоге и карточке товара («было 1500, стало 1200, −20 %»), это скидка на товар с акционной ценой. Если скидка зависит от корзины целиком (сумма, промокод, комплект), это правило работы с корзиной. Часто их комбинируют: постоянная витринная цена — скидкой на товар, а промо «от суммы» — правилом корзины. Важно только не забыть про приоритеты, иначе две скидки наложатся непредсказуемо.
Старая и новая цена в карточке
Чтобы в карточке появились зачёркнутая «старая» и актуальная «новая» цена, системе нужно знать обе величины. Она берёт базовую цену как «старую» и акционную как «новую», а разницу показывает как выгоду. Это работает только когда скидка оформлена как акция: при простой переоценке «старой» цены попросту нет — базовая цена уже равна новой.
Отсюда практический вывод: если вы хотите показывать «было/стало», нельзя менять базовую цену — нужно оставить её прежней и наложить акционную. Магазины, которые «просто поменяли цену на меньшую», потом удивляются, почему в карточке нет ни зачёркивания, ни процента выгоды. Ответ прост: они провели переоценку, а не акцию.
Акции по расписанию: даты и автоактивация
Главная ценность акционного механизма — работа по расписанию. У скидки задаются дата и время начала и окончания. Пока текущий момент попадает в интервал, скидка активна; за его пределами — не применяется. Это позволяет заранее подготовить распродажу, которая сама включится в нужную полночь и сама выключится, не требуя присутствия администратора.
За автоматику отвечают агенты и логика скидочного модуля, которая проверяет период при расчёте цены. Чтобы расписание работало надёжно, важны две вещи: корректное серверное время и рабочие агенты. Если время на сервере сбито или агенты не выполняются, акция может включиться не вовремя или «залипнуть» после окончания — отсюда классическая жалоба «распродажа кончилась, а скидка висит».
- Задайте период. Дата и время начала и окончания акции — обязательно оба конца.
- Проверьте серверное время. Часовой пояс и время сервера должны совпадать с тем, в котором вы мыслите акцию.
- Убедитесь, что агенты работают. Автовключение и выключение держатся на них; «мёртвые» агенты ломают расписание.
- Проверьте до и после. Посмотрите цену до старта, во время и после окончания — акция должна появиться и исчезнуть сама.
- Сбросьте кэш при старте. Убедитесь, что витрина показывает новую цену сразу, а не старую из кэша.
Округление и красивые цены
После массовой переоценки по проценту цены получаются «некрасивыми»: 1 517,40 ₽, 883,26 ₽. Покупатель ждёт аккуратный ценник, а бухгалтерия — предсказуемую копейку. Поэтому переоценку почти всегда дополняют округлением и приведением к «красивым ценам».
Округление настраивается по правилам: до рубля, до десятков, до «психологических» окончаний (990, 900, 99). Важно решить, в какую сторону округлять — вверх, вниз или к ближайшему — потому что округление вниз на большом каталоге незаметно съедает маржу, а округление вверх может увести цену выше конкурентов. Единое правило округления избавляет от ручной доводки каждого ценника.
- Точность. До рубля, до 10 рублей, до 100 — в зависимости от ценового диапазона товара.
- Направление. Вверх, вниз или к ближайшему; для розницы часто вверх до «красивого» окончания.
- Психологические окончания. Приведение к 990/900/99 — маркетинговый приём, который тоже автоматизируется правилом.
- Согласованность с 1С. Округление на сайте не должно расходиться с ценой в документе, иначе витрина и счёт разъедутся.
Разные цены для розницы, опта и групп
Управление ценами усложняется, когда у магазина несколько прайсов: розница, опт, дилеры. Тогда переоценка и акции применяются не к «цене вообще», а к конкретным типам цен, и важно не перепутать, какой из них вы меняете. Поднять розницу, не тронув оптовый прайс, — это переоценка одного типа цены при неизменных остальных.
Акции тоже могут быть адресными: скидка только для розничной группы, промо только для оптовиков, закрытая цена для дилеров. Механика прав доступа к типам цен и групп пользователей здесь та же, что и в базовом ценообразовании по группам. Мы разбираем её отдельно в статье про оптовые цены и цены по группам клиентов в 1С-Битрикс — если у вас несколько прайсов, начните с неё, чтобы переоценка не задела чужой тип цены.
Отдельный нюанс — лояльность и бонусы. Бонусные баллы, кэшбэк и накопительные скидки взаимодействуют с акционными ценами и требуют согласованных приоритетов, иначе покупатель получит скидку «поверх скидки» неожиданно для магазина. Как встроить программу лояльности рядом с ценами и акциями, мы описываем в материале про интеграцию программы лояльности и бонусов.
Обмен цен с 1С: кто хозяин цены
Как только настроен обмен с 1С, возникает главный вопрос архитектуры: кто хозяин цены. Ответ определяет, что произойдёт при следующей выгрузке. Если источник истины — 1С, обмен перезаписывает цены на сайте, и любые ручные правки в админке будут затёрты. Если часть цен ведётся на сайте, их нужно защитить от обмена.
Классическая беда звучит так: «перезаписали цены обменом». Администратор поставил акционную цену руками, а ночная выгрузка из 1С вернула старую — потому что для 1С этот тип цены хозяйский, и она честно его восстановила. Лечится это разделением: цены, которыми управляет 1С, и цены, которыми управляет сайт, живут в разных типах цен, и обмен трогает только свои.
| Сценарий | Кто хозяин | Что важно |
|---|---|---|
| Все цены из 1С | 1С перезаписывает всё | Не править цены руками — обмен затрёт |
| Базовая из 1С, акции на сайте | Разделение по типам цен | Акционный тип цены обмен не трогает |
| Все цены на сайте | Сайт — источник | Обмен передаёт цены в 1С, а не из неё |
Настройка обмена — отдельная большая тема: сопоставление типов цен, расписание выгрузки, защита от затирания и обработка ошибок. Подробное руководство — в статье про интеграцию магазина с 1С, а под ключ такой обмен мы делаем в рамках услуги интернет-магазин с интеграцией 1С.
История изменения цен и аудит
Массовая переоценка без истории — как бухгалтерия без проводок. Если что-то пошло не так, нужно знать, какая цена была раньше, кто и когда её менял, и иметь возможность откатиться. История изменения цен — это и защита от ошибок, и инструмент разбора конфликтов («почему у клиента в заказе одна цена, а на витрине другая»).
Что стоит фиксировать для аудита цен:
- Предыдущее и новое значение. Чтобы видеть, что именно изменилось, и иметь базу для отката.
- Источник изменения. Ручная правка, групповое действие, импорт или обмен с 1С — разные причины требуют разной реакции.
- Дата и автор. Кто и когда провёл переоценку, чтобы разобрать спорную ситуацию.
- Резервные выгрузки. Снимок прайса перед массовой операцией — самый простой способ отката, если истории на уровне каждого поля нет.
Даже если полноценного журнала изменения цен в проекте нет, минимальная дисциплина — резервная выгрузка прайса перед каждой массовой переоценкой — уже спасает от катастроф. Она превращает «мы всё сломали и не помним, как было» в «откатились из бэкапа за пять минут».
Защита от ошибок переоценки
Массовая переоценка опасна тем, что ошибка применяется сразу ко всему списку. Одно неверное правило — и тысячи товаров получают «цену 0», отрицательную цену или цену с лишним нулём. Защита строится не одной галочкой, а слоями, где каждый следующий ловит то, что пропустил предыдущий.
- Резервная копия. Перед любой массовой операцией — выгрузка текущих цен для отката.
- Тест на выборке. Правило сначала применяют к фильтру из нескольких товаров и проверяют результат.
- Проверки значений. Не допускать нулевых и отрицательных цен, ловить аномально низкие и высокие значения.
- Полное применение. Только после успешного теста — переоценка всего каталога.
- Контроль после. Проверка на «цену 0», сверка контрольных позиций, взгляд на витрину.
- Откат наготове. Если аномалии есть — быстрый возврат из резервной копии.
Отдельно стоит договориться, что делать при частичном сбое обмена. Если выгрузка из 1С прервалась на середине, часть цен обновилась, часть — нет. Хуже всего — молча опубликовать такой промежуточный результат. Правильная логика: неполный или подозрительный обмен не применяется к витрине, а сигнализирует об ошибке.
Демпинг и минимальная розничная цена
Многие бренды устанавливают минимальную розничную цену (МРЦ) — порог, ниже которого продавать нельзя по условиям договора. Соблюдение МРЦ — это обязательство перед поставщиком, а не техническая настройка платформы. Но сайт должен помогать его соблюдать, а не мешать: акции и массовая переоценка не должны случайно увести цену под МРЦ.
Как это отражают в управлении ценами:
- Порог в расчёте цены. Логику скидок можно ограничить так, чтобы итоговая цена не опускалась ниже заданного значения МРЦ.
- Проверка при переоценке. После массового изменения цен проверяют, что ни одна новая цена не ушла под порог бренда.
- Контроль акций. Скидка, наложенная на и без того низкую цену, — типичный способ случайно нарушить МРЦ; такие случаи ловят проверкой.
Важно по редполитике: само значение МРЦ и ответственность за него — вне платформы. Мы не советуем ни соблюдать, ни нарушать чьи-то ценовые политики — это ваши договорённости с поставщиком. Задача сайта — дать инструменты, чтобы принятое вами решение соблюдалось автоматически и переоценка не приводила к случайным нарушениям.
Динамическое ценообразование обзорно
За пределами ручной переоценки и расписаний лежит динамическое ценообразование — когда цена меняется автоматически по внешним сигналам: спросу, остаткам, ценам конкурентов, времени суток. Это отдельный большой класс задач, и относиться к нему стоит трезво: для большинства магазинов это не первоочередная, а скорее продвинутая история.
Обзорно, какие подходы встречаются:
- По остаткам. Снижение цены на залежавшийся товар, повышение — на дефицитный.
- По конкурентам. Автоматическая корректировка по данным мониторинга цен (парсинг, внешние сервисы).
- По спросу и сегменту. Разные цены для разных условий — но здесь особенно важна прозрачность и соответствие закону.
Технически всё это реализуется как правила и внешние источники данных, влияющие на расчёт цены. Но динамическое ценообразование требует надёжной базы: без порядка в типах цен, истории и защите от ошибок автоматика лишь ускорит хаос. Поэтому мы рекомендуем сначала навести порядок в переоценке и акциях, а к динамике переходить осознанно, когда фундамент устойчив.
Отображение выгоды покупателю
Правильно посчитанная цена — половина дела; вторая половина — как показать выгоду. Покупатель охотнее покупает, когда видит конкретную экономию: зачёркнутую старую цену, новую цену и величину скидки «−20 %» или «−300 ₽». Это работает, только если система знает обе цены, то есть скидка оформлена как акция.
Что помогает показать выгоду честно и наглядно:
- «Было / стало». Зачёркнутая базовая и актуальная акционная цена рядом — самый понятный формат.
- Процент или сумма выгоды. «−20 %» или «экономия 300 ₽» — в зависимости от того, что нагляднее в вашем диапазоне цен.
- Бейдж акции. Пометка «Акция», «Распродажа» с таймером до окончания усиливает эффект расписания.
- Честная старая цена. «Старая» цена должна быть реальной, а не завышенной перед распродажей — иначе это подрывает доверие и вопросы к добросовестности.
Как это реализуется технически
Соберём разрозненные механизмы в целостную картину. Управление ценами на 1С-Битрикс держится на нескольких технических опорах, и понимание, что за что отвечает, помогает не путать инструменты.
Типы цен и права. Основа — торговый каталог с типами цен и правами доступа. Переоценка и обмен работают на уровне конкретного типа цены, а не «цены вообще».
Правила работы с корзиной и скидки. Акции, промо и распродажи оформляются скидками на товар и правилами корзины с приоритетами и периодами действия.
Агенты и расписание. Автоматическое включение и выключение акций по датам обеспечивают агенты и cron; их работоспособность и серверное время — критичны для расписания.
Импорт и обмен. Массовое обновление цен идёт через импорт прайса или обмен по CommerceML с 1С, где заранее решено, кто хозяин цены.
Проверки и логирование. Защита от «цены 0», резервные выгрузки и история изменений превращают массовую переоценку из риска в управляемую операцию.
Собрать это в единый удобный процесс — задача не одной галочки, а продуманной настройки каталога, обмена и скидочной механики. Именно так мы выстраиваем управление ценами в проектах разработки интернет-магазинов на 1С-Битрикс, а всю рубрику по деньгам магазина — оплате, ценам и доставке — собираем в разделе «Оплата и доставка».
Частые ошибки в управлении ценами
Эти промахи повторяются из проекта в проект — зная их заранее, вы сэкономите себе нервы и не уведёте магазин в минус:
- Распродажу сделали переоценкой. Базовую цену поменяли вместо акции — после праздника цена не вернулась сама.
- Акция не выключилась. Нет даты окончания, сбито серверное время или не работают агенты — скидка висит после конца распродажи.
- Перезаписали цены обменом. Ручную цену затёрла выгрузка из 1С, потому что тип цены хозяйский для учётной системы.
- Округление кривое. Правило округляет не в ту сторону или расходится с 1С — на витрине «1 000,01 ₽» и споры с суммой заказа.
- «Цена 0» на витрине. Сбой импорта или обмена дал нулевую цену, а её тихо опубликовали — товар заказывают бесплатно.
- Массовую переоценку не проверили на выборке. Неверное правило применили сразу ко всему каталогу без теста и бэкапа.
- Скидки без приоритета. Скидка на товар и правило корзины наложились непредсказуемо, итоговая цена «гуляет».
- Нет истории и отката. Что-то сломали и не помнят, как было; резервной выгрузки не делали.
- Акция ушла под МРЦ. Скидка на низкую цену случайно нарушила порог бренда, потому что проверки не было.
Чек-лист переоценки и акций
Короткий список для безопасной работы с ценами — пройдитесь по нему перед массовой операцией и запуском акции:
- Типы цен разведены. Ясно, какой тип цены базовый, какие приходят из 1С, какие живут на сайте.
- Переоценка или акция. Для распродажи выбрана акция с датой окончания, а не переоценка базовой цены.
- Даты и время заданы. У акции есть начало и конец; серверное время и часовой пояс верны.
- Агенты работают. Автовключение и выключение по расписанию проверены.
- Округление настроено. Правило округления согласовано с 1С и проверено на крайних значениях.
- Хозяин цены определён. Обмен не затрёт акционные и ручные цены — они в отдельном типе.
- Резервная копия есть. Прайс выгружен до массовой переоценки, откат готов.
- Проверка на выборке пройдена. Правило протестировано на нескольких товарах до полного применения.
- Нет «цены 0». Каталог проверен на нулевые и аномальные цены после операции.
- Выгода показана честно. «Было/стало» и процент реальны; МРЦ не нарушена.
Вывод
Управление ценами на 1С-Битрикс — это не серия разовых кликов, а процесс, который держится на нескольких простых различиях. Переоценка меняет базовую цену навсегда, акция — временно и с автооткатом. Массовое изменение цен делают правилом наценки, импортом или обменом, а не руками по одной карточке. Хозяин цены определён заранее, поэтому обмен не затирает нужное. И на каждом шаге есть проверка, история и откат, чтобы ошибка не уехала на витрину.
Соберите эти элементы в понятный порядок — и переоценка перестанет быть страшной, а акции начнут включаться и выключаться сами. Магазин, где цены под контролем, не ловит «цену 0», не забывает выключить распродажу и не удивляется расхождению витрины с 1С. А покупатель видит честную выгоду ровно тогда, когда вы её задумали.