Inventory Management

Salesforce B2C Commerce provides built-in inventory functionality that you can use with your storefront application. You can use Business Manager to:

B2C Commerce isn't the system of record for inventory data. However, it can be used to track inventory levels and integrate with backend inventory systems in real time. B2C Commerce:

For all other types of inventory functionality, Commerce Cloud suggests using an external tool.

You can use the available-to-sell (ATS) stock level information that is part of the inventory feature when defining product promotion rules; you can use the search feature to decide if you want inventory information to figure into product search result listings. (See Inventory situations.)

Developer Tools enable you to implement simple to complex availability and inventory solutions that can range from merely tracking whether a product is in stock to support for back-order, pre-order, and even more customized solutions. You can modify or extend the inventory record to contain additional information.

There are developer tools to implement simple to complex availability and inventory solutions that can range from merely tracking whether a product is in stock to support for back-order, pre-order, and even more customized solutions. Developers can use these tools to modify or extend the inventory record to contain additional information.

B2C Commerce includes an optional inventory monitoring module that provides product stock level information between inventory updates.

See the SiteGenesis wireframes for details on how inventory information appears on the cart page and the product details page on the storefront

Inventory List Details

B2C Commerce can store up to 3,000 inventory lists; this value is enforced by the Inventory List (Product Inventory Record) quota. You can import up to 3,000 inventory lists into B2C Commerce. Both full and update inventory imports are supported, with UPDATE, REPLACE, and MERGE modes. You can delete obsolete records during import with REPLACE mode.

The inventory list assigned to the site represents the online inventory of the site. During checkout, inventory is reserved and decremented in the inventory list that is assigned to the product line item. If no inventory list is configured for a product line item, inventory is reserved and decremented in the inventory list that is assigned to the site.

Note:

if you see unavailable fields in the Business Manager Inventory module, you have read-only permission. You can search for inventory lists and view their details. You can't modify, delete, or create new inventory lists. If you have mixed permission to access one module (via different roles), the higher level access is granted. See your administrator if you require write access.

For read-only access, the role still need the functional permissions, either Manage_Inventory (for all inventory lists globally) or Manage_Site_Inventory for selected sites.

More than One Inventory List

When you have more than one inventory list, only the list assigned to the selected site shows availability for a product. When looking at the list records for an inventory list not assigned to the currently selected site, all products appear with Availability as N/A. You can, however, assign a list to more than one site at a time.

The Inventory Record

An inventory record describes a product's stock-level and availability data in the context of an inventory list. It references exactly one product and one list. This means that there can be only one inventory record contained within the same list for one unique product SKU. The table shows the relevant data related to an inventory record. Fields in bold can be defined through the Business Manager. All other fields are calculated by the system, but can be accessed through the API (see the API documentation).

Attribute Description
Allocation The quantity of products in stock on the AllocationDate.
AllocationDate The time that the Allocation was initialized or reset.
Perpetual A flag that specifies that the product is always in stock.
PreorderBackorderHandling A value that specifies a product's availability if it's not in stock. The possible values are NONE, PREORDER, and BACKORDER.
PreorderBackorderAllocation The quantity of products available for order if the product is out of stock.
InStockDate The date that a product will be in stock.

Inventory Situations

The following are some examples of how your application, based on Business Manager settings, can handle specific inventory situations:

In this situation... Your application can...
A product isn't released yet
  • Allow or disallow orders
  • Show a customized message to the shopper
  • Provide an availability date
  • Take pre-orders
  • Limit the number of pre-orders
A product is currently not in stock
  • Allow or disallow orders
  • Show a customized message to the shopper
  • Provide an availability date
  • Take backorders
  • Limit the number of back-orders
An order requests more units of a product than are in stock Break an order into X units for immediate delivery and Y units for backorder
You don't want to promote out of stock products Write promotion rules that consider units available to sell (ATS)
Out of stock products appear in search lists
  • Sort unavailable products to the bottom of the search results lists
  • Set the product on-line attribute to false.
Stock levels are inaccurate Correct stock levels with an inventory update

Dealing with Product Availability

Because a site might not have an inventory list assigned to it, and a product might not have an inventory record, these are B2C Commerce's strategies for dealing with a product's availability in these situations:
Name Description Approach
Default There is no inventory list assigned to the site. No information is available to derive availability. All products are considered not available.
Single site setting The site has an inventory list but the product itself doesn't have a record. The product is considered in stock if the default is in stock; otherwise the product isn't available.
Single product setting The product has an inventory record but there is no allocation specified. The product is considered in stock if Perpetual is set; otherwise the product isn't available.
Allocation tracking The product has an inventory record and there is a specified allocation. The availability is calculated at run time.

Notes

Related Links

On Order Inventory