The new Item Categories feature replaced the Product Group feature in Dynamics NAV 2017

To help companies maintain an overview of their items and to help them sort and find items, it is useful to assign item attributes to items and to organize them in item categories. When customers inquire about an item, either in correspondence or through a web shop, they can then ask or search according to attributes, such as height and model year. In such a system, a category is a parent in a hierarchy of loosely coupled child attributes.

To provide this functionality, a new design of the existing Item Categories feature was released together with the Item Attributes feature in Microsoft Dynamics NAV 2017.

Before we introduced hierarchy functionality with the new Item Categories feature, the Product Group feature was used to design a one-level hierarchy by making a strong coupling between an item category (the parent) and product groups (the children). The Product Group feature was also used to carry the Warehouse Class Code value to specify the type of storage to use for a specific product group in connection with warehouse functionality.

Because the new Item Categories feature provides multi-level hierarchy functionality, and thereby does the same and more than the Product Group feature, we have deprecated the Product Group feature in Dynamics NAV 2017.

The change consists of the following:

  • The Warehouse Class Code field is moved to the Item and Item Template records. Before, the field was on the Product Group record.
  • The warehouse business logic is changed so that it uses the Warehouse Class Code value directly on the Item record.
  • The Product Group feature is removed from the user interface by making the Product Group Code field invisible on the Item Card page, and by removing the Product Groups page.
  • The actual Product Group table and fields that relate to it are still in the database, but not accessible from the user interface.

The upgrade to Dynamics NAV 2017 from an earlier version does the following:

  • Upgrades the existing product groups to become first-level children of the respective item categories.
  • Moves the Warehouse Class Code value to the items that have a specific product group. At the same time, creates an item template that has that warehouse class code.
  • For items that had both an item category code and a product group code, the upgrade puts the value that used to be in Product Group Code field into the Item Category Code field, because the related product group became the child of the related item category. The idea is that for the upgraded item, the Item Category Code field holds the most granular item category that the item belongs to (this used to be the product group). You can navigate to higher-level item categories by using the Parent Category field on the Item Category page.

Related change: Removing default setup fields from the Item Category record

Before we implemented the Item Templates feature, the values on the Item Category record, opened with the Item Category field, could be used to specify the following default setup values on item cards as belonging to the item category in question:

  • Field 4, Def. Gen. Prod. Posting Group
  • Field 5, Def. Inventory Posting Group
  • Field 6, Def. Tax Group Code
  • Field 7, Def. Costing Method
  • Field 8, Def. VAT Prod. Posting Group.

The five default setup fields are removed from the Item Category record and the related pages. The functionality is replaced with the Item Templates feature, and the Item Category field is now used with the Item Categories feature only, as described in the previous section. We encourage users to specify the above setup values by filling in the respective fields on item templates.

The change consists of the following:

  • Fields 4, 5, 6, 7, 8 are removed from the Item Category record and related pages.
  • Nonstock items now use the Item Templates feature. Before, nonstock items used item categories as defacto templates for these fields.
  • The upgrade to Dynamics NAV 2017 from an earlier version will turn existing item categories that are used on nonstock items into item templates with the necessary default setup fields filled in.

We apologize that we did not publish this information at the time when we released Dynamics NAV 2017.

The NAV team

Comments (13)

  1. Alex says:

    The big issue I see here, is that the Code has to be unique in the Item Category.

    Earlier I could have had this structure:

    – Wood
    > Chair
    > Bed
    – Steel
    > Chair
    > Bed

    Now I cannot do this, because the primary key only consists of the code field. Meaning I have to create the structure like this:

    – Wood
    > Wooden Chair
    > Wooden Bed
    – Steel
    > Steel Chair
    > Steel Bed

    How is this case handled in the upgrade process? If you just use the old Product Group and try to create it as an Item Category, it will result in an error for duplicates, won’t it?

    1. Roland says:

      @Alex you are right, we had this very issue when upgrading a client from 2015 to 2017 (albeit in a test enviroment). it just blew up. We had to recode in the 2015 instance to get around it. Very annoying!

      1. Djordje Cenic says:

        The issue with upgrading Product Groups with duplicate names has been fixed and the fix is included in NAV 2017 Cumulative Update. The fix was checked in November 2016, so it should be available in the latest NAV2017 Cumulative Update. If you upgrade from NAV 2015 to NAV 2017 Cumulative Update, the product groups with non-unique names will be assigned a constructed unique name (e.g. if Chair is taken, upgrade will assign it Chair1, or Chair2 if Chair1 is also taken, and so on…).

        1. Kalyan says:


          Thank you. We have some additional questions:
          1) Is the fix applied in Upgrade Toolkit objects or in the object level (extended primary key)?
          2) If yes then in which cumulative update of NAV2017 we can find the fix.
          3) Is this fix can also used to correct Historical data for BI tools? Please let us know.


  2. Eamonn says:

    seriously this doesn’t make sense…nav dev/consulting for 15 years.,, don’t get it right now??

    1. Eamonn says:

      there’s no control over hierarchy now from what I can see, a user can pick a parent or a child? how is this meant to work,,please explain?

      1. Djordje Cenic says:

        The idea is that in the Item Category Code field on the Item, user picks the most granular item category that the item belongs to (this used to be the product group).
        User filtering of Items on parent categories has not been implemented yet. Implementing this feature has been postponed to a future NAV release.

        1. Jonathan says:

          When will the parent filtering be introduced? We are soon to move to Nav 2017 from a different ERP program and without this the users will think we are going backward with less functionality.

    2. Eamonn says:

      can see it might be usable from a SQL reporting perspective in the background but how can a user filter on parent item categories when only the child categories has been selected on the item master??

      1. Pascal says:

        Unfortunately it seems it is another case where the devs have thought it a good idea without putting it to any real world testing or UAT – the fact that it was “Missed” from the publication notes(where this thread started) only goes to prove that.
        Users being able to have there own Saved Views for Item and product group combinations has always been useful – What I have found I have had to do before was create another hierarchy “Sub Product Group” with the same relationship to the product group as product group has to Item category.

  3. Mary E Simmons says:

    The Item Category Management Codeunit has a function that cause the running of Item Categories page to throw an error and locks the session

    1. Djordje Cenic says:

      Please specify which method in Item Category Management throws the error and causes the session to lock. The best way to report it is through

  4. Pascal says:

    problem is that you cannot have duplicate values anymore. Example, following the Cronos Item cats, if I have Furniture I could then have product groups of Desk, chair etc and one called “Other” for all funiture bits that do not fall into my established product groups.
    If I have a second Item cat code Bikes, I could have had product groups Mountain, Racing, childs and other.

    Now I can not use Other multiple times as the key is now the single record
    Are we really moving forward?

Skip to main content