← Все статьи
Интеграции · 10.11.2026 · 11 мин

Почему цены на сайте расходятся с 1С и как это исправить

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

Почему цены на сайте расходятся с 1С и как это исправить

Расхождение цен с 1С — одна из самых дорогих проблем интеграции. Покупатель видит одну сумму, менеджер в учётной системе — другую, а на кассе или в счёте появляется третья. В итоге страдает конверсия, доверие и время сотрудников, которые вручную сверяют прайсы.

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

Откуда берётся расхождение

Два источника истины

Цену меняют и в 1С, и в админке сайта. При следующем обмене одно из изменений откатывается.

Задержка обмена

Цена в 1С уже новая, а на сайте ещё старая. Особенно заметно в акции и при ручных продажах.

Кэш без инвалидации

Страница или фрагмент каталога закэшированы и не сбрасываются после изменения цены.

Округление и НДС

Разные правила округления, включения налога и валюты дают расхождение в копейках или рублях.

Скидки и акции

Скидка настроена на сайте, но не передана в 1С, или наоборот. Итоговая цена расходится.

Ручные правки

Менеджер поправил цену в карточке, не понимая, что обмен её перезапишет.

Ошибка 1. Два источника истины

Если цену можно менять в двух местах, рано или поздно они разойдутся. Нужно выбрать единственный источник истины. Обычно это 1С или учётная система, а сайт получает цену только на чтение. Если бизнесу нужны ручные правки на сайте, они должны быть явно разрешены и не перезаписываться обменом.

На практике помогает журнал изменений: кто, когда и в какой системе поменял цену. Без него поиск причины превращается в угадывание.

Ошибка 2. Кэш без инвалидации

Кэш ускоряет каталог, но требует сброса по событиям. Если цена изменилась, а кэш карточки и категории остался прежним, покупатель увидит старую сумму. Особенно опасно, когда кэшируются целые страницы с фильтрами и сортировками.

Проверьте, как устроена инвалидация: по товару, по категории, по расписанию или вручную. Хорошая схема сбрасывает и карточку, и списки, где товар встречается.

Ошибка 3. Полная выгрузка вместо изменений

Полная выгрузка каждые несколько минут создаёт нагрузку и увеличивает окно, в котором данные уже устарели. Если обмен идёт долго, часть товаров обновится раньше, часть позже — и каталог будет выглядеть противоречиво.

Инкрементальный обмен по изменённым объектам уменьшает окно расхождения и позволяет чаще обновлять именно цены и остатки, не трогая весь каталог.

Ошибка 4. Разные правила округления и НДС

Иногда системы считают по-разному: одна хранит цену с НДС, другая без, одна округляет до рубля, другая до копейки. Внешне это выглядит как «сайт врёт», хотя каждая система считает правильно по своим правилам.

Зафиксируйте, в каком виде цена хранится в 1С, как передаётся и как отображается. Проверьте на товарах с разной стоимостью и ставкой НДС, а не на одном примере.

Ошибка 5. Скидки и акции живут отдельно

Акционная цена — частая точка конфликта. Скидка может быть настроена в маркетинговом модуле сайта, в 1С, в CRM или вручную. Если правила не согласованы, покупатель видит одну цену, а менеджер в счёте — другую.

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

Как найти причину

1
Возьмите конкретный товар

Сравните цену в 1С, в базе сайта, в админке и на витрине. Зафиксируйте все четыре значения и время замера.

2
Проверьте время обмена

Посмотрите, когда последний раз обновлялся товар и была ли очередь изменений. Возможно, цена просто ещё не доехала.

3
Сбросьте кэш

Если после сброса цена стала правильной, проблема в инвалидации, а не в интеграции.

4
Проверьте правила округления и НДС

Сравните не только число, но и то, как оно хранится и рассчитывается в каждой системе.

5
Проверьте акции

Уточните, какая цена должна победить при пересечении скидок и как это правило реализовано.

Как построить правильный обмен ценами

✓ Один источник истины для базовой цены.
✓ Отдельный поток для цен и остатков.
✓ Инкрементальный обмен по изменениям.
✓ Стабильные идентификаторы товаров и вариантов.
✓ Журнал изменений и время последней синхронизации.
✓ Сброс кэша после изменения цены.
✓ Единые правила округления и НДС.
✓ Понятный экран расхождений для поддержки.

