Monday, January 2, 2017

Product Attributes - Solving the Mystery

Product attributes in AX can be a mystery. Why are they there? What do they tie to? How do I set them up? Can I have separate product attributes for different types of products?

Within this post, I will break down the mysteries surrounding Product attributes in AX and help bring a better understanding to what this functionality can be used for.

Product Attributes - A Definition

Product attributes are user defined fields that are added to an item record without additional customization to your AX environment. They are found on the Released products form in AX, so they are easily accessible. Product attributes can hold any type of information you would like to store about an item and different item types can definitely hold different types of attributes as long as they are assigned to distinct categories! Attributes in AX are not tied to anything except the Released product and the Procurement category that they are assigned to. They are simply and purely for informational use only.

Examples of ideas for Product attributes might include:
  • QA Specifications for the item
  • Specific item codes, like code dates
  • Special notes about the item
  • Packaging instructions
  • Seasonal instructions

The possibilities are endless! You will see a few different ideas throughout my blog post here, but don't feel like you are confined to any one thing. If you need a place to put additional info on an item, Product attributes may be your answer!

Setup of Product Attributes

In order to set up Product attributes in AX, there are a few steps that you must follow to have success. Sometimes Product attributes can be a bit tricky, but if you follow these instructions, you can easily leverage this useful tool.

The setup for Product attributes begins in the Product information management module under Product information management > Setup > Attributes. There you will see Attribute types, Attributes, and Attribute groups. We won't get into Attribute groups within this post as they are somewhat different and not covered by the objectives of this post. Attributes and Attribute types can be confusing enough on their own, so let's start the process of breaking them down a bit further for you to understand.

Attribute Types

The Attribute type determines what kind of information will be in an Attribute and how it will be displayed. Attribute types should be set up first.

Attribute types can be set up as Currency, DateTime, Decimal, Integer, Text, Boolean, or Reference
Attribute types can be set up as Currency, DateTime, Decimal, Integer, Text, Boolean, or Reference.

An Attribute type can be set up as a Currency, DateTime, Decimal, Integer, Text, Boolean, or Reference. I am going to create an Attribute type called Range and select Text as my type (I selected Text because the number formats do not allow for symbols and must be utilized in the Value range - more on that next).

Image of a fixed list in attribute types using range values of 1-5, 6-10, and 11-15
A Fixed list can make your Attribute types a lot cleaner by creating a dropdown of predefined values.

This is also where you can define a fixed list for your attribute. This will give other users the ability to select the Attribute type from your predefined list instead of typing in a freeform value. If you want to allow for freeform values, you may leave the Fixed list checkbox unchecked.

You may have also noticed that there is an option for Value range as well. If I select this, it will give me the option to select a unit of measure and a valid range. Value Attribute types are automatically tied to the Currency, Decimal, and Integer types. In my second example, I will set up an Attribute type called Sell Range that will allow for a selection between the range allotted.

Image of value range selection, which is different from text in that it allows for a range from one value to the next and the attribute can only be within that range.
All number types will be defined by Value range.

The difference between what I did in the first example versus the second example may be customer driven or a company decision. In the first example, I can select a range between 1-5, 6-10, or 11-15. This is a good option if there are a range of choices. In the second option, I am given a valid range of values to use and select from. I will only be able to select one of those values when I am creating my attribute on the item.


Now that our Attribute type is set up, we must now associate it with an Attribute. I create a new Attribute called Tickets and can now associate my Attribute type of Range with this new Attribute. I can also select a Default value to always populate, for instance, if the typical Range for the Attribute of Tickets is 1-5, I would select that to be my default.

When setting up the Attribute, you can associate the Attribute type. You can also select a default value in this form if that is what you so desire.
Setting up a new Attribute, I would associate my Attribute type and select a default value if so desired.
If I were to set my Attribute up with the value Attribute type of Sell Range that I created using a value type, it would ask for one default value. In this case I have selected 1 ea.

