Model 3 - Salesforce B2C Commerce Doesn't Calculate ATS Values

Model 3 is appropriate for the merchant who is able to frequently refresh the inventory data in B2C Commerce.

The frequency would be sufficient to eliminate concerns about accidental out-of-stock conditions. Perhaps the merchant would only update product status for products that had been sold since the last full inventory update.

In this model, all products have inventory records, but there is no attempt to track inventory availability in B2C Commerce. B2C Commerce initially sets ATS equal to allocation, but both values remain unchanged after purchases. (The storefront doesn't use either the UpdateStockLevel pipelet or the ProductAvailabilityModel.UpdateStockLevel() method.) A front-end system frequently updates stock levels many times per day.

Note: If you use Salesforce Omnichannel Inventory, then inventory records and availability data are managed in Omnichannel Inventory. The details of this model apply to implementations that don’t use Omnichannel Inventory.

If the following conditions exist:

  1. There is an inventory list that is periodically refreshed.
    • ProductInventoryList.DefaultInStock = true
  2. There are product inventory records for all products. The new and modified records have these values:
    • ProductInventoryRecord.allocation = {units}
    • ProductInventoryList.perpetual = false

Optionally, set these inventory record fields to support backorder. These record fields affect the calculation of ProductInventoryRecord.ATS.

  • ProductInventoryList.backorderable = true
  • ProductInventoryList.preorderBackorderAllocation= {units}
  • ProductInventoryList.inStockDate= {date}

Optionally, set these inventory record fields to support pre-order. These record fields affect the calculation of ProductInventoryRecord.ATS.

  • ProductInventoryList.preorderable = true
  • ProductInventoryList.preorderBackorderAllocation= {units}
  • ProductInventoryList.inStockDate= {date}

The result is that any product without a product inventory record is considered to be in stock and available. Product inventory records for the other products indicate their availability. There is no adjustment to allocation (stock level) values as products are sold.

The storefront behavior for products is as follows.

Status Behavior
Available The product record appears in product detail, cart, and checkout views. The product can be ordered.
Backordered The product record appears. The product can be ordered. The backorder date appears in the shopping cart.
Pre-ordered The product record appears. The product can be ordered. The pre-order date appears in the shopping cart.
Not available The product record appears with a no longer available message. The product can't be ordered.