Available to Sell (ATS) Calculation

The ATS calculation depends on the product type: standard, variation, variation master, product set, or product bundle.

Standard Product ATS Calculation

In Salesforce B2C Commerce, the product availability presented to storefront customers is defined as the available to sell ( ATS) quantity. ATS represents the units of the product allocated for sale that have not yet shipped and are not held in orders that are not yet shipped (or not yet exported for shipment), plus the quantity of backorders or pre-orders allowed for the product. In general, the ATS is the sum of the allocation and backorder-preorder-allocation, reduced by the turnover and the (optional) on order quantity. By default, it's equal to the number of units of a product that are allocated to sell (the allocation value).

The following are some key formulas:

Value Formula
ATS ATS = max(0, allocation + preorderBackorderAllocation - turnover – on-order)
Stock level StockLevel = max(0, allocation - turnover – on-order)
Available for shipping Available for shipping = max(0, allocation - turnover )

Turnover represents a running count of a product's unit sales since the last inventory update, while the optional on order quantity represents the quantity ordered that isn't yet exported for shipping. The turnover doesn't include the on-order quantity. If used, the on-order quantity represents the quantity ordered that isn't yet exported for shipping.

When products are added to the shopping cart they are not subtracted from ATS. This only occurs at final checkout. Adding a product to the shopping cart doesn't reserve the product or guarantee its availability at checkout.

Note: Business Manager shows the number of units of a products that are available to sell (ATS). Select site > Products and Catalogs > Inventory Lists > Edit inventory list > Records tab.

If a merchant chooses to use B2C Commerce to calculate the ATS value between inventory updates, the following conditions must apply:

If the customer supports backorders or pre-orders, the product's Pre-Order/Backorder Handling field must be set to Pre-Order or Backorder (backorderable = true or preorderable = true)

A change to a product's turnover, allocation, or preorderBackorderAllocation values result in a recalculation of ATS. When the allocation level is reset, the turnover value is set to zero, but the on-order value isn't changed.

Product Master and Variation ATS Calculation

A product master doesn't have its own product record. Instead, the availability of a product master is calculated based on the availability of all variations. As long as a single variation is available, the master is still considered available. In previous versions of B2C Commerce, a single product record was used to calculate ATS for product masters and is still included for legacy applications.

Product Bundle ATS Calculation

A product bundle can have its own product record in addition to the inventory records for the bundled products. This lets the merchant control the availability of bundles independent from the availability of the bundled products. The availability of the bundle is calculated differently, depending on whether the bundle itself has an inventory record and whether the Use Bundle Inventory Only option is selected on the Inventory List page.

If the bundle itself doesn't have an inventory record and the Use Bundle Inventory Only option isn't set:
  • The availability of a product bundle is calculated based on the availability of the bundled products.
  • Placing an order that contains a bundle decrements the stock level of all bundled products
  • As soon as one bundled product becomes unavailable, the bundle becomes unavailable.
If the bundle itself doesn't have an inventory record and the Use Bundle Inventory Only option is set:
  • The bundle availability isn't calculated. Instead, the inventory list Default in-stock option defines whether the bundle is available or not. If this option is set, the bundle is always available, otherwise is it never available.
If the bundle itself has an inventory record and the Use Bundle Inventory Only option isn't set:
  • The availability of a product bundle is calculated based on the availability of the bundled products and the availability of the bundle itself.
  • Placing an order that contains a bundle decrements the stock level of the bundle (only if the bundle has an inventory record) and all bundled products.
  • As soon as one bundled product becomes unavailable, the bundle becomes unavailable.

If the bundle itself has an inventory record and the Use Bundle Inventory Only option is set:

Product Set ATS Calculation

A product set does not have its own product record. Instead, the availability of a product set is calculated based on the availability of all set products. As long as a single set product is available, the product set is still considered available. In previous versions of B2C Commerce, a single product record was used to calculate ATS for product sets and is still included for legacy applications.

Related Links

Availability Calculation