An Attribute that has an Attribute type that's a value is set up a little bit differently.

As you can see, Attributes can additionally be set up to be searchable, retrievable, can be queried, can be refined, sortable, allow for multiple values, will ignore case and format, and allow for complete match. It would be best to keep the selection of these at a minimum if your Attribute list gets lengthy because it may affect system performance.

Tying Attributes to Different Item Types

Let's say I have two very different types of items. For example, I sell oranges and I also sell hammers. I may have an Attribute for Origin on my oranges that I wouldn't need on hammers and I might have an Alloy Attribute on hammers that I wouldn't need on oranges. Luckily, I can solve this by assigning the Attributes to a category and then assigning that category to the item.

The categories that are used for assigning Attributes are Procurement categories. These are found in Procurement and sourcing > Setup > Categories > Procurement categories.

Inside this form, I can create a New category node under the Procurement hierarchy called Oranges for my Attributes associated with oranges.

Within my new category of Oranges, I can assign any Attribute under the Product attributes FastTab. In my example, I have selected Origin.

You can add any Attribute to the Procurement category. 
Screenshot of adding attributes to procurement category.
Easily select and add any of your Attributes to the Procurement category.

You can now see that Origin is added into my Product attributes within my Procurement category of Oranges. I can also select here whether this is Required, Internal, Searchable, or Sortable.

Image of product attribute of Origin being added to procurement category of Oranges.
The Product attribute of Origin is now added to my Procurement category for Oranges.

If I have an Attribute that I want to have available for multiple, or even all categories, I would assign it to the category that is higher in the hierarchy and can choose to inherit category attributes from the parent categories.

Having different categories for different item types allows for the addition of attributes to items within categories that make sense. Because of Procurement categories, I can have the Product attribute Origin on my category of Oranges, the Product attribute of Alloy on my category for Hammers, and if I had an attribute that I used for both, I could just inherit that from the parent.

Adding Attributes to Items

Now, to add Attributes to items. We have done all of the set up, so as long as we did that accurately, it should be pretty simple to add our attributes.

You can add the items themselves in the Procurement category under the Products FastTab. This would be the easiest way to add a category with attributes to multiple items at once.

Within the Procurement category, there is a FastTab to add multiple products to the category at once.
Quickly add multiple products to the Procurement category in the Products FastTab.

Or, in the Released products form, within the Product information management module, you will select your item. In the ribbon, within the Set up section on the Product tab, you will see both Product categories and Product attributes.

Image of Released products form, circling where Product categories and Product attributes live in the Product tab under Set up.
Another option would be to add the items one at a time on the Released products form.

If you select Product categories, it is here where you can select your Procurement category that you set up before. I will be selecting my Oranges category from my Procurement category hierarchy that I created. I will not be able to see any Product attributes on my item until I select a Product category.

Screenshot of adding the Category hierarchy and the Category to see associated Product attributes.
Select the Category Hierarchy and the Category to see associated Product attributes.

Then, when I open Product attributes on the selected item, I will see that Origin is available as an attribute for me to fill out on this item. The default value is Florida, but the other items from my fixed list have populated as well.

My Product attribute has been added and you can see the fixed list I created for the value of my attribute Origin.

You can now set up any item and tie it to any Procurement category you wish to add Attributes to. Be careful not to add Attributes to a FastTab called Category attributes. This will not work and causes a lot of confusion for people!


Product attributes are easily one of the most customizable fields within AX. With a little bit of practice, patience, and planning, you and your company can be using Product attributes to better define your items in AX in no time. 


  1. Kelly,

    This is very helpful. Do you have any additional information on how to search released products for product attributes or filter based on attributes? I cannot find it in the tables to add to the grid or a separate search for all items with an "origin" of "Florida" in your example.

    1. Hi Kelly,

      Did you ever found a way to search items by attributes?
      We are currently facing the same question in D365 F&O.
      Any help would be very much appreciated!


  2. Yes, I'm looking for a way to list my released products and their attributes as well.