В свое время была необходимость сделать схему предзаказов, т.е. дать возможность покупателю заказать товар, который еще не вышел даже. С получением письма о предзаказе и ему и админу. (т.е по сути эту схему и для товаров на заказ можно использовать)
Сделал так - для предзаказов на сайте указываем количество в наличии 999шт (можно любое другое указать, главное чтоб с реальными остатками не могло совпасть), ставим рядом галку "не вычитать со склада", в самом шаблоне соответственно вывод поправил в местах, где отображается кол-во, чтоб при 999шт выводил "предзаказ".
Еще исправил в модуле для выгрузки в Яндекс.Маркет, чтоб когда кол-во 999шт, то ставил статус товара в yml-файле "на заказ"
(правил в catalog/controller/export/yml/php в секции атрибутов товарного предложения)
// Если предзаказ, то available = false согласно стандарту YML (под заказ)
if ($product['quantity'] == 999)
$data['available'] = false;
в итоге и на сайте все более-менее ясно с предзаказами, и в Я.Маркете все ок - выгружает-отображает товары и в наличии, и на заказ
PS: если используется прогрузка товаров, чтоб указанное кол-во не слетело (при поступлении товара на склад например), у товара меняю атрибут в базе, по которому идет прогрузка (в описанном случае при прогрузке используется штрихкод товара, в базе в конце шк ставили букуву p, как признак предзаказа)