Product documentation
In This Topic
    Dynamics Order Entry Optimization - Assortments
    In This Topic

    Business value

    In standard Microsoft Dynamics 365 for Finance and Operations for Retail, assortments:

    But assortments do not have any effect on filtering products in the (retail) sales orders in the Microsoft Dynamics 365 for Finance and Operations client.

    Order Entry Optimization adds the filtering of products based on assortments.

    For mid to large size distributors and retailers it will be increasingly vital to be able to utilize multiple marketing and distribution channels that are highly effective, efficient and profitable. If we have to ask yourselves why this is increasingly vital it might already be too late. Your competitors are coming for your customers with a vengeance. They will have very clear and consistent messages that promises to deliver exactly what the need of your present customer and they actually have the means to deliver it! Even beyond the expectation of the customer.

    One of the clearest messages is what one sells through a channel. Examples are best found online. The company Cool Blue sells through online channels like TVStore.nl where one can only find tv’s. Or digital camera’s through camerashop.nl. Cool Blue has more than 50 of these channels and they are not only online but also have physical shops. It’s clearly focused and highly successful. Another, more generic, example is the differentiation between the sizes of physical stores in categories. The smaller shops only sell the “core” product range and can be even specialized on some (local) brands. The bigge(r)(st) shops sell just about the complete product portfolio and even beyond that when they sell out of the catalogues of the suppliers. The alignment of the products to these channels out of the complete product portfolio is done through assortment functionality in Microsoft Dynamics 365 for Finance and Operations. Within assortments one can include and exclude complete ranges, products and variants.

     Note

    Specials are excluded from the assortment check when entering sales/sales quotation lines!
       

     

    Assortment filtering

    Order specific assortment based on assortments of multiple sources

    In standard Microsoft Dynamics 365 for Finance and Operations, we are only able to assign assortments to channels. We found that in many businesses it is useful to extend this functionality to other entities in order to sell or purchase products per:

    We added the ability to in- and exclude products on quotes, (retail) sales- and purchase orders by assigning assortments to customers, suppliers, employees, sites, warehouses and customer or vendor chain. In Quotes, purchase or sales orders the assortments, coming from the sources mentioned above, are combined into an order specific assortment tailored to the combination of channel, customer/supplier, chain, employee, site or warehouse.

     

    Assortments intersections

    Given a total product file in a company an employee, customer and store (or warehouse or chain) could all have their own NON-overlapping subsets (assortments) of this product file. Standard Microsoft Dynamics 365 for Finance and Operations Retail functionality sets a default assortment in the header of an order or quote and that’s basically it. The list of products shown will be based on the set assortment. However, the total employee assortment may not be valid in combination with another assortment. For instance, the assortment of the customer or the channel might not overlap. When all assortments would have to be applied, very strictly, the items displayed in the order would only be the ones in the intersection of the three assortments:

     

     Note

    Our extension is not applicable on the POS and On-Line store
       

     

    (Non-) restrictive assortment hierarchy levels

    As stated, in different words, above assortments can be useful in three ways:

    The user will be helped automatically by setting the correct (intersection of an) assortment and he or she can choose an assortment (see below for a further description) or remove the assortment filter. By which he gets to see the full product file. But what if the assortment should be applied very strict? This requires a setting which determines whether an assortment should be strictly applied or whether it is just a useful filtering mechanism for the operator.

    Before the solution is fully described first the following: A total branch assortment can be set up containing multiple assortments. Besides, the same assortment can be just a help for one employee and restrictive for another and lastly a branch assortment can be a help for selling goods, but must be applied restrictive in case a user is acquiring goods that will go on stock for the branch. These facts lead to the conclusion that application of an assortments-“policy” (Non-restricting or restricting) is dependent on the entity the assortment is associated to and can be different when applied for acquisition or selling. In case a user tries to insert or types in an item, which is not part of the restrictive assortments, a message will appears telling him that is not possible.

     

    Filters in orders

    View items

    If an assortment is present in the order header, only items within this assortment are feasible. If no product group is specified in the order header, all items (except for the blocked items) are visible in lookup and allowed in the line.

     

    Inserting items

    On the order line, items can be added in several different ways. In case of retail orders, OR when assortment is set on the order, these items are filtered. It should not be possible to add an item (or variant) which is not part of the selected restrictive assortment. Therefore, the authorization of the assortment field in the order header is important to guarantee that items are sold solely to customers who are an official dealer, etc.

     

    Assortment policies

    For this reason, on each entity two new fields have been added in the new field group assortment (except for the Retail channel as this is only applicable for sales orders/quotations):

    Both fields have the options:

     

    The assortment policies can be setup on vendor, customer, worker, site, warehouse, channel and company chain.

     

    Effects and changes when entering an item in an order

    In standard Microsoft Dynamics 365 for Finance and Operations there is no assortment set on the order header. Now, assortments can be manually selected or are inherited to the header of the following order types:

     

    The lookup of products on the order line will be filtered accordingly: products can be only selected if they are part of the order assortment. On the sales order header, tab General, the field “Applied assortment hierarchies” shows all assortments that are applied to the order. In the lookup it is possible to see the origin.

     

    When the user clicks on the lookup in this field a form with grid shows the following information:

    For example, if we have three assortments applied: Customer assortment, Channel assortment, Employee assortment. The user un-applies the Retail channel hierarchy entity and closes the lookup form. The text in the field “Applied assortment hierarchies” will only state “Staff, Customer” assortment names and the shown product listing when the user searches should be restricted to the intersection of staff (employee) and customer.

     

    Overview active assortments per order type

    Field Description Remark
    Customer SO, Retail-SO, Sales quotation, Sales agreement -

    Vendor (Supplier)

    -

    PO, Purchase agreement

    Staff (Worker) **

    SO, Retail-SO, Sales quotation, Sales agreement

    PO, Purchase agreement

    Site

    SO, Retail-SO, Sales quotation, Sales agreement

    PO, Purchase agreement

    Warehouse

    SO, Retail-SO, Sales quotation, Sales agreement

    PO, Purchase agreement

    Company chain

    SO, Retail-SO, Sales quotation, Sales agreement

    PO, Purchase agreement

    Retail Channel (Store)

    Retail-SO, Sales quotation *

    PO *

     

    *   If Microsoft Dynamics 365 for Finance and Operations user is assigned to a retail channel then the retail channel assortments will be applied as non-restricted.

    ** On creation of an order the worker of the signed in user determines the assortment on the order header.

     

    Nested assortments

    It is off course possible to create assortments and assign it to one or multiple channels. But we often see hierarchies in assortments. Many companies have stores sorted into sizes. E.g. Small, midsize and big. With nested assortments one does not have to maintain multiple assortments but by setting the parent child relation the child assortment will inherit the assortment of the parent. Doing so will keep the maintenance effort to a minimum. Changes to a parent assortment will automatically be transferred to its descendants once forward published.

     

    There are basically two approaches of building up a nested assortment structure.

    Child assortment is a subset of parent assortment 

    Start with an assortment that has all products in it and exclude in its descendants more and more products.

    We have an assortment called Basic and it includes all the Electronics equipment. The company has 3 types of stores (small, medium and big).

    We make the following assortments based on the store size:

     

    Child assortment is extended with extra products

    Start with the smallest assortments and extend this in the descendants of this assortment by adding product nodes, products or variants. We can do the previous example in another way and have a Basic assortment that we have it in all of our stores and based on the size of the store we extend the assortment. Let us take a supermarkets chain as an example. They have basic assortments that will be in all stores (ToGO). Then they will extend this assortment for the normal supermarkets and will extend it more for big stores. We will have the following assortments:

     

    Constraints

     

    Linked assortments

    On the retail assortment details page a new section Nested assortments with two grids has been added. One grid shows the parent-assortments of the current assortment. The second shows the child-assortments of the current assortment.

    When the assortment is in edit mode the user is able to add new parents:

     

     

     Note

    When selecting a child assortment the lookup will only show assortments that are not in the state published. Reason: by selecting the child assortment this assortment gets modified as it will inherit the lines from the parent and you can only modify an assortment which is in the state draft.
       

     

    The lines from parent assortments are indicated with a Lock symbol and cannot be edited.
    If you want to override such a line you can add a new record with the same key and change the line type, on save it will hide the line from the parent. On delete of this inserted line the parent will be restored.

     

     Note

    One cannot mix the two policies within an assortment. To that effect, it will be confusing when a parent assortment which behaves like standard Microsoft Dynamics 365 for Finance and Operations and the current must behave in order to let the lower level inclusions precede the higher level exclusions. Parent- and child- assortment therefor must have the same inclusion policy. The list of parent- and child- assortment out of which an assortment manager can choose from should is filtered on the inclusion setting of the current assortment. A validation check has also been built, in case the assortment manager enters the parent- or child-assortment id manually.
       

    Remove parent

    When the assortment is in edit mode the user is able to remove or delete a parent:

    When the user does this, the product lines that were copied from the deleted parent, will be instantly deleted from the current assortment and the current assortment child assortments and all their descendants.

     Note

    Microsoft Dynamics 365 for Finance and Operations checks after an insert or update of a product line on the current assortment whether a parent product line with exactly the same values already exists. If that is the case the parent product line should be deleted from the current assortments product line list
       

     Note

    If a product line in an assortment has a line type “Include” and it is removed or updated, the system will look, based on the old values, if an excluded product line with exactly the same values exist on a parent assortment. If that is the case the parent product line will be copied into the current assortment
       

     Note

    The in- and exclusion rules only work within an assortment. This means that if for the same level (Category, Product, variant) is included in assortment A and excluded in assortment B and in a certain order these two assortment get combined the end result will be that this level will be excluded
       

     

    New children

    When the assortment is in edit mode the user is able to add new children: This will open a lookup form. The user will be able to choose the child-assortment through a lookup:

    The list of optional assortments is filtered so no circular relations can be set up.

     

    Remove children

    When the assortment is in edit mode the user must be able to remove or delete a parent. When the user does this the product lines that were copied from the current assortment must instantly be deleted from the deleted child-assortment and all its descendants.

     

    Forward publish

    With the button “publish” the user indicates that the current assortment can be processed. During processing the current assortment product lines get “exploded” (in a hidden table) into a list of items and variants that are either in- or excluded for that assortment.

    A new button called “Forward publish” has been added.  

    Clicking this button will trigger the publishing of the current assortment, its child assortments and all its descendants. If a child assortment or its descendants has multiple parents, it can only publish that child assortment if all its parent assortment are published!

     

    Copied and current assortments product lines

    Product lines that are copied from a parent assortment into the current assortment:


     

    Current assortment product lines

    Product lines that are added from the current assortment:

     

    *) For instance: If a category is excluded in the parent assortment and included in the current assortment. It should be prevented or corrected that the exclusion from the parent assortment exclude items based on this conflicting same level setup. This practically means that

    the product line should not be copied or if it already exists it should be deleted from the current assortment product line list.

     

    Combining assortments

    The in- and exclusion rules only work within an assortment. This means that if for the same level (Category, Product, variant) is included in assortment A and excluded in assortment B and in a certain order these two assortment get combined the end result will be that this level will be excluded.

     

    Summary

    Inserted lines in the child assortment always have a higher priority than the inherited lines from parents.

    Field Description Remark
    Insert new product line Child will not be overridden (Stylus) Product line will be inherited from parent to child (Lock)

    Update product line

    Child will not be overridden (Stylus)

    Product line will be inherited from parent to child (Lock)

    Delete product line

    Child will not be deleted (Stylus)

    Inherited parent product line will be deleted from child

     

    Field Description Remark
    Insert new product line

    New child product line will be inserted

    Inherited line will be hidden

    New child product line will be inserted

    Update product line

    Child product line will be updated

    Delete product line

    Child product line will be deleted

     

    Assortment status

    Assortments can be in one of the following status: Published, Draft or Expired.

     Important

    Only published assortments will be applied and shown in the lookup on the order header. That means during working hours, assortment should not be edited as it will be set to “Draft” status. In that case the assortments stored and shown on existing orders, will not be applied and all items can be added to the order. Changing the status of parent assortment to Draft will affect the child assortments: these will also get status Draft.
       

    Assortment expiration

    Retail > Retail IT > Products and inventory > Process assortments

    If an assortment has expired all linkages to either parent or child-assortment will be deleted the first time the process assortment batch is run after the expiration date.

     

    Setup

    Parameters

    Retail > Headquarters setup > Parameters > Retail parameters

    Extra parameter fields:

    Field Description Remark
    Show non-applied assortments

    Show all assortments in the system on the order header, to help filter the items lookup

    Display all active assortments in the system on the order header. The ones that are applied to the order based on their origin (Channel, Worker, Customer, Vendor, Site, Warehouse or Chain) will be marked selected. The value of the assortment policy will be set accordingly. Assortments that do not have an origin (where table name is empty) will be set non-restrictive.

    Lower level inclusions precede higher level exclusions

    Default value for this field on creation of a new assortment. Used to simplify the setup of assortments

     

    Assortment setup

    The user can setup assortments in Category and Product management. An assortment is a multi-level category structure with products.

    Assortments can be set up on the following entities:

    Human resources > Workers > Workers > sub tab: Assortment

    Warehouse management > Setup > Warehouse > Warehouses > fast tab: Retail

    Warehouse management > Setup > Warehouse > Sites > fast tab: General

    Accounts receivable > Customers > All customers > fast tab: Retail

    Accounts payable > Vendors > All vendors > fast tab: Retail

    Sales and marketing > Setup > Prospects > Company chains (customer chain / vendor chain)

    Retail > Channels > Online stores > Ribbon tab: Channel > View assortments

    Retail > Channels > Retail stores > All retail stores > Ribbon tab: Store > View assortments

     

    In an order line there are generally four ways to insert an item:

    The assortment is used for filtering the items in the lookup on sales orders, purchase orders, sales quotation, purchase quotation, sales agreement, purchase agreement. Specials are filtered out by default.
    Specials are also filtered out by default on trade agreements, movement inventory journal, inventory adjustment journal, transfer inventory journal, counting inventory journal.

     The available products per assortment can be listed, by using the query View assortment products. Important to note here is that this overview will display all available products within the assortment, but does not show Variant details. When a Variant item is added to the assortment, then the product is listed here, but it is not recognized as a Variant (=standard Microsoft Dynamics 365 for Finance and Operations behavior). However, on the orders, the excluded variants will not be visible.

     

     Note

    The product becomes visible in the query when any of the retail channel is related set up for the current company, and the assortment is published (the batch job “Retail assortments job”, which is executed automatically needs to be finished before the products become visible).