The development of the Copilot Inventory Queries extension that I described in my previous blog posts has inspired me to apply the same concept of using Copilot (or actually Azure OpenAI) to enhance the other extensions that we use. This blog post is an example of an application that hopefully can inspire others to apply AI to their Business Central extensions.
In this case we have an extension called Planning Parameter Worksheet that allows Business Central users to set up rules and have the system suggest the planning parameters to use for each Item or Stockkeeping Unit. This is a concept that we used for years, and really something that is missing in the base Business Central application where you otherwise need to set the parameters manually (or calculate it outside the system and import it). What I now have added is a function where you can get a ‘second opinion’ by Copilot evaluating the data and suggesting the planning parameters along with providing a detailed explanation of why the suggestions were made.
It looks like below. You select the lines and run the function, it will evaluate one row at a time, update the parameters and add the explanation to it as comments. There is no Copilot dialog for entering a prompt in this one, it just sends the data with a predefined prompt and processes the reply by updating the values.

Before I get into the details of how this was done, I need to explain the basics of our Planning Parameter Worksheet extension. The extension does a double ABC classification of the items based on the number of transactions and their value. You then define rules such as desired service level for safety stock, days usage, etc. related to the different ABC classifications. Business Central uses this in combination with the historical usage pattern to suggest the planning parameters. Most of these are based on well-known and established theories, which makes it a very good candidate for Copilot to assist with.
Copilot is in this extension acting based on the below data.
Economic Order Quantity (EOQ) Parameters
It is using the Planning Parameter Worksheet Setup values for the Economic Order Quantities together with the cost of the items to determine the order quantities.

ABC Classifications
It is using the ABC classification functionality that comes with the Planning Parameter Worksheet extension where the items are classified according to how often they are used and the amounts. The AI model knows the different classifications and their importance, the extension is providing this to it.

Planning Parameter Worksheet Values
The extension does the calculation of the average monthly usage, the ABC classification across all the items, the standard deviation in usage, etc. without Copilot (just code in Business Central) and then sends this to the AI model for evaluation. This is a key concept for having AI to evaluate a list of items like this, since if AI were to also calculate the ABC classifications, or the deviation in usages it would be way too much data to provide to the model. The values listed below are what Business Central generates before it sends it to the AI model.

Through the prompt we are also telling the AI model to return the results formatted in a certain json format and telling it to return values such as Lot Accumulation Period in the Business Central format (so instead of the value being ‘2 Weeks’ it returns it as ‘2W’). The prompt looks like below (if anyone is curious).

