Расхождение цен с 1С — одна из самых дорогих проблем интеграции. Покупатель видит одну сумму, менеджер в учётной системе — другую, а на кассе или в счёте появляется третья. В итоге страдает конверсия, доверие и время сотрудников, которые вручную сверяют прайсы.
Причина почти никогда не одна. Обычно складываются несколько факторов: неверный источник истины, задержка обмена, кэш, разные правила округления и акции, которые живут отдельно от каталога. Ниже — как найти конкретную причину и построить процесс, при котором цены перестают «плавать».
Откуда берётся расхождение
Цену меняют и в 1С, и в админке сайта. При следующем обмене одно из изменений откатывается.
Цена в 1С уже новая, а на сайте ещё старая. Особенно заметно в акции и при ручных продажах.
Страница или фрагмент каталога закэшированы и не сбрасываются после изменения цены.
Разные правила округления, включения налога и валюты дают расхождение в копейках или рублях.
Скидка настроена на сайте, но не передана в 1С, или наоборот. Итоговая цена расходится.
Менеджер поправил цену в карточке, не понимая, что обмен её перезапишет.
Ошибка 1. Два источника истины
Если цену можно менять в двух местах, рано или поздно они разойдутся. Нужно выбрать единственный источник истины. Обычно это 1С или учётная система, а сайт получает цену только на чтение. Если бизнесу нужны ручные правки на сайте, они должны быть явно разрешены и не перезаписываться обменом.
На практике помогает журнал изменений: кто, когда и в какой системе поменял цену. Без него поиск причины превращается в угадывание.
Ошибка 2. Кэш без инвалидации
Кэш ускоряет каталог, но требует сброса по событиям. Если цена изменилась, а кэш карточки и категории остался прежним, покупатель увидит старую сумму. Особенно опасно, когда кэшируются целые страницы с фильтрами и сортировками.
Проверьте, как устроена инвалидация: по товару, по категории, по расписанию или вручную. Хорошая схема сбрасывает и карточку, и списки, где товар встречается.
Ошибка 3. Полная выгрузка вместо изменений
Полная выгрузка каждые несколько минут создаёт нагрузку и увеличивает окно, в котором данные уже устарели. Если обмен идёт долго, часть товаров обновится раньше, часть позже — и каталог будет выглядеть противоречиво.
Инкрементальный обмен по изменённым объектам уменьшает окно расхождения и позволяет чаще обновлять именно цены и остатки, не трогая весь каталог.
Ошибка 4. Разные правила округления и НДС
Иногда системы считают по-разному: одна хранит цену с НДС, другая без, одна округляет до рубля, другая до копейки. Внешне это выглядит как «сайт врёт», хотя каждая система считает правильно по своим правилам.
Зафиксируйте, в каком виде цена хранится в 1С, как передаётся и как отображается. Проверьте на товарах с разной стоимостью и ставкой НДС, а не на одном примере.
Ошибка 5. Скидки и акции живут отдельно
Акционная цена — частая точка конфликта. Скидка может быть настроена в маркетинговом модуле сайта, в 1С, в CRM или вручную. Если правила не согласованы, покупатель видит одну цену, а менеджер в счёте — другую.
Определите, где рассчитывается итоговая цена и как она передаётся. Если акция временная, нужна дата начала и окончания, а также автоматический возврат к базовой цене.
Как найти причину
Сравните цену в 1С, в базе сайта, в админке и на витрине. Зафиксируйте все четыре значения и время замера.
Посмотрите, когда последний раз обновлялся товар и была ли очередь изменений. Возможно, цена просто ещё не доехала.
Если после сброса цена стала правильной, проблема в инвалидации, а не в интеграции.
Сравните не только число, но и то, как оно хранится и рассчитывается в каждой системе.
Уточните, какая цена должна победить при пересечении скидок и как это правило реализовано.
Как построить правильный обмен ценами
Что делать менеджерам
- Не менять цену в двух системах одновременно.
- Перед ручной правкой уточнить, не перезапишет ли её обмен.
- Сообщать о расхождениях с конкретным примером и временем.
- Не запускать массовые акции без проверки на тестовом контуре.
- Сверять итоговую цену в корзине и счёте, а не только в карточке.
Цены — это не только цифры, но и доверие. Если покупатель видит одну сумму в каталоге и другую в счёте, он не будет разбираться, кто ошибся. Поэтому порядок в обмене ценами окупается быстрее, чем кажется.
Как настроить мониторинг расхождений
Даже при хорошей интеграции нужен контроль. Регулярная сверка помогает поймать проблему до жалобы клиента и понять, что именно ломается: обмен, кэш или правила расчёта.
Сверка не обязана проверять все 30 000 товаров каждую минуту. Достаточно выборки по категориям и товарам с высокой ценой, где ошибка заметнее всего.
Что делать в первый день после запуска
Возьмите 10–20 товаров с разными ценами, скидками и ставками НДС и сравните все значения вручную.
Убедитесь, что изменения применяются, ошибок нет, а задержка укладывается в ожидания.
Проверьте, что после сброса цены на витрине совпадают с базой, а не остаются старыми.
Сделайте тестовый заказ и сравните итоговую сумму с расчётом в 1С.
Типичные ошибки
- Считать, что «обмен настроен» — значит «цены всегда верные».
- Не проверять акционные и нулевые цены.
- Игнорировать кэш при поиске расхождений.
- Менять цену в двух системах и надеяться, что ничего не сломается.
- Не хранить историю изменений и время последней синхронизации.
Если цена расходится редко, это не повод терпеть. Один неверный ценник в рекламе может стоить дороже, чем несколько дней настройки мониторинга.
Что делать с остатками
Цены и остатки связаны: если товара нет, а цена висит, покупатель оформляет заказ и получает отказ. Остатки стоит обновлять отдельным потоком и показывать понятный статус, а не скрывать проблему до звонка менеджера.
- Обновляйте остатки чаще, чем каталог.
- Показывайте понятный статус наличия.
- Не принимайте заказ на товар, которого нет, без предупреждения.
- Настройте алерт на массовое обнуление остатков.
Расхождение цен и остатков почти всегда заметно покупателю раньше, чем бизнесу. Поэтому мониторинг должен смотреть на витрину, а не только на логи обмена.
Как выбрать формат обмена ценами
Формат зависит от частоты изменений и возможностей 1С. Для небольших каталогов хватает регулярной выгрузки, для динамичных цен нужен более оперативный канал.
- Периодическая выгрузка изменений — простой и предсказуемый вариант.
- API — если нужна быстрая реакция на изменения.
- Очередь — если важна надёжность и повторная обработка.
- Прямое подключение к базе — только при наличии сильной поддержки.
Не выбирайте формат «на вырост», если он усложняет поддержку без пользы. Лучше простой обмен с мониторингом, чем сложный, который никто не понимает.
И держите документацию актуальной. Схема потоков, форматы, правила приоритета и контакты ответственных должны быть доступны команде. Через полгода без документации даже простая интеграция превращается в загадку.
Посмотрим обмен, кэш и правила округления. Найдём причину и предложим схему, при которой цена на сайте совпадает с 1С.
Обсудить интеграцию →