Commerce Reference Store uses the DERIVED availability status for determining if a SKU is in stock, out of stock, or backorderable. To determine if a SKU is preorderable, however, the StoreInventoryManager class implements custom logic based on properties of the SKU’s inventory item plus Commerce Reference Store-specific properties of the product item type. These custom properties are preorderable, useInventoryForPreorder, and preorderEndDate.
The logic works like this:
If
preorderableisfalse, the product’s SKUs are not preorderable.If
preorderableistrueanduseInventoryForPreorderisfalse, the SKUs are preorderable if the product’spreorderEndDateis in the future or null.If
preorderableistrueanduseInventoryForPreorderistrue, a SKU is preorderable if the product’spreorderEndDateis in the future or null, and the properties of the SKU’sinventoryitem meet these conditions:stockLevelis 0.preorderLevelis greater thanpreorderThreshold.

