ФиксИнтернет-магазин на 1С-Битрикс под ключ за 30 дней по фиксированной цене

Интеграция с 1С:Розница и офлайн-магазином на 1С-Битрикс: омниканальность

Схема омниканальности на 1С-Битрикс: сайт, офлайн-точки и касса связаны с 1С:Розница — единые остатки, цены, клиент и лояльность

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

Это подробное руководство о том, как связать онлайн и офлайн-магазин на Битриксе в единую систему: что такое омниканальность на практике, как устроен обмен с 1С:Розница, как показать наличие по конкретной точке, настроить самовывоз и click&collect, сделать единую программу лояльности и карты между кассой и сайтом, единую историю покупок и возвраты в любой точке. Разберём роль РМК и касс, отличия 1С:Розница от УТ и УНФ и частые проблемы вроде расхождения остатков точки и разных баз клиентов. Материал основан на нашей практике разработки магазинов с интеграцией 1С — по делу, без маркетинговых обещаний.

Коротко

  • Омниканальность — это единый магазин для покупателя: общие остатки, цены, клиент, история покупок и лояльность между сайтом, точками и кассой.
  • Офлайн-продажи ведёт 1С:Розница (кассы, РМК, карты, остатки по точкам); обмен с сайтом идёт по тому же стандарту CommerceML, что у УТ и УНФ.
  • Каждая точка заводится на сайте складом, и наличие показывается в разрезе магазинов — «единые остатки точки».
  • Самовывоз и click&collect держатся на честных остатках по точке, надёжном резерве и обмене статусами.
  • Единая лояльность и единый клиент работают, только когда покупатель опознаётся одинаково во всех каналах, а бонусный счёт один на всех.

Что такое омниканальность для магазина

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

Для магазина на 1С-Битрикс с офлайн-точками это означает связать четыре вещи в единое целое: единый клиент, единые остатки, единые цены и единую лояльность. Не «сайт отдельно, магазины отдельно», а один магазин с разными точками контакта.

Четыре опоры омниканальности

Что омниканальность даёт покупателю и бизнесу

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

Один покупатель — все каналы Сайт на Битрикс каталог · заказы онлайн Офлайн-точки магазины · самовывоз Касса · РМК чеки · карта · бонусы 1С:Розница остатки точек · продажи · клиенты Единый клиент · остатки · цены · лояльность
Схема: сайт, офлайн-точки и касса сходятся в 1С:Розница и через неё — в единый профиль клиента с общими остатками, ценами и лояльностью. Это и есть омниканальность.

1С:Розница: чем отличается от УТ и УНФ

Для омниканального магазина важно понимать, какая конфигурация 1С за что отвечает. 1С:Розница — это типовая конфигурация, заточенная под работу розничных магазинов: продажи через кассу и рабочее место кассира (РМК), учёт по чекам контрольно-кассовой техники, эквайринг, дисконтные и бонусные карты, учёт остатков и ассортимента по конкретным торговым точкам. Её родная задача — «магазин у прилавка», а не оптовый склад и не производство.

УТ (Управление торговлей) сильна в оптовой и мультискладской торговле, гибком ценообразовании и работе с контрагентами. УНФ (Управление нашей фирмой) — упрощённый «всё в одном» для малого бизнеса. ERP — тяжёлый контур для крупных предприятий с производством и финансами. Ключевой момент: протокол обмена с сайтом у всех один — CommerceML, поэтому «как связать с Битриксом» решается принципиально одинаково. Отличается розничная логика: у Розницы она развита сильнее всех — именно поэтому омниканальные сценарии «онлайн + касса» естественнее строятся на ней.

Признак1С:Розница1С:УТ1С:УНФ
Родная задачаРозничные магазины и кассыОптовая и мультискладская торговляМалый бизнес «всё в одном»
Касса и РМКВ центре: РМК, чеки ККТ, эквайрингОграниченноПростая розница
Учёт по точкамОстатки и ассортимент по магазинамПо складамПростой складской учёт
Карты и лояльностьРазвитая: дисконт, бонусы, картыБазово / через связкуБазово
Обмен с сайтомCommerceML, штатноCommerceML, штатноCommerceML, штатно
Типичная роль в схемеФронт офлайн-продаж в точкахЦентр консолидации / оптУчёт всей фирмы целиком

