Inventory and Assembly Item Support
Advanced Inventory Management supports inventory and assembly items. Transactions using kits or item groups are used in AIM, but applied only for member items. AIM is not run for kit/group parent items.
AIM is run for all items when Reorder Point is the selected Replenishment Method. On each item record, you can select whether to run aim for each variable – Preferred Stock Level, Reorder Point, and Lead Time. Click the Auto-calculate box next to the field.
You can also set the item record values for Safety Stock Level Days, Expected Demand Change, and whether to use Seasonal Demand.
AIM calculations are typically scheduled to run weekly. It is not a real-time calculation. Transactions are entered after the AIM calculations complete, they are not considered. You can manually initiate a calculation from the Day of Week To Perform Calculation and Time of Day to Perform Calculation preferences.
If Preferred Stock Level, Reorder Point, and Lead Time are set to Auto-calculate, calculations proceed as follows:
-
Date of First Sale / Date of First Order – This is a hidden variable. It validates whether there is sufficient information to process for an item. NetSuite uses the first sale or first order date (based on the Transaction to Consider preference). If you use Multi-Location Inventory, this is calculated for each item/location pair. If you do not use Multi-Location Inventory, it is calculated for each item.
-
Demand per Day – This is also a hidden variable, but a key value in calculating other AIM variables. If you use Multi-Location Inventory, we calculate this value with respect to each active location.
We consider transactions based on the Transactions to Consider preference within time boundaries, the analysis interval. If seasonal demand is on, the starting point is today minus 365 days. The end point is the starting point plus the number of days specified by the Seasonal Analysis Interval. There is some expectation that seasonal demand will be comparable year over year. The size of the seasonal “window” is determined by the Seasonal Analysis Interval.
If seasonal demand is off, the starting point is today minus the Order Analysis Interval in days. The end point is today.
NetSuite calculates by summing the item quantities of Transactions to Consider within the analysis interval. It then divides that by the number of days within the interval to arrive at the demand per day. If an order has been closed, NetSuite uses only the quantity that has been fulfilled or built. If the order is not closed, NetSuite uses the original item line quantity.
NetSuite verifies if the Date of First Sale / Date of First Order is prior to the start of the analysis interval. This verification is to ensure sufficient data exists. For example, you cannot perform seasonal demand calculation if the Date of First Sale / Date of First Order was last week.
-
Auto-Calculate Lead Time – Respects the preference Use Lead Time and Safety Stock per Location.
The lead time is set to the average lead time of the three most recent fully received Purchase Orders. You must have at least three Purchase Orders with corresponding Item Receipts. You could also have corresponding Vendor Bills, which is relevant when the Bill in Advance of Receipt preference is enabled.
For each three purchase orders, NetSuite takes the difference between the Purchase Order transaction date and the date of the final corresponding receipt. The lead time is then set to the simple average of these three individual lead times.
Note that this value refers to the purchasing lead time and not the work order lead time, also known as the build time. For assembly items, you must enable the preference Allow Purchase of Assembly Items for meaningful auto calculations to occur. Go to Setup > Accounting > Accounting Preferences > Order Management > Work Orders. AIM does not support auto-calculation of the work order lead time.
-
Auto-Calculate Reorder Point – Respects the preference Use Lead Time and Safety Stock per Location.
The formula for calculating the reorder point is expressed as the rounded value of the following:
(Demand per Day*Estimated Demand Change*(Lead Time days+Safety Stock days))+Safety Stock units
For example, your Demand per Day is 20 units. If your Estimated Demand Change is 5%, your demand per day is 20 units * 1.05 = 21 units. If your lead time is 5 days – it takes 5 days from when you place your Purchase Order to receive it into inventory. Therefore, you need at least 21 units * 5 days = 105 units on-hand to avoid stockouts. If you placed your Purchase Order when you had 21 units, you would be able to fulfill orders for a single day. You would have to wait an additional 4 days for your order to arrive.
Safety stock in days means that you want an additional n days as a buffer. If you set Safety Stock to 2 days, in the preceding example, you add that to your lead time days. Therefore, you want 21 units * (5 days +2 days) =147 units. Your final calculated reorder point is 147 units.
However, you can choose to set your safety stock in units, instead of days. You set your safety stock to 30 units. Now your safety stock in days is unset. Therefore, the formula process this as: (21 units * (5 days +0 days)) +30 units. Your final reorder point in this scenario is 135 units.
In the preceding formula, if the value is null for three specific options, NetSuite calculates differently. The options include Estimated Demand Change, Lead Time days, and Safety Stock days. When the value is null, NetSuite uses the default value set in the Inventory Management Preferences. For Demand per Day and Safety Stock units, if the value is null, NetSuite use zero.
-
Auto-Calculate Preferred Stock Level – Respects the preference Use Lead Time and Safety Stock per Location.
The preferred stock level is given by the greater of two values, the Reorder Point and the following rounded value:
Demand per Day*Estimated Demand Change*Preferred Stock Level days
In the preceding example, your item has a Demand per Day of 20 units. Your Estimated Demand Change is 5%, giving your “true” demand per day of 20 units * 1.05 = 21 units. Your Reorder Point has already been calculated as 147 units.
You prefer to keep enough stock for 10 days, your Preferred Stock Level days is set to 10 days. NetSuite takes 10 days * 21 units =210 units, which is greater than your Reorder Point of 147 units. Therefore, your final Preferred Stock Level is 210 units.
If your Preferred Stock Level days is instead 5 days, then 5 days * 21 units =105 units. This amount is less than your Reorder Point of 147 units, therefore, your final Preferred Stock Level is 147 units. You cannot have a Preferred Stock Level less than your Reorder Point or you would run into stockouts.
If the Estimated Demand Change or Preferred Stock Level days is null, NetSuite uses the default value set in the Inventory Management Preferences. If Demand per Day is null, NetSuite uses zero.
Best Practice Using Auto-Calculation
After you enable the Advanced Inventory Management feature, there is a best practice when you set up inventory records. Do not immediately enter settings to auto-calculate stock levels and demand for ordering items. This is a best practice because if there is not enough sales history when you begin using auto-calculation, the data may be inaccurate.
The auto-calculation uses the full interval only if there are sales for the item before the beginning of the interval. If there are no sales before the beginning of the interval, the auto-calculation is attempted using half the interval. If there is not enough data to make calculations using the half-interval, the reorder point and preferred stock level remain unchanged. Later, you can enter manual metrics, or the auto-calculations can occur at a later date when there is enough sales data.
Avoid entering a set value for the inventory level initially, and then later activate the auto-calculation function through a mass update on item records. For more information about mass updates, see Mass Updates.