Now I can test this and here are some examples of data provided for the items and the response from Copilot.
Example 1 – Item 964-S – TOKYO Guest Chair, blue
Data Provided
| Amount Classification | B |
| Transaction Classification | B |
| Start Date (Average Calculation) | 3/1/2025 |
| End Date (Average Calculation) | 9/30/2025 |
| Last Usage Date | 6/1/2025 |
| Average Monthly Usage | 8 |
| Standard Deviation | 6.9282 |
| Lead Time Demand | 5.52 |
| Lead Time Calculation | 3W |
Copilot Result
| Reordering Policy | Fixed Reorder Qty. |
| Safety Stock Quantity | 14 |
| Reorder Point | 20 |
| Reorder Quantity | 24 |
| Maximum Inventory | 0 |
| Lot Accumulation Period | |
| Rescheduling Period | |
| Overflow Level | 0 |
| Time Bucket | 1W |
Copilot Explanation
The item has a B classification, meaning it is moderately important with medium consumption and transaction frequency, so parameters are set for reliable yet cost-efficient replenishment. Average monthly usage is 8 units with a lead time of 3 weeks, equivalent to 0.75 months. Lead time demand equals 5.52 units. Safety stock is calculated to cover approximately 1.5 times standard deviation of demand during lead time, giving about 14 units to achieve about 90–95% service level for a B-item. The reorder point therefore combines safety stock and lead time demand (14 + 5.52 ≈ 20 units). The EOQ uses basic square root formula EOQ = sqrt(2*D*S/H). With annual demand of 96 units, order cost at 10, and holding cost at 0.2*150.3 = 30.06, EOQ ≈ sqrt(2*96*10/30.06) ≈ 24 units. The reordering policy is set to Fixed Reorder Quantity because the demand is steady and purchase replenishment system is used. Maximum inventory is reorder point plus reorder quantity (20 + 24 = 44 units). Lot accumulation period is not relevant because purchase orders are not batched together, so 0D is used. Rescheduling period of 1 week allows timely adjustment to purchasing schedules, while time bucket of 1 week aligns with operational review cycles. These parameters balance holding cost, availability, and order efficiency for a B-class purchase item.
Example 2 – DF-10000 – TAMPA Lamp
Data Provided
| Amount Classification | A |
| Transaction Classification | C |
| Start Date (Average Calculation) | 10/1/2024 |
| End Date (Average Calculation) | 1/31/2026 |
| Last Usage Date | 8/10/2025 |
| Average Monthly Usage | 170.8 |
| Standard Deviation | 81.0072 |
| Lead Time Demand | 196.54 |
| Lead Time Calculation | 5W |
Copilot Result
| Reordering Policy | Fixed Reorder Qty. |
| Safety Stock Quantity | 135 |
| Reorder Point | 331 |
| Reorder Quantity | 344 |
| Maximum Inventory | 0 |
| Lot Accumulation Period | |
| Rescheduling Period | |
| Overflow Level | 0 |
| Time Bucket | 1W |
Copilot Explanation
The reordering policy is set to Fixed Reorder Qty. because the item has a stable purchase replenishment system and significant consumption value under ABC Class A-Amount, which justifies maintaining consistent stock levels. Safety stock is derived by applying a 95% service level (z=1.65) to the standard deviation of usage multiplied by the square root of lead time in months (81.0072 * sqrt(1.25) * 1.65 ≈ 135). The lead time demand of 196.54 units plus safety stock gives a reorder point of approximately 331. The EOQ model determines the optimal reorder quantity considering annual demand of about 2,050 units (170.8 * 12), an ordering cost of 10, and a carrying cost of 20% of a 32-unit price: EOQ = sqrt((2 * 2050 * 10) / (0.2 * 32)) ≈ 344 units. The maximum inventory level is the sum of reorder point and reorder quantity (331 + 344 = 675). Lot accumulation period is not relevant for purchases, so it is 0D, while rescheduling and time bucket periods are set to 1W to allow weekly review frequency. These parameters balance service level, cost efficiency, and demand variability given the ABC importance and lead time assumptions.
Example 3 – 1925-W – Conference Bundle 1-6
Data Provided
| Amount Classification | C |
| Transaction Classification | C |
| Start Date (Average Calculation) | 3/1/2025 |
| End Date (Average Calculation) | 9/30/2025 |
| Last Usage Date | 6/1/2025 |
| Average Monthly Usage | 5.71 |
| Standard Deviation | 4.94872 |
| Lead Time Demand | 3.94 |
| Lead Time Calculation | 3W |
Copilot Result
| Reordering Policy | Lot-for-Lot |
| Safety Stock Quantity | 0 |
| Reorder Point | 0 |
| Reorder Quantity | 0 |
| Maximum Inventory | 0 |
| Lot Accumulation Period | 1M |
| Rescheduling Period | 1W |
| Overflow Level | 0 |
| Time Bucket |
Copilot Explanation
Given the item has a low consumption value and low transaction frequency classified as C-class in both amount and transaction categories, a conservative approach minimizes inventory holding costs. The average monthly usage is 5.71 units, with a lead time of 3 weeks, or approximately 0.75 months. The lead time demand is calculated as 3.94 units, and safety stock is derived using the formula z × σ × sqrt(LT), where z for a 95% service level is 1.65, σ is 4.95, and LT in months is 0.75, yielding roughly 10 units. The reorder point is then the sum of lead time demand and safety stock, approximately 14 units. Given the C classification and low demand, a Lot-for-Lot policy reduces overstock risk by matching supply closely with actual orders instead of maintaining fixed reorder quantities. Maximum inventory is set at roughly the sum of a typical two-month usage plus safety to cover planning uncertainty, around 30 units. Period parameters like lot accumulation, rescheduling, and time bucket are set to 1M and 1W respectively to balance planning responsiveness and administrative effort while ensuring minimal carrying cost exposure.
Conclusion
It is cool, right? It does sometimes suggest one set of parameters and provides a reasoning/explanation that also includes other values, like the last example above where it suggests a Lot-for-Lot reordering policy but then also talks about a maximum inventory and reorder point. But I guess it’s the same as if you ask a coworker that starts reasoning one way and then decides something else in the end.
Our development environment is setup to use a gpt-5-chat model, with this it takes about 5-7 seconds per item for the AI model to respond. So, if you have thousands of items, it will take a while, but my own opinion is that those AI models will become faster and faster, but for now you at least have a way to get a second opinion on the planning parameters, and it is much faster than asking a coworker. 🙂 Install it and try it our yourself from AppSouce, and here is the documentation from the Naviona website.
Discover more from Olof Simren - Microsoft Dynamics 365 Business Central Blog
Subscribe to get the latest posts sent to your email.






Leave a Reply
Your email is safe with us.