В 2025 году 78% пользователей интернета в ЕС покупали онлайн (Eurostat, E-commerce statistics for individuals, 2025). Для ритейлера с сетью магазинов и собственным сайтом это значит, что два канала продают товар с одной полки. Если каждый канал считает остатки по-своему, последнюю единицу продают дважды — и один из покупателей узнаёт об этом из письма об отмене заказа. Решение — единая цифра остатка: по ней все каналы показывают наличие, резервируют товар и называют сроки доставки. Ниже — как Microsoft Dynamics 365 обеспечивает остатки товаров в реальном времени и какие решения на этапе внедрения определяют, останется ли эта цифра точной.
Почему магазин и сайт показывают разные остатки
Спросите директора магазина и руководителя e-commerce, сколько единиц хита продаж осталось, — ответы редко совпадут. Microsoft открыто называет причину. В стандартном Microsoft Dynamics 365 Commerce наличие, которое в течение рабочего дня видят POS, e-commerce API и головной офис, — расчётная оценка, а не гарантированный показатель в реальном времени. Канал берёт последний известный головному офису остаток и прибавляет к нему ещё не синхронизированные продажи в магазинах, заказы клиентов, возвраты и отгрузки.
Схема работает, пока два канала не продадут одну и ту же последнюю единицу в течение часа. Тогда бизнес платит дважды: отменёнными заказами и товаром, который придерживают от сайта «на всякий случай». У обеих проблем один источник — омниканальные остатки, которые почти верны.
Inventory Visibility: общий реестр остатков для всех каналов
Надстройка Inventory Visibility для Microsoft Dynamics 365 Supply Chain Management создана как раз для этого. Она работает как отдельный микросервис на Microsoft Dataverse и в реальном времени фиксирует изменения остатков из всех источников данных и каналов — в том числе из систем за пределами Dynamics 365. Компании с лицензией Supply Chain Management получают её без доплаты — в пределах лимитов хранилища и API Microsoft Power Platform.
Если у ритейлера есть лицензии на оба продукта, Inventory Visibility можно назначить поставщиком данных о запасах для Dynamics 365 Commerce. Тогда приложение Store Commerce, интернет-магазин и headless commerce API обращаются к одному актуальному показателю. Товар резервируется, когда клиент создаёт, изменяет или отменяет заказ, а при комплектации и возвратах остаток корректируется. Когда эти заказы позже синхронизируются с Supply Chain Management, автоматический взаимозачёт (offset) убирает уже проведённые количества — поэтому ни одна единица не учитывается дважды.
Именно так на практике выглядят остатки товаров в реальном времени для ритейла на Dynamics 365: один реестр, из которого все каналы читают данные и в который все их записывают.
Мягкое резервирование: кому достанется последняя единица
Мягкое резервирование (soft reservation) решает, кто получит последний товар. Microsoft разработала этот механизм для компаний, где заказы принимают две или более систем и двойная продажа недопустима. В примере Microsoft Supply Chain Management ещё показывает товар, который Inventory Visibility уже пообещала веб-заказам, пока не синхронизированным. Когда колл-центр пытается зарезервировать этот товар, запрос отклоняется — Inventory Visibility сверяет его с фактическим остатком.
Кроме того, в Supply Chain Management у каждой строки заказа на продажу есть уровень блокировки — Block, Warning или Ignore. Он определяет, что происходит, если мягкого резерва нет. Block делает правило жёстким, Warning позволяет пользователю его обойти. Этот выбор — за коммерческой командой: именно она решает, что для бизнеса приемлемее — потерять продажу или рискнуть извинениями перед клиентом.

Распределение запасов и available to promise: решения до появления спроса
Резервирование работает с уже существующими заказами. Распределение запасов (allocation) защищает дефицитный товар ещё до первого заказа. Планировщики могут закрепить количества за интернет-каналом, отдельными регионами или ключевыми группами клиентов, а Inventory Visibility защищает этот запас от других распределений, резервирований и спроса со стороны продаж.
Microsoft рекомендует сначала распределить запас, а затем делать мягкое резервирование в рамках распределения — так потребление каждого канала отслеживается относительно его квоты почти в реальном времени. Группы распределения допускают до восьми уровней вложенности: например, канал, затем регион, затем группа клиентов.
Available to promise (ATP) — прогноз доступного остатка на ближайшие дни — продолжает ту же логику. Команды могут настроить формулы ATP, охватывающие все каналы и источники данных, независимо от того, относятся ли они к Dynamics 365. Для самовывоза из магазина (click-and-collect) и доставки на дом это разница между обещанной датой и датой наугад.
Четыре решения, которые стоит принять до запуска
Остатки в реальном времени — результат настроек, а не просто включённая надстройка. Итог определяют четыре решения:
- Определите, что значит «в наличии» для каждого канала. Омниканальный учёт запасов начинается с договорённости, какие источники данных и показатели формируют цифру, по которой продаёт сайт, — и ту, которую видит магазин.
- Зафиксируйте уровни измерений (dimensions) с самого начала. Распределение по одному товару всегда должно использовать один и тот же уровень измерений, иначе данные распределения станут несогласованными.
- Оставьте Supply Chain Management основной учётной системой. Inventory Visibility не может изменять данные Supply Chain Management: поток данных из неё односторонний, и интеграции нужно проектировать с учётом этого.
- Проверьте настройки мягкого резервирования в production, а не только в sandbox. Microsoft предупреждает, что конфигурация по умолчанию менялась от версии к версии, поэтому две среды могут стартовать с разных настроек.
OntargIT внедряет Dynamics 365 для ритейлеров, которые продают и в магазинах, и онлайн . Ритейл-практика компании охватывает омниканальную торговлю, интеграцию POS в реальном времени и отслеживание запасов в реальном времени. Среди клиентов — COMFY (82 магазина в 40 городах Украины), Eldorado (150+ магазинов и два интернет-магазина) и Chanel, где OntargIT выполнила интеграцию с POS и WMS, а также локализацию для Украины.
Вывод
Остатки в реальном времени — это решение, которое принимают во время внедрения, а не опция, которую включают после запуска. Надстройка даёт общий реестр, а ваша команда определяет, что значит «в наличии» для каждого канала, кому достаётся последняя единица и какой запас для кого защищён. Перед следующим пиковым сезоном проверьте, как ваша текущая конфигурация отвечает на четыре вопроса выше.

















