Get started with product configuration in D365FO

Get started with product configuration in D365FO

Product configuration can be applied as a competitive parameter that allows customers to create customer-specific products by letting them choose between a fixed set of variables to configure the product they want to purchase. D365FO comes with a standard configurator that enables the configuration of items on sales orders, sales quotations, purchase orders, and production orders.?

Some basic terms must be defined before setting up a product configurator in D365FO. The terms are as follows:

  • Microsoft Solver Foundation (MSF) – MSF is the solver engine that solves the expression constraints and conditions formulated.
  • Optimization Modeling Language (OML) – An algebraic language for modeling. The language consists of identifiers, comments, string literals, Boolean constants, and arbitrary numeric literals.
  • Product Configuration Model – This is a generic product structure that can be differentiated to a specific instance based on values selected by customers.
  • Configuration Template - A partly completed product configuration. The template is used to reduce the requirement to configure product variants.
  • Attributes – An attribute value is a product characteristic, e.g., color. Attributes can be grouped in a subset called an attribute group. Attributes are added to components.
  • Component – Components are the main building blocks of a product configuration model, and most information about the model is related to them. A component can have subcomponents to create a parent/child relation between components.
  • Version – Is the relationship between a product configuration model and a product master. A version must be approved and activated before it is possible to configure an order line.
  • Constraint Model – A constraint model reduces the permitted number of attribute and component combinations by imposing constraints on the model.
  • Expression Constraint – A constraint that is formulated as an expression. Expression constraints use the syntax of OML, and MSF is used to solve the constraint.
  • Table Constraint – This is a constraint that specifies allowed attribute combinations. Each row in the table represents a legal combination of values.

?

To give an overview of the activities that are needed to create a configuration model, Microsoft has made the following drawing:


Drawing from MS Learn

How to create a configuration model

Before starting on the configuration model, the “Constraint-based product configuration models” must be configured under “Product information management parameters.”

  • Item lookup method – Two values are available. “Default” means showing items together with other items when selecting an item for a sales order, and “Configurable” means showing product configuration model items on a separate tab.o?? If the “Item lookup method” is set to “Configurable,” the configurable products will be found by selecting the “Constraint-based items” value in the dropdown when adding an item to the order line.


  • Configuration documentation type – Let you add a note to the order line.
  • Default configuration ID – Sets the initial configuration name for product variants.
  • Use cache for configuration – Use stored information to minimize the time to launch the product configuration model page.
  • Attach – Attach price model breakdown for product configuration model to an order line. The breakdown can be attached as a file or an image.
  • Default currency – The default currency is used in the price model for a product configuration model.

The next point is to create a component. Components can be made from the “Components” form or on the new “Product Configuration Model” prompt. ?


“Attribute type” is used to specify the data type for the attribute values. The following data types are valid for product configuration models; “Text,” “Boolean,” “Integer,” and “Decimal.” Using decimal values text without a fixed list and an integer without a range is possible, but the data types cannot be used when writing constraints. Currency and DateTime data types will be displayed in the list but cannot be used for product configuration models.

Adding attribute values for a component is to identify its properties. Attributes specify the features that can be selected when configuring a product variant. Each component can have one or more attributes. Attributes can be made mandatory or hidden, and a default value can be set for the attribute. To add attributes, the configuration model must be double-clicked.

After adding attributes, constraints are the next step. Constraints are the product restrictions for a product configuration model formulated as an expression or configured in a table. Table constraints are not coded rules like expressions. A table constraint defines the attribute combinations in a table, representing the allowed combinations of attributes.

The user requirements for components are very close to the same as a subcomponent. The only difference is that a user requirement is not bound to a product master. The BOM and route defined by the user requirement are collapsed into the parent component BOM and route. This is like a phantom BOM, where you do not want to store the unit but want to recipe something. When a user requirement is added to a product configuration model, the attributes and BOM lines to the corresponding component must also be added to represent the user requirement.

Now, the BOM and Route operations must be added to the component. The BOM for each component must be added, and a BOM line must refer to a product master or a released product. All properties can be set to a fixed value or mapped to an attribute while formulating a condition. The route operation is the manufacturing route and must refer to defined operations. A route operation can also be linked to an attribute through a condition.

If needed, “Subcomponents” and “Calculations” can be added. When adding a “Subcomponent,” a further level down the product tree structure will be created. This is to show the parent/child relationship between the components.

“Calculation” is for arithmetic operation in a configuration model. This could be for determining the length of a specific raw material or the processing time for a polishing operation. A “Calculation” is imperative and sets the value for a target attribute after all attribute values included in the calculation expression have been specified in the configuration process.

An attribute group is used to group attributes. An attribute group can be added to a root component or subcomponent to increase the usability of the configuration user interface. The attribute group will be shown as a header in the configuration prompt with the attributes associated with it beneath it. It is possible to hide and not display attributes in the group for the configure line. Attribute groups are added by going to the “User interface” in the action pane “Product model details.”

