Last updated

Availability on bundles

Two product types ManagedStructure and ManagedERPPackageWithCalc (and their unmanaged legacy versions) has their Onhand values calculated by Norce Commerce based on the child products.

Read about how Norce calculates availability here: Availability structures for ordinary products.

The fields that are calculated are:

  • OnHandValue: Calculated as the lowest value after division with quantity.
  • IncomingValue: Calculated as the lowest value after division with quantity (ignoring null values).
  • NextDeliveryDate: Calculated as the latest date among the child items, unless any of them does not have it. In that case, it is null.
  • LeadTime: Calculated as the largest number from the children.

The calculation is based on the data of children that have the same warehouse and location. Bundles will not receive a total calculation for all warehouses, but rather a specific calculation for each warehouse/location pair.

Some examples

The bundle has two child items one piece of A and two pieces of B.

Example 1

ProductOnHandValueIncomingValueNextDeliveryDateLeadTime
Child A10NullNull1
Child B10NullNull1
Bundle
(1 pc A, 2 pcs B)
5NullNull1

Child B have the OnHandValue 10, but the bundle needs 2, therefore, the value is 10/2 = 5.

Example 2

Child B is not active on the warehouse/location.

ProductOnHandValueIncomingValueNextDeliveryDateLeadTime
Child A20NullNull1
Child B----
Bundle
(1 pc A, 2 pcs B)
----

At least one child is not enabled on the warehouse. Therefore, the bundle cannot be picked on this location at all.

Example 3

ProductOnHandValueIncomingValueNextDeliveryDateLeadTime
Child A0102022-01-011
Child B20NullNull1
Bundle
(1 pc A, 2 pcs B)
0102022-01-011

Child A has no OnHandValue. Instead the IncomingValue is shown.

Example 4

ProductOnHandValueIncomingValueNextDeliveryDateLeadTime
Child A0102022-01-011
Child B0222022-02-011
Bundle
(1 pc A, 2 pcs B)
0102022-02-011

In this case, Child A has the lowest value for IncomingValue, when quantity is taken into account, but the NextDeliveryDate comes from Child B since its date is further into the future.

Example 5

ProductOnHandValueIncomingValueNextDeliveryDateLeadTime
Child A10NullNull5
Child B10NullNull1
Bundle
(1 pc A, 2 pcs B)
5NullNull5

The OnHandValue is 10 for both Child A and Child B. The bundle product requires 1 quantity of Child A and 2 quantities of Child B. As a result, the on-hand value for the bundle is calculated as 5 by dividing the lowest on-hand value by the required quantity. The lead time for the bundle is calculated as 5, which is the longest lead time among the child products.

Example 6

ProductOnHandValueReservation
Child A10(*)5
Child B250
Bundle
(1 pc A, 2 pcs B)
50(**)

The onhand calculation takes into account the reserved quantities, however, reservation values are not saved on the bundle.

(*)

OnHandValue is shown with the reservation removed from the value in the Admin UI and in Norce Commerce Services (but not in Norce Commerce Query).

(**)

Reservation field is not used on the ManagedStructure or ManagedERPPackageWithCalc products. It is instead taken into account when calculating the OnhandValue.