Pre order PO creation

Have the ability to create a PO for vendors and dealers that want to pre order product before it comes in stock. Then once the product is received in inventory automatically gets allocated to that or those PO's and removed from sellable inventory. Also have a notification that a PO can be fulfilled now. Also possibly have the ability to assign existing inventory for a PO that is on hold waiting for other inventory to come in stock.