ТЕ Алгоритм будет такой?
Создаю два виртуальных склада: "Резерв" и "Заказ"
Выписываю заказ покупателя
Если товар есть в наличии, то он перемещается на склад резерв и числится там, до создания расходной накладной на основании этого заказа покупателя. При создании расходной накладной заказ клиента распроводится и товар списывается с того склада, где он был ранее.
Если товара нет в наличии, то заказ покупателя все равно проводится, и на виртуальном складе "Заказ" , образуется недостающее количество товара По этому складу можно будет видеть сколько какого заказанного товара не хватает.
Если в заказе покупателя на пример шалабашка 5 шт, а реально в наличии есть только 2, то на склад резерв должна попасть 2 шт и на склад "заказ" 3 шт.
Когда товар пришел, то на складе заказ количество уменьшается а на складе резерв увеличивается.
Может Вы сможете предложить что-то более умное?