Начиная с 12й версии в интернет-магазине CMS Битрикс доступен функционал учета остатков по складам. Это означает, что если у вас, например, 3 магазина со своими складами, то вы можете создать 3 склада, и остатки по ним будут отображаться и учитываться у каждого товара.
Также склады имеют привязку к сайту, таким образом можно сделать несколько интернет-магазинов, в зависимости от города, например, и каждый будет привязан к своему складу.
Также появился компонент, позволяющий вывести все остатки по складам, для определенного товара, пример вызова:
$APPLICATION -> IncludeComponent (
"bitrix: catalog.store.amount" ,
"" ,
Array (
"STORES" => array (),
"ELEMENT_ID" => "29" ,
"ELEMENT_CODE" => "" ,
"OFFER_ID" => "" ,
"STORE_PATH" => "/store/store_detail.php" ,
"CACHE_TYPE" => "A" ,
"«Наличие товара на складах» ,
«USER_FIELDS» => массив ( «" , "" ),
"FIELDS" => массив ( "TITLE" , "ADDRESS" , "PHONE" , "SCHEDULE" , "" ),
"SHOW_EMPTY_STORE " => " Y " ,
" USE_MIN_AMOUNT " => " Y " ,
" SHOW_GENERAL_STORE_INFORMATION " => " N " ,
"MIN_AMOUNT" => "0"
)
);
Класс CCatalogStoreProduct позволяет обрабатывать в битрикс остатки по складам, например код:
$arFields = Array(
"PRODUCT_ID" => 25,
"STORE_ID" => 3,
"AMOUNT" => 4,
);
$ID = CCatalogStoreProduct::Update(1, $arFields);
задаст количество товара с ID = 25 на складе 3 равным 4.
В админке склады выглядят так:

А вот так остатки по складам выглядят на странице редактирования товара:

Бтрикс остатки по складам позволяют существенно расширить возможности интернет-магазина. При интеграции с 1с каждый товар будет подгружаться с необходимым на складе количеством, что избавит вас от проблем с отсутствием нужного товара на складе, что особенно важно для интеграции с яндекс маркетом.
К примеру, стоит задача вывести на сайте все товары для города Москва, при этом в Москве больше одного склада. Для этого потребуется создать еще одно свойство, к примеру s1_AVAILABLE, а на обработчик добавления или изменения элемента OnBeforeElementAdd/OnBeforeElementUpdate повесить функцию, которая будет складывать значения остатков по определенным складам (относящимся к Москве), и помещать в поле s1_AVAILABLE
А по этому полу сделать фильтр.