Что делать менеджерам

  • Не менять цену в двух системах одновременно.
  • Перед ручной правкой уточнить, не перезапишет ли её обмен.
  • Сообщать о расхождениях с конкретным примером и временем.
  • Не запускать массовые акции без проверки на тестовом контуре.
  • Сверять итоговую цену в корзине и счёте, а не только в карточке.

Цены — это не только цифры, но и доверие. Если покупатель видит одну сумму в каталоге и другую в счёте, он не будет разбираться, кто ошибся. Поэтому порядок в обмене ценами окупается быстрее, чем кажется.

Как настроить мониторинг расхождений

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

✓ Сверка цен по выборке товаров раз в день.
✓ Алерт на задержку обмена больше заданного времени.
✓ Журнал изменений цены с источником и временем.
✓ Сравнение итоговой цены в корзине и в 1С.
✓ Отчёт по товарам с нулевой или отрицательной ценой.
✓ Проверка акционных цен после старта и окончания акции.
✓ Уведомление ответственному при росте ошибок.
✓ Ручной запуск сверки для поддержки.

Сверка не обязана проверять все 30 000 товаров каждую минуту. Достаточно выборки по категориям и товарам с высокой ценой, где ошибка заметнее всего.

Что делать в первый день после запуска

1
Проверить контрольные товары

Возьмите 10–20 товаров с разными ценами, скидками и ставками НДС и сравните все значения вручную.

2
Посмотреть журнал обмена

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

3
Сбросить кэш

Проверьте, что после сброса цены на витрине совпадают с базой, а не остаются старыми.

4
Проверить корзину и заказ

Сделайте тестовый заказ и сравните итоговую сумму с расчётом в 1С.

Типичные ошибки

  • Считать, что «обмен настроен» — значит «цены всегда верные».
  • Не проверять акционные и нулевые цены.
  • Игнорировать кэш при поиске расхождений.
  • Менять цену в двух системах и надеяться, что ничего не сломается.
  • Не хранить историю изменений и время последней синхронизации.

Если цена расходится редко, это не повод терпеть. Один неверный ценник в рекламе может стоить дороже, чем несколько дней настройки мониторинга.

Что делать с остатками

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

  • Обновляйте остатки чаще, чем каталог.
  • Показывайте понятный статус наличия.
  • Не принимайте заказ на товар, которого нет, без предупреждения.
  • Настройте алерт на массовое обнуление остатков.

Расхождение цен и остатков почти всегда заметно покупателю раньше, чем бизнесу. Поэтому мониторинг должен смотреть на витрину, а не только на логи обмена.

Как выбрать формат обмена ценами

Формат зависит от частоты изменений и возможностей 1С. Для небольших каталогов хватает регулярной выгрузки, для динамичных цен нужен более оперативный канал.

  • Периодическая выгрузка изменений — простой и предсказуемый вариант.
  • API — если нужна быстрая реакция на изменения.
  • Очередь — если важна надёжность и повторная обработка.
  • Прямое подключение к базе — только при наличии сильной поддержки.

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

И держите документацию актуальной. Схема потоков, форматы, правила приоритета и контакты ответственных должны быть доступны команде. Через полгода без документации даже простая интеграция превращается в загадку.

Разберём расхождения цен

Посмотрим обмен, кэш и правила округления. Найдём причину и предложим схему, при которой цена на сайте совпадает с 1С.

Обсудить интеграцию →

Вопросы и ответы

Почему цена на сайте обновилась не сразу? +

Скорее всего, обмен идёт по расписанию или стоит в очереди. Проверьте время последней синхронизации и задержку по потоку цен.

Можно ли менять цены в админке сайта? +

Можно, если это явно разрешено и обмен не перезаписывает ручные правки. Иначе появится второй источник истины и расхождения.

Что делать, если расходится только акционная цена? +

Проверьте, где рассчитывается скидка и как она передаётся. Часто акция настроена на сайте, но не учтена в 1С или наоборот.

Поможет ли полная выгрузка каждые пять минут? +

Обычно нет. Она создаёт нагрузку и увеличивает окно расхождения. Лучше передавать только изменения и отдельно обновлять цены и остатки.

Как быстро можно навести порядок? +

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

Кто должен быть источником истины для цены? +

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

Что делать с индивидуальными ценами для B2B? +

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