На практике в сети магазинов Розница часто работает не одна: в каждой точке (или на центральном сервере) она ведёт продажи и остатки, а сверху стоит центральная учётная система — УТ или ERP, — которая консолидирует данные всех точек, ведёт закупки и общий каталог. Тогда сайт может обмениваться либо напрямую с Розницей, либо с центральной системой — в зависимости от того, где «живут» нужные данные. Общие принципы файлового обмена по CommerceML — те же, что мы разбирали в руководстве по интеграции магазина с 1С, а специфику упрощённого учёта — в статье про интеграцию с 1С:УНФ.

Что синхронизируется между Битрикс и 1С:Розница

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

ДанныеНаправлениеЗачем в омниканальности
Номенклатура и группы1С → сайтЕдиный каталог на витрине и в точках
Цены (в т.ч. по точкам/регионам)1С → сайтСогласованные цены онлайн и офлайн
Остатки по торговым точкам1С → сайтНаличие по конкретному магазину, самовывоз
Заказы с сайта (в т.ч. самовывоз)сайт → 1СРезерв и сборка в выбранной точке
Статусы заказа и готовность к выдаче1С → сайтПокупатель видит «готов к выдаче»
Клиенты и карты лояльностисайт ↔ 1СЕдиный профиль и опознание во всех каналах
Бонусы: начисление и списаниесайт ↔ 1СЕдиный счёт: копишь онлайн — тратишь офлайн
Продажи через кассу (история)1С → сайтЕдиная история покупок в личном кабинете

Обратите внимание: часть потоков здесь двусторонние (клиенты, карты, бонусы), а не только «1С → сайт», как в простом каталожном обмене. Именно двусторонние потоки — клиент и лояльность — сложнее всего, потому что данные могут меняться с обеих сторон и требуют правил, кто «хозяин» и как разрешать конфликты. Об этом — в разделах про единого клиента и лояльность.

Обмен с 1С:Розница по CommerceML

Транспорт омниканальной связки на базовом уровне тот же, что у любого обмена 1С с Битриксом, — стандарт CommerceML. Это открытый формат обмена коммерческой информацией на базе XML, который и Розница, и модуль «Интернет-магазин» в 1С-Битрикс понимают штатно. Каталог и торговые предложения выгружаются в XML-пакеты, передаются на адрес обработчика сайта, а встречным пакетом забираются заказы. Инициатор обмена — 1С: она по расписанию «толкает» данные на сайт и забирает заказы.

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

Почему это пакетный, а не мгновенный обмен

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

1С:Розница кассы · остатки точек карты · продажи Сайт на 1С-Битрикс каталог · витрина заказы · кабинет каталог · цены · остатки по точкам заказы · самовывоз в точке CommerceML + обмен клиентами и бонусами
Схема: каталог, цены и остатки точек едут на сайт штатным CommerceML, заказы возвращаются в Розницу, а поверх базового обмена проектируют омниканальную надстройку — единого клиента и бонусы.

Единый клиент: онлайн и офлайн в одном профиле

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

По какому признаку опознавать покупателя

Нужен стабильный идентификатор, одинаковый онлайн и офлайн. Чаще всего это номер телефона: его называют на кассе, вводят при оформлении заказа, к нему привязывают карту. Реже — номер карты лояльности или единый внутренний идентификатор клиента. Главное — определить один ведущий признак и договориться, что именно по нему две системы сводят записи в одного человека. Если сегодня клиента ищут по телефону, завтра по email, а послезавтра по карте, неизбежны задвоения.

Мастер-система для клиента и дедупликация

Клиентские данные могут меняться с обеих сторон: человек зарегистрировался на сайте, а потом пришёл на кассу и назвал телефон; или наоборот, кассир завёл карту, а клиент позже создал личный кабинет. Поэтому важно определить мастер-систему для клиента — где хранится «истина» о профиле, — и правила дедупликации: как система понимает, что «Иван по телефону +7…» с сайта и «Иванов И.» с кассы — один человек, и не создаёт двойников. Это отдельная, довольно тонкая тема; мы разбираем её в статье про синхронизацию клиентской базы — для омниканальной розницы действуют те же принципы, только каналов больше.

