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
Example 1
Product | OnHandValue | IncomingValue | NextDeliveryDate | LeadTime |
---|---|---|---|---|
Child A | 10 | Null | Null | 1 |
Child B | 10 | Null | Null | 1 |
Bundle (1 pc A, 2 pcs B) |
5 | Null | Null | 1 |
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.
Product | OnHandValue | IncomingValue | NextDeliveryDate | LeadTime |
---|---|---|---|---|
Child A | 20 | Null | Null | 1 |
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
Product | OnHandValue | IncomingValue | NextDeliveryDate | LeadTime |
---|---|---|---|---|
Child A | 0 | 10 | 2022-01-01 | 1 |
Child B | 20 | Null | Null | 1 |
Bundle (1 pc A, 2 pcs B) |
0 | 10 | Null | 1 |
Child A has no OnHandValue. Instead the IncomingValue is shown.
Example 4
Product | OnHandValue | IncomingValue | NextDeliveryDate | LeadTime |
---|---|---|---|---|
Child A | 0 | 10 | 2022-01-01 | 1 |
Child B | 0 | 22 | 2022-01-01 | 1 |
Bundle (1 pc A, 2 pcs B) |
0 | 10 | 2022-01-01 | 1 |
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
Product | OnHandValue | IncomingValue | NextDeliveryDate | LeadTime |
---|---|---|---|---|
Child A | 10 | Null | Null | 5 |
Child B | 10 | Null | Null | 1 |
Bundle (1 pc A, 2 pcs B) |
5 | Null | Null | 5 |
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
Product | OnHandValue | Reservation |
---|---|---|
Child A | 10(*) | 5 |
Child B | 25 | 0 |
Bundle (1 pc A, 2 pcs B) |
5 | 0(**) |
The onhand calculation takes into account the reserved quantities, however, reservation values are not saved separately.
(*)
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.