ABC Classification Explained: D365 Finance and Operations

ABC inventory analysis is a commonly used strategy to categorize inventory into “A”, “B”, and “C” classifications based on the Pareto Principle that 80% of sales, cost, or inventory value can be attributed to 20% of the products in inventory. This classification helps businesses prioritize and gear processes toward their most profitable or valuable inventory items.

ABC classification in Dynamics 365 Finance and Operations not only allows you to calculate and display the ABC classification associated to the product based on user defined parameters, but also to automatically assign to those classifications to products. This allows you to do reporting and analytics based on this assignment as well as other things like, cycle count frequency, and even different warehouse processes.

For example, when an “A” product is received you might want it to be quality checked with a specific quality routine where “C” products may just go straight to put away. In this post we will go though how to generate the report to calculate the ABC classification based on its parameters but also how to run the job that will automatically assign those classifications to the respective products. Then we will see where that classification can be used throughout the system for various purposes.

ABC Classification Report

The ABC classification report has two primary purposes. The first is the obvious one, which is to simply produce a report that will show you your ABC classifications of your products. The second is a way to test different parameters to ensure that when you are ready to run the ABC classification job, discussed, later in this post, you are comfortable with the ABC classifications that the system will automatically assign to products. I use this report to tweak and test the parameters to get them just right. Let’s take a look at the report and the report parameters.

To run the ABC classification report, navigate to Inventory management > Inquiries and reports > Inventory value reports > ABC classification.

Let’s go over the parameters for the report. The first step is to select which ABC model you want to use. The options are:

Revenue – This option will calculate the ABC classification based on the revenue generated by the product. This means sales data will be used to determine how much revenue was generated during a given time period for this product.

Margin – This option will also use sales and cost data during the specified time period to determine the margin of the product.

Value – This option will calculate use the product’s inventory value by multiplying the cost by the quantity on hand to determine inventory value.

Carrying cost – This option will calculate product carrying cost. The carrying cost calculates how much it costs to carry the inventory based on a given interest rate that could be earned by investing the money into a secured one year or guaranteed asset like treasury bonds or certificate of deposit. This will be the only ABC method where you need to use the “Internal interest rate in %” field. The calculation is as follows:

Carrying cost = ((annual interest rate / 365) * days the product was carried in inventory)

Then to get the ABC calculation we need to get what percent of the total carrying cost this product accounts for. Then the system calculates whether it is A, C, or C based on this percentage.

% of Total carrying cost = ((Carrying cost / Total carrying cost)*100)

Once you have selected the ABC method, we need to select our A, B, and C percentages. The most commonly used ABC percentages I have seen are 60, 30, 10 but you can enter whatever works best for your organization. The system will then use these percentages to calculate an “A”, “B”, or “C” value based on the percentage of the total that gets calculated for all products.

The last thing we need is the “From date” and “To date” selections. These will determine the date ranges for the transactions used in the calculation.

If you want to filter for specific products or groups of products you can use the “Filter” button to filter the report down a little. For more information on how to use advanced filters see this post. Once you have entered all the parameters click the “Ok” button to run the report.

You can continue to adjust the A, B, C percentages until you get the results you are looking for.

Assign ABC Classification to Products

Now that you have the ABC calculations looking the way you want, the next thing we need to do is assign these ABC values to the products. You can do this manually or you can have the system do it for you. Remember, the values that will be assigned will be the same values that you saw in the report which is part of the reason why we run the report in the first place. So, make sure when you run the job to assign the ABC values, you use the exact same parameter values as you used in the report.

To have the system automatically assign the ABC values to products navigate to Inventory management > Periodic tasks > ABC classification. You will notice that the parameters are the exact same. The only difference is that when you click “Ok” the system will go out and update the ABC code for the ABC method you selected for each product that falls within the query (if you have provided one).

After the periodic job runs let’s go back and check to make sure it updated the product. Navigate to Product information management > Products > Released products. In the “Manage costs” fast tab you will notice that the “Value” ABC method field has been updated to “A” because according to the parameters I set this is an “A” product.

Use the ABC Classification in Cycle Counting

Now that we have updated our products, we can use these classifications to support specific business processes throughout the system. One of the most common is cycle counting. In this example I will show you how you can use it with the advanced warehouse management enabled cycle counting but you can also use the ABC classifications to count using the basic cycle counting features as well.

Keep in mind that Dynamics 365 Finance and Operations advanced warehouse management cycle counting is location based but you are still able to filter down your cycle count work creation to specific products. If you have a single product per location this will work fine.

Navigate to Warehouse management > Setup > Cycle counting > Cycle count plans. In your cycle count plan you can create a cycle count plan product selection by clicking the “New” button in the lower pane of your selected cycle count plan and call it “A items” for example and then click the “Define product query” button.

In the advanced filter form you can select “ABC-code value” as your field and “A” as the field criteria and when cycle count work is generated from the plan, it will create cycle count work only for locations where “A” products are stored.

Use ABC Classification in Warehouse Processes

There may be cases where depending on the warehouse process you want to route A, B, or C items through a different process in the warehouse, whether that be during purchase order put away, sales picking or anything in between.

You can incorporate the ABC classification into the logic for warehouse processing using location directives. For more on location directives see this post.

Navigate to Warehouse management > Setup > Location directives. Then on the desired directive you can click the “Select” button to add criteria for the A, B, or C items the same way we did in the cycle count query.


The ABC Classification functionality in Dynamics 365 Finance and Operations can help you classify and focus your attention and processes on your most important products to help reduce cost and waste in warehouse processes. ABC classification can be automated to ensure that as changes occur to value or sales the system classifies the products accordingly. If you haven’t implemented ABC classification in your organization or on your project, test it out and see if could add value!

Tim Woods

Tim has been an AX/D365 Finance and Operations Consultant for over a decade and loves to share insights and knowledge from multiple full cycle implementations.

Recent Posts