Attributes are displayed from the configuration model (picture below) and can be associated with an attribute group in the “User interface” form.

A price model can be configured for a configuration model and combined with price model criteria. This is only if attributes and components shall be used to calculate product price instead of BOM and route. The price model criteria state which order type (Quotation or sales order) the price model applies for and in which period it will be valid.

The “Price model” must be created before creating the “Price model criteria.” To make the price calculation for the price model, press “Edit.”?

A base price expression for each component in the tree structure can be defined in combination with conditions and expressions.

To understand the price model, the above example will be elaborated. Here, the base price is a static price of 899,55 EUR. This price can be modified by the different “Expression rules.” The “Condition” is the criteria that need to be fulfilled before the “Expression” is used to affect the “Base price expression.” In this case, the “conditions” and “expressions” affect the “base price expression” in the following way:

  • For white cabinet finish, subtract 59.95 EUR.
  • For corner protection, add 35.95 EUR.
  • For a metal front grill, add 89.95 EUR.
  • For rosewood cabinet finish, add 119.95 EUR.
  • Add 12.95 EUR for each unit of speaker height.

?

Validate and test the configuration model.

The validation of the configuration model happens by pressing “Validate” in the action pane “Run.”

Press “Test” on top of the “Validate” button to test the model. ?

A configuration template can be created to make the configuration process faster. The template is a partially configured product. Press “Configuration template” in the action pane “Product model details.” First, create the template by pressing “New” and then press “Save.” Double-click the template for creating the configuration template.

To apply the template when configuring a product, press “Load template.”

If the product is sold in different countries, translations can be created for all text that appears in the configuration user interface. This text includes name and description fields and attribute text values. The translation covers the name and description of the configuration models, components, subcomponents, attributes, attribute groups, and configuration templates. To create a translation, press “Translation” in the action pane “Languages.”

To translate the fields into a new language, press the plus and choose a language. When a translation for the selected language is made, the column “Translated” will be populated with a tick mark, as shown in the picture. Translations are done based on the setup of the “Product configuration model”; therefore, the number of fields that can be translated will vary based on the configuration model chosen.

Configuration model version

A version is the relationship between the product master, which can be selected for configuration on an order or quotation line, and the product configuration model. A version must be approved and activated before configuration is possible. To create a version, press “Versions” in the “Product model details” action pane.

It is possible to link products to a configuration model if the product is set up with the “Product dimension group,” “Config,” “Configuration technology,” set to “Constraint-based configuration,” and the “Products subtype” is set to “Product master.”

The “Pricing method” can be set to either “Cost based” or “Attribute-based.” The Attribute-based method will use the defined price model for different attributes and components. So, the attributes and components are the basis for calculating the product's price. The “Cost-based” method will use the BOM and route as cost input to calculate the product price.

Want to learn more about the cost calculated for a product when using the “Cost based” method? Read the article “Get started with Configuring the costing sheet in D365FO”.

Link: https://www.dhirubhai.net/pulse/get-started-configuring-costing-sheet-d365fo-jonas-kristensen%3FtrackingId=xMaU10nakMztfz%252B4jnr%252Fiw%253D%253D/?trackingId=xMaU10nakMztfz%2B4jnr%2Fiw%3D%3D

When the version is set up, it must be “Approved” and “Activated” before configurations from sales orders, sales quotations, purchase orders, and production orders are possible. It is possible to have multiple versions valid for different date periods.?

How to configure a product

To configure a product for an order line in D365FO, the configurable product shall be added to the order line. In this case, it is item D0004 on a sales order line. Go to the “Product and supply” dropdown and press “Configure line.”

Then, the prompt called “Configure selected item” will appear.


When configuring a product, it is possible to apply a product configuration template by pressing “Load template.” If a price model is created for the configuration model, it will also be possible to see the price breakdown by pressing “View price breakdown.”

To learn more about Product Configuration in D365FO and how to:

  • Choose the correct solver strategy.
  • Reuse of product configurations.
  • Understand and work with error messages.
  • Configure expression constraints.
  • Configure and use the calculations on product configuration models.
  • Configure user- and system-defined table constraints.
  • Understand the Syntax in OML.

?

Reach out and get help.

Vishak Fatric

Functional Consultant

3 个月

Thanks !! this is good read, what about the delivery date calculation, how is it calculated ?

回复
Nguyen Le Hang

Senior Functional Consultant

3 个月

Thanks for your sharing Jonas Evigdahl. Could you please let me know what MSF and OML do in Product Configuration Model? How do I know if the environment I am working on has configured these items - MSF & OML?

回复
Sylvain Garandeau ??

Functional Supply Chain Lead Consultant - Microsoft Dynamics D365 F&O

4 个月

Good job ! Thanks...

Great writing on product configurator.

要查看或添加评论,请登录

社区洞察

其他会员也浏览了