On Order Inventory

The On Order Inventory setting enables you to account for ordered inventory that hasn’t been exported for shipping.

You can control the on order reservation behavior based on an inventory list. How you configure this setting depends on how you normally handle orders after the storefront checkout process.

Import and Export Inventory Lists

Inventory list import considers On Order Inventory an optional value. When the On Order Inventory value is missing:

Inventory list export always considers the On Order Inventory setting.

Import and Export Site Preferences

Because the On Order setting is related to an inventory list, and isn't a site preference:

When to Use On Order Inventory

If you enable this setting, then when an order is placed, its inventory is handled in a two-step process:

  1. Creating an order increases the on-order quantity. Deleting, canceling, or failing an order decreases it.
  2. Exporting an order decreases the on-order quantity and increases the turnover by the same amount. The changes are triggered when the order status is set to Exported, which depends on the integration with the shipping process. In general, the status changes when the order is exported to the back-end system responsible for shipping it.

Resetting the allocation level sets the turnover value to zero, but doesn’t affect the on-order value.

Note: Canceling an exported order only reduces the turnover value if the allocation hasn’t been reset since the order was exported. The check compares the order’s exportDate to the inventory record’s allocationResetDate, not to the timestamp of the inventory record update in B2C Commerce. Canceling an order that was exported before the most recent allocation level reset date doesn’t affect the turnover value.

If used, the on-order quantity represents the quantity ordered that isn't yet exported for shipping. The turnover doesn't include the on-order quantity, since it represents the amount that has shipped since the last inventory update. When deciding which product units are available for shipping, Salesforce B2C Commerce uses this formula: available for shipping = max(0, allocation - turnover ).

The stock level represents the number of units that can be sold after taking the shipment of all currently placed orders into account: StockLevel = max(0, allocation - turnover – on-order).

Note: The On Order Inventory site preference is disabled by default. For sites that use Order Center, which uses the on-order quantity, this preference must be enabled. Order Center defines “exported for shipping” as the point at which shipping orders are created to be exported to the warehouse management system.

Inventory Impact

If the On Order Inventory setting is enabled, then when an order’s status changes from Open to Canceled, it voids that order’s booked inventory transactions. If possible, the order is canceled. However, the turnover can fail to update after cancellation. A successful update depends on factors such as how long after order creation the cancellation occurred, and any intervening inventory imports.

Examples

On Order Inventory Disabled:

Step Allocation Backorder allocation Turnover On Order Stock level Available for Shipping Available to Sell
Inventory allocation is reset to 20 20 10 0 not used 20 20 30
Customer places order1, qty 5 20 10 5 not used 15 15 25
Customer places order2, qty 2 20 10 7 not used 13 13 23
Both orders are exported for shipping 20 10 7 not used 13 13 23
Inventory is reset to 11 11 10 0 not used 11 11 21

On Order Inventory Enabled:

Step Allocation Backorder allocation Turnover On Order Stock level Available for Shipping Available to Sell
Inventory allocation is reset to 20 20 10 0 0 20 20 30
Customer places order1, qty 5 20 10 0 5 15 20 25
Order1 is exported for shipping 20 10 5 0 15 15 25
Customer places order2, qty 2 20 10 5 2 13 15 23
Inventory allocation is reset to 11 11 10 0 2 9 11 19
Order2 is exported for shipping 11 10 2 0 9 9 19

Cancellation Examples

Note the timing of the allocation resets in these examples. The B2C Commerce inventory records are updated with an earlier allocationResetDate.

On Order Inventory Disabled:

Step Allocation Backorder allocation Turnover On Order Stock level Available for Shipping Available to Sell
Inventory allocation is reset to 20 20 10 0 not used 20 20 30
Customer places order1, qty 5 20 10 5 not used 15 15 25
Order1 is exported for shipping 20 10 5 not used 15 15 25
Inventory allocation is reset to 11 but not yet imported into B2C Commerce 20 10 5 not used 15 15 25
Customer places order2, qty 2 20 10 7 not used 13 13 23
Order2 is exported for shipping 20 10 7 not used 13 13 23
The inventory allocation reset is imported into B2C Commerce with an inventoryRecord.allocaionResetDate earlier than the Order2.exportDate 11 10 2 not used 9 9 19
Order1 is canceled 11 10 2 not used 9 9 19
Order2 is canceled 11 10 0 not used 11 11 21

On Order Inventory Enabled:

Step Allocation Backorder allocation Turnover On Order Stock level Available for Shipping Available to Sell
Inventory allocation is reset to 20 20 10 0 0 20 20 30
Customer creates order1 (payment not captured), qty 5 20 10 0 5 15 20 25
Customer creates and places order2 (payment captured), qty 2 20 10 0 7 13 20 23
Inventory allocation is reset to 11 but not yet imported into B2C Commerce 20 10 0 7 13 20 23
Order2 is exported for shipping 20 10 2 5 13 18 23
The inventory allocation reset is imported into B2C Commerce with an inventoryRecord.allocaionResetDate earlier than the Order2.exportDate 11 10 2 5 4 9 14
Order1 is failed 11 10 2 0 9 9 19
Order2 is canceled 11 10 0 0 11 11 21
Undo order1 failure 11 10 0 5 6 11 16
Undo order2 cancellation 11 10 2 5 4 9 14
X Privacy Update: We use cookies to make interactions with our websites and services easy and meaningful, to better understand how they are used. By continuing to use this site you are giving us your consent to do this. Privacy Policy.