Inventory Quantity Types

Unified Commerce allows you to track different inventory quantities for your products. This guide defines the quantity types, explains how they're calculated, and provides more details about the Future Available to Promise inventory type.

Quantity Types

AvailableThe total quantity that's available to sell, or the amount on hand minus any allocated quantity.
AllocatedThe quantity that shoppers have purchased and has not been fulfilled.
On HandThe quantity that you have in stock in your warehouse.
You can manually adjust this value. Refer to Adjust On-Hand Quantities for more information. This is the only inventory quantity type that you can modify in Kibo eCommerce without Order Management.
PendingThe quantity that was overallocated and is waiting for inventory. This occurs anytime there is an allocation greater than the Available amount of inventory. Pending items will be "released" and automatically converted to Allocated when stock is available, which the system checks for every thirty minutes.
LTDThe inventory age, or lifetime to date, of the product.
FloorThe desired minimum to have in stock before ordering more inventory. This represents when inventory is getting low and should be replenished.
Safety StockHow much inventory to set aside and not factor into the available quantity that can be fulfilled.
FutureThe projected inventory you will receive within a certain time frame. This must be enabled via site settings, but is not currently displayed in the inventory table. See Future Available to Promise Inventory for more details about how it is used.

Inventory Calculations

The inclusion or exclusion of safety stock affects the total On Hand and Available inventory calculations. 

If Safety Stock is not included, then those values are calculated as follows:

  • On Hand = Allocated + Available + Pending
  • Available = On Hand – Allocated – Pending

If Safety Stock is included, then the calculations are:

  • On Hand = (Allocated + Available + Pending) – Safety Stock
  • Available = (On Hand – Allocated – Pending) – Safety Stock

Future Available to Promise Inventory

When enabled, future inventory is used to calculate the total amount that is "available to promise." This allows you to allocate against future inventory at the location level (as well as at the tag level if applicable). This calculation is:

  • Available to Promise = Available + Future

Current inventory is always prioritized before future inventory is allocated. For example, if you have 5 quantity of a product on hand, 3 allocated, and 5 future, then you have a total of 7 available to promise. When all of the on hand inventory has been allocated, then the 5 future inventory will begin to be allocated (which can then be deallocated if needed).

Enable Future Inventory

In order to allocate against future inventory, you must enable it in your site settings.

  1. Go to System > Settings > General.
  2. In the Site section, locate the Future Inventory Settings.
  3. Toggle Future Inventory on.
  4. Set the Future Date Limit you want to consider future inventory for. Only the amount within this date limit will be calculated into the quantity available to promise.
    • For example, if you have a view of inventory for 12 weeks from the current time then you can choose to allocate future inventory for just the next 4 weeks. 
  5. Set the Future Date Unit. This can be days, weeks, or months.
  6. Click Save.

Close-up of Future Inventory settings with a time frame of 15 days.

After enabling future inventory for your site, you must also enable it for individual products from the Create Order API. For an order item in the items array, use properties to define the "future inventory enabled" property as shown below:

"properties": [
    "attributeFQN": "tenant~future-inventory-enabled",
    "name": "Future Inventory Enabled",
    "dataType": "Bool",
    "isMultiValue": false,
    "values": [
        "value": true

Shipments with Future Inventory

When assigning to fulfillment locations, current inventory is always prioritized before future incoming inventory.  When considering future inventory, the following logic is used:

  • BOPIS: Earliest available date at the selected BOPIS location.
  • STH: Order Routing will look for the earliest available date across locations.

Future inventory supports STH, BOPIS (including Delivery), and STH Consolidation. However, future inventory will not be considered for transfers. This means that only the parent shipment of any fulfillment type can be allocated or assigned with future inventory.

Shipments that are created with future inventory begin in the "Future" status and cannot be fulfilled until inventory arrives at the location and the shipment moves into the Ready state. This Future shipment has a date associated with it, which is the date that the future inventory is arriving. For more information, see the Fulfiller UI guide.

Inventory Update Behavior

Use the Adjust Future Date API to change the expected date of future inventory. Unified Commerce will update shipments whenever their future inventory's expected date or quantity changes, depending on the scenario:

  • If a future inventory record changes to a different delivery date, associated shipments will automatically update to match the new date (as long as it is not beyond the Future Date Limit). If only some shipment items change dates or the items change to two different dates, then the shipment is split based on those dates.
  • If a future inventory record changes to a delivery date beyond the Future Date Limit setting, then those items on STH shipments are reassigned. 
  • If a future inventory record changes to a delivery date beyond the Future Date Limit setting, then those items on BOPIS shipments will be backordered. If any items in the shipment are not backorderable, then the shipment is split and those items will either be cancelled or sent to Customer Care (depending on your Action on BOPIS Reject site setting).
  • If future inventory records change to a quantity of either 0 or an amount less than the required quantity on a shipment, then the unavailable quantity is turned into pending items on that shipment and will be allocated whenever inventory is available again.

You can cancel a Future shipment or force fulfillment from the Order Admin UI by changing the shipment's status. Forcing fulfillment may be useful if any future inventory becomes available sooner than expected but the delivery date does not change, such as if current inventory becomes available due to reassignments or order cancellations.

You also cannot reassign Future shipments through the Order Admin UI at this time.