--- title: "About product modeling" slug: "about-product-modeling" description: "Learn about product modeling in Zilliant CPQ." updated: 2024-11-26T10:10:05Z published: 2024-11-26T10:10:05Z canonical: "docs.zilliant.com/about-product-modeling" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.zilliant.com/llms.txt > Use this file to discover all available pages before exploring further. # About product modeling The Zilliant CPQ product modeling feature enables you to define product rules based on a product's characteristics. Depending on the product rules defined in the product model, the system applies logic to perform the Bill of Materials (BOM) explosion. The BOM then uses the product model to determine range restrictions, attribute visibility, and values. The internal price engine also uses the configured data and exploded products to calculate the overall price or cost of sales documents. As shown in the following illustration, the product modeling feature models products by using the product BOM, attributes, knowledge base, rules, and scripting. ![Product modeling illustration](https://cdn.document360.io/24f960e8-3c1c-4c18-a2c6-83b6ae4aab84/Images/Documentation/product_modeling.png?sv=2026-02-06&spr=https&st=2026-11-02T12%3A19%3A22Z&se=2026-11-02T13%3A19%3A22Z&sr=c&sp=r&sig=Y966jYMDtm6BWhNiFWXiP7JwWgcOipR%2FsNLZoND2zNY%3D) The product modeling process comprises the following primary tasks: - [Create a product](/v1/docs/create-products) - [Define product attributes](/v1/docs/about-dynamic-attributes) - [Define a product BOM](/v1/docs/create-a-product-bom) - [Define product triggers](/v1/docs/about-product-triggers) - [Define calculations](/v1/docs/define-calculations) ## Product modeling terminology When working with product modeling, you should be familiar with the following terms: - **Product modeler**—Understands the product's business need. Defines structural information about the product and bill of materials (BOM) explosion rules. - **Attributes**—Characteristics of a product. Examples of product attributes are size, weight, shape, color, and others. There are two types of attributes: a dynamic data attribute (DDA) and a dynamic symbolic attribute (DSA). - **BOM explosion**—Process of adding the product bill of material (BOM) as subline items of a configurable product in a quote based on the defined triggers. - **Default BOM explosion**—When the main configurable product is added to a sales document, one or more of its BOM products is also added. - **Conditional trigger**—Rule that the configuration engine can execute if a condition is true. - **KBClass**—Holds the attributes or characteristics that define a classified product. A classified product can attach to a KBClass and create a different default value for each KBClass. - **Knowledge base snapshot (KBSnapshot)**—Copy of configurable or classified product's knowledge base to which a user can assign default values. - **Knowledge base**—Product model that contains dynamic attributes, layout, and trigger information. Useful for range restriction and BOM explosion. - **Global Precision setting**—Scales numeric value data according to the precision property defined in **SettingPrecision**. In the application, this is located under **Master Data Management** > **Setting Numeric**. - **Schema**—Product schema. Lists all standard attributes that a specific product has. - **OnType**—Specifies the domain business type. It is mainly used in price engine and config engine to help a user choose from available values. - **OnAttribute**—Specifies business type attributes, such as **objectName**, **objectERPId**, **objectExternalId**. With the help of **onType** and **onAttribute** properties, Zilliant CPQ can gather attribute values about the **onType** property. - **searchExpression**—Query to search through a quote at runtime. A trigger, also known as *KBTrigger*, is a rule that allows to automatically explode a product BOM, assign attribute properties, calculate attribute values, and more. Triggers also allow you to limit attribute values to ensure that users can create only a valid configuration of the product.