Согласие на обработку данных — во всех каналах. Единый клиент означает, что персональные данные покупателя ходят между сайтом, кассой и учётной системой. Убедитесь, что согласие на обработку персональных данных и правила их хранения корректны для каждого канала, а не только для сайта. Это вопрос не техники, а соответствия закону — его проговаривают до объединения баз, а не после.

Единые остатки и наличие по конкретной точке

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

Механика такая: в 1С:Розница остатки ведутся по торговым точкам (магазинам). Обмен передаёт их на сайт в разрезе складов, где каждый склад — это конкретная точка. Тогда на витрине можно показать наличие по магазинам, а не одно суммарное число. Это и есть «единые остатки точки»: покупатель видит, что товар есть на Тверской, но нет на Ленинском, и выбирает, куда ехать или откуда забрать самовывозом.

Физический остаток против доступного количества

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

Варианты отображения наличия по точкам

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

Остатки в разрезе торговых точек 1С:Розница остатки по магазинам Магазин на Тверской в наличии: 8 шт Магазин на Ленинском под заказ Магазин в ТЦ «Север» нет в наличии На сайт выводится доступное количество по каждой точке — покупатель выбирает, где забрать
Схема: 1С:Розница передаёт остатки по каждой торговой точке, и на сайте наличие показывается отдельно для каждого магазина — «единые остатки точки».

Склады-точки на сайте: как это устроено

Чтобы наличие по точкам заработало, каждую офлайн-точку заводят на сайте как отдельный склад модуля «Интернет-магазин». Магазин на Тверской — склад, магазин на Ленинском — склад, распределительный центр — тоже склад. Обмен с 1С:Розница передаёт остатки в разрезе этих складов, а витрина, самовывоз и резерв опираются на них.

Что настраивают на уровне складов-точек

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

Цены по точкам и регионам

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

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

Практические правила для цен по регионам

Цена не должна «прыгать» при смене города. Если покупатель меняет город или точку и видит другую цену без объяснения, это воспринимается как обман. Либо держите единую онлайн-цену и различайте только наличие по точкам, либо честно и заметно поясняйте, что цена зависит от выбранного магазина. Молчаливый разнобой цен — прямой путь к потере доверия.

Роль РМК и касс в омниканальности

Рабочее место кассира (РМК) в 1С:Розница — это точка, где офлайн-продажа физически происходит и фиксируется. Для омниканальности касса важна не сама по себе, а как источник и потребитель общих данных: именно здесь пробивается чек, списывается товар со склада точки, начисляются и списываются бонусы, опознаётся клиент по телефону или карте. Всё, что происходит на кассе, должно доходить до сайта, и наоборот — данные с сайта должны быть доступны кассиру.

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

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

Самовывоз и click&collect: заказ онлайн — забрать в магазине

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

Как проходит click&collect по шагам

  1. Выбор товара и точки. Покупатель видит наличие по магазинам и выбирает точку, где товар есть в наличии прямо сейчас.
  2. Оформление с самовывозом. В заказе указывается способ получения «самовывоз» и конкретная точка; заказ уходит в 1С:Розница с привязкой к ней.
  3. Резерв в точке. В точке создаётся резерв на позиции заказа, и они вычитаются из доступного остатка — чтобы их не пробили на кассе другому покупателю.
  4. Сборка сотрудником. Сотрудник магазина видит заказ, откладывает товар и подтверждает готовность.
  5. Статус «готов к выдаче». Статус возвращается на сайт, покупатель получает уведомление, что можно приезжать.
  6. Выдача и продажа. Покупатель забирает заказ, продажа пробивается через кассу точки, начисляются бонусы, цикл закрывается.

Каждый шаг здесь опирается на общие данные: наличие по точке, резерв, обмен статусами. Если хотя бы одно звено «фальшивит» — остаток неверный, резерв не создался, статус не вернулся, — сценарий ломается. Механику самовывоза и резервирования на стороне сайта мы подробно разбираем в статье про самовывоз и резервирование в 1С-Битрикс — рекомендуем прочитать её перед настройкой click&collect.

Заказ онлайн → забрать в магазине Сайт заказ + точка Точка · Розница резерв товара Сборка готов к выдаче Выдача · касса продажа + бонусы Статус «готов к выдаче» возвращается покупателю на сайт
Схема click&collect: заказ с сайта уходит в точку, там товар резервируется и собирается, статус «готов к выдаче» возвращается покупателю, а получение фиксируется на кассе с начислением бонусов.

Резерв в точке: чтобы товар дождался покупателя

Резерв — незаметная, но критичная механика самовывоза. Когда покупатель оформил click&collect, между моментом заказа и моментом выдачи проходит время: минуты, часы, иногда день. Всё это время товар должен «дождаться» клиента и не быть проданным на кассе кому-то ещё. Для этого позиции заказа резервируются в конкретной точке и вычитаются из доступного к продаже остатка.

Что нужно решить про резерв

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

Единая программа лояльности: бонусы и карты

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

Где живёт единый бонусный счёт

Ключевой вопрос — где хранится «истина» о балансе бонусов. Вариантов несколько: бонусный счёт ведётся в 1С:Розница (или в центральной учётной системе), либо во внешнем сервисе лояльности, к которому обращаются и сайт, и касса. Главное правило — счёт должен быть один. Если бонусы копятся отдельно на сайте и отдельно на кассе, а потом их пытаются «сложить», начинаются расхождения и споры с покупателями. Единый источник баланса, к которому обращаются оба канала, — обязательное условие.

Начисление и списание без задвоений

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

Правила начисления (процент, категории, акции), сгорание бонусов, ограничения на долю оплаты бонусами — всё это описывают заранее и держат в одном месте, чтобы они одинаково действовали онлайн и офлайн. Детальную механику начисления и списания, а также подводные камни мы разбираем в отдельной статье про интеграцию лояльности и бонусов в 1С-Битрикс — для омниканальной розницы это обязательное чтение.

Одна карта · один бонусный счёт Сайт копит за онлайн-заказ Касса · РМК тратит в офлайне Единый бонусный счёт начисление · списание в одном месте Покупатель опознаётся по телефону или карте одинаково в обоих каналах
Схема: сайт и касса обращаются к одному бонусному счёту. Покупатель копит бонусы за онлайн-заказ и тратит их в офлайне — при условии, что он опознаётся одинаково в обоих каналах.

Единая история покупок клиента

Единая история покупок — прямое следствие единого клиента и единого бонусного счёта. Если покупатель опознаётся одинаково во всех каналах, а продажи с кассы и заказы с сайта сходятся в один профиль, в личном кабинете можно показать всю историю: и онлайн-заказы, и офлайн-покупки в магазинах. Это удобно клиенту (видит все свои покупки, чеки, гарантии) и полезно бизнесу (полная картина поведения покупателя для аналитики и персональных предложений).

Как собирается единая история

Здесь снова упирается всё в опознание клиента: покупка на кассе попадёт в историю только если кассир ввёл телефон или клиент предъявил карту. Часть офлайн-покупок неизбежно остаётся «анонимной» — когда человек не назвался. Это нормально: единая история собирает то, что удалось связать с профилем, и чем удобнее опознание на кассе, тем полнее история. Технически передача офлайн-продаж на сайт — это отдельный поток данных, который проектируют вместе с обменом клиентами.

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

Возвраты в любой точке

Возможность вернуть покупку в любой удобной точке — вершина омниканальности и одновременно самый «неудобный» для учёта сценарий. Купил онлайн — вернул в магазине; купил в одном магазине — вернул в другом. Для покупателя это высший комфорт, но за ним стоит серьёзная работа с учётом, кассой и лояльностью, а не только обмен данными.

Что должно сойтись при возврате в любой точке

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

Онлайн против офлайна: что общее, что разное

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

АспектОнлайн (сайт)Офлайн (точка, касса)
КаталогЕдиный, из учётной системыЕдиный, из учётной системы
КлиентЕдиный профильТот же профиль (по телефону/карте)
Бонусный счётЕдиныйЕдиный
ОстаткиДоступное по точкам и складамФизический остаток точки
Оформление продажиЗаказ на сайтеЧек на кассе (РМК)
Получение товараДоставка или самовывозСразу в руки в точке
ОплатаОнлайн-оплата, при полученииКасса, эквайринг
Скорость изменения остаткаОбновляется по обменуМеняется в реальном времени

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

Настройка обмена на стороне 1С:Розница

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

  1. Наведите порядок в номенклатуре и точках. Товары разложены по группам без дублей; торговые точки заведены корректно; определено, остатки каких точек уходят на сайт.
  2. Определите мастер-системы. Решите, где ведётся каталог, где — остатки по точкам, где — клиент и бонусный счёт (в Рознице, центральной УТ/ERP или внешнем сервисе лояльности).
  3. Настройте узел обмена с сайтом. Укажите адрес обработчика на сайте, доступ, состав выгрузки, какие цены и остатки каких точек передавать.
  4. Настройте цены по точкам/регионам. Заведите нужные виды цен и сопоставьте их с типами цен сайта; продумайте, какая цена показывается при самовывозе.
  5. Спроектируйте обмен клиентами и бонусами. Определите признак опознания клиента, правила дедупликации и единый источник бонусного счёта — это отдельная логика поверх CommerceML.
  6. Задайте расписание. Настройте регламентные задания: остатки точек — часто, цены — по изменению, каталог — ночью, заказы — почти в реальном времени.

Настройка обмена на стороне 1С-Битрикс

Встречная часть — на сайте. Здесь важно, чтобы каталог, склады-точки и логика наличия были готовы принять розничные данные.

  1. Проверьте модуль «Интернет-магазин». Каталог реализован на инфоблоке с торговым каталогом и торговыми предложениями, есть модуль заказов.
  2. Заведите склады-точки. Каждая офлайн-точка — отдельный склад с адресом, режимом работы и геопривязкой; служебные склады исключены из наличия.
  3. Подготовьте типы цен. Заведите типы цен под виды цен Розницы, привяжите их к городам/точкам и группам пользователей.
  4. Настройте отображение наличия по точкам. Выберите формат (список точек, наличие для города, суммарно + детализация) и выводите доступное количество, а не физический остаток.
  5. Настройте самовывоз и резерв. Включите способ получения «самовывоз» с выбором точки, логику резерва и статусы «в сборке / готов к выдаче».
  6. Согласуйте маппинг. Проверьте соответствия: группы → разделы, номенклатура → элементы, точки → склады, виды цен → типы цен, клиент → профиль, статусы заказа.
  7. Защитите поля сайта. Исключите из перезаписи продающие описания, SEO и галерею, чтобы обмен их не затирал.

Первый пробный обмен — только на копии

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

Разворачивайте омниканальность поэтапно. Не пытайтесь включить всё сразу. Разумный порядок: сначала единый каталог, цены и остатки по точкам; затем самовывоз и click&collect; затем единый клиент и лояльность; и только в конце — единая история и возвраты в любой точке. Каждый этап отлаживают на копии и проверяют в бою, прежде чем браться за следующий. Так вы не утонете в потоках данных и не сорвёте запуск.

Расписание обмена для омниканальности

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

Такое разделение снимает нагрузку и держит критичные данные свежими. На стороне Битрикса под тяжёлый обмен поднимают лимиты PHP и защищают витрину кэшированием и композитом, чтобы обмен не влиял на скорость каталога. Отдельно стоит заложить надёжность самого обмена: если сеанс упал, критичные потоки (остатки, заказы) не должны «встать» надолго. Про очереди и устойчивость интеграций у нас есть отдельный разбор в рубрике «Интеграции».

Частые проблемы омниканальности и как их лечить

Часть проблем повторяется в омниканальных проектах из раза в раз. Разберём типовые симптомы и причины — так их проще узнать и устранить.

Если обмен сломался, порядок такой: посмотреть протокол последнего сеанса и найти ошибку, проверить доступность обработчика и корректность доступа, убедиться, что справочники и маппинг в порядке, и перезапустить. Хорошо настроенный обмен идемпотентен — повторный сеанс обновляет данные, а не плодит дубли, поэтому перезапуск безопасен.

Частые ошибки при построении омниканальности

Большинство ошибок повторяются из проекта в проект. Зная их заранее, вы сэкономите недели отладки и сохранените доверие покупателей:

Чек-лист перед запуском

Короткий список, по которому удобно свериться до включения омниканального обмена на боевом сайте:

Когда омниканальность нужна, а когда нет

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

Когда омниканальность точно нужна

Когда можно повременить

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

Вывод

Омниканальность на 1С-Битрикс — это не отдельная кнопка, а состояние, когда сайт, офлайн-точки и касса опираются на общие данные: единый клиент, единые остатки по точкам, согласованные цены и единую программу лояльности. Технически фундамент строится на интеграции с 1С:Розница (и, как правило, центральной учётной системой) по стандарту CommerceML: каталог, цены и остатки точек едут на сайт штатным обменом, заказы и самовывоз возвращаются в точку, а поверх проектируется омниканальная надстройка — единый клиент, карты и бонусы.

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

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

Что такое омниканальность для интернет-магазина простыми словами?

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

Чем 1С:Розница отличается от 1С:УТ и 1С:УНФ для интеграции с сайтом?

1С:Розница — конфигурация, заточенная именно под розничную торговлю в магазинах: рабочее место кассира (РМК), учёт продаж по чекам ККТ, эквайринг, дисконтные и бонусные карты, учёт остатков по конкретным торговым точкам. УТ — про оптовую и мультискладскую торговлю, УНФ — упрощённый «всё в одном» для малого бизнеса. Для сайта транспорт у всех один — стандарт CommerceML, — но у Розницы сильнее развита именно розничная логика: продажи через кассу, лояльность, разрез по магазинам-точкам. Поэтому омниканальные сценарии «онлайн + касса» естественнее строятся именно на Рознице, часто в связке с центральной УТ или ERP, которая консолидирует данные всех точек.

Как на сайте показать наличие товара в конкретном магазине?

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

Как работает «заказ онлайн — забрать в магазине» (click&collect)?

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

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

Да, это и есть смысл единой программы лояльности. Карта, бонусный счёт и правила начисления живут в одной системе (в 1С:Розница или в центральной учётной системе / внешнем сервисе лояльности), а сайт и касса обращаются к этому единому счёту. Покупатель копит бонусы за онлайн-заказ и тратит их в офлайне — и наоборот. Чтобы это работало без задвоений, клиент должен опознаваться одинаково во всех каналах (по телефону, карте или единому идентификатору), а списание бонусов лучше проводить через единый источник, чтобы два канала не списали один и тот же баланс дважды. Механику начисления и списания мы подробно разбираем в отдельной статье про интеграцию лояльности.

Можно ли вернуть онлайн-заказ в офлайн-магазине и наоборот?

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

Почему остатки в точке на сайте расходятся с реальностью и как это лечить?

Главная причина — скорость: в офлайн-магазине продажи идут через кассу постоянно, а обмен передаёт остатки на сайт по расписанию, пакетами. Между двумя сеансами точка успевает распродать позицию, а сайт ещё показывает её в наличии. Лечится это учащением обмена остатками именно розничных точек, выводом доступного (а не физического) количества, честным резервом под онлайн-заказы и, для ходовых позиций, аккуратной формулировкой наличия («мало», «уточните»). Полностью убрать задержку в пакетном обмене нельзя, но можно сделать её незаметной для покупателя и заложить буфер по критичным товарам.

С чего начать построение омниканальности, если сейчас сайт и магазины живут отдельно?

С наведения порядка в данных и с выбора «мастер-системы» для каждого типа данных. Сначала решают, где ведётся единый каталог, где — остатки по точкам, где — единый клиент и бонусный счёт. Обычно каталог, цены и остатки идут из учётной системы (1С:Розница и/или центральная УТ), клиент и лояльность — из единого источника, а сайт показывает всё это и принимает заказы. Дальше офлайн-точки заводят складами на сайте, настраивают обмен по CommerceML, отлаживают его на тестовой копии и только потом включают самовывоз, единую лояльность и общую историю покупок. Идти лучше поэтапно: сначала единые остатки и цены, затем самовывоз, затем лояльность и клиент.

Поделиться:

Свяжем ваш сайт с 1С:Розница и офлайн-точками

Построим омниканальность на 1С-Битрикс: единые остатки по магазинам, цены по регионам, самовывоз и click&collect с резервом в точке, единый клиент и программа лояльности между кассой и сайтом. Спроектируем маппинг, отладим обмен на копии и наладим расписание под вашу сеть.

Услуга «Интеграции»

Игорь Воскресенский

Основатель студии B2Bsite. С 2014 года команда строит омниканальные магазины на 1С-Битрикс: связывает витрину с 1С:Розница, УТ и ERP, настраивает единые остатки по точкам, самовывоз и click&collect, программы лояльности и единого клиента между кассой и сайтом для розничных сетей.

← Все статьи блога