đ How to access this feature?
Main menu > Catalog > Products > “Margin analysis” button
The catalog margin analysis is a dedicated screen that displays, for all your products, the margin calculated from the purchase cost and the selling price, compares it to the minimum threshold of the family for each product, and allows you to understand how the price is built â including for composite products (kits) and generic products.
Unlike the margin analysis of a quote, which measures the margin realized on a specific sale, this screen analyzes the catalog margin: the one resulting from your costs and reference prices, before any sale.
1. Accessing margin analysis #
The screen can be accessed in several ways:
- from the catalog, via the “Margin analysis” button available on the product list (Main menu > Catalog > Products);
- from the report center, in the Sales category;
- from a product record, via the “Margin analysis” button: the screen then opens directly filtered on this product, with its construction details already expanded. A banner indicates the applied filter and a “View all products” button allows you to return to the full list.
Access only requires read rights on products. The screen works whether or not you use generic products.
Tip: Searching by name or reference is case-insensitive and accent-insensitive: typing
generiquefinds “GĂ©nĂ©rique” just as well.
2. Reading the table #
Each row corresponds to a product and presents:
| Column | Meaning |
|---|---|
| Product | Product name and reference. The name is clickable and opens the product record. |
| Nature | Simple, Generic, Specific, or Kit (see section 4). |
| Family | Product item family. Clickable: opens the family record. |
| Purchase cost | Reference cost used to calculate the margin. |
| Selling price | Catalog selling price. |
| Gross margin rate | Margin relative to the selling price: (Prix de vente â CoĂ»t d'achat) Ă· Prix de vente, in %. A gauge visualizes this rate and a marker indicates the family threshold. |
| Status | Color-coded summary of the situation (see section 3). |
Note: The displayed rate is the gross margin rate (margin relative to the selling price), in accordance with common French ERP usage. A product for which the purchase cost or the selling price is not provided never displays an invented margin: it is flagged as “Not calculable.”
You can sort each column, filter by family, nature, status, and rate range, search by name or reference, and export the filtered list in CSV format.
3. Margin statuses #
| Status | Meaning |
|---|---|
| Compliant | The margin is above the family threshold (or no alert applies). |
| Alert | The margin is positive but falls below the family’s target threshold. |
| Below threshold | The margin is below the family’s critical threshold. |
| Negative margin | The selling price is less than or equal to the purchase cost. |
| Not calculable | The purchase cost or selling price is missing: no margin is calculated. |
| Evaluation disabled | The product family has disabled threshold monitoring: no alert is raised, but the actual gross margin rate remains displayed for information. |
Thresholds (“target” and “critical”) are configured family by family, on the item family record. As long as a family has no threshold entered, its products remain in neutral status.
Tip: The summary cards at the top of the screen are clickable: click on “Below threshold” to instantly see only the affected products.
4. Understanding price construction #
Click on a row (or on the arrow to the left) to expand it. The detail shows:
- the breakdown of the margin in the form of a flow
CoĂ»t d'achat â Marge â Prix de vente, with the price calculation method actually used; - the comparison to the threshold of the family;
- depending on the nature of the product, the construction hierarchy (see below).
Simple product: the margin is read directly between its purchase cost and its selling price.
Generic product (standard): its reference cost comes from its specific products (the variants actually purchased). The detail lists these variants, each with its own cost, gross margin rate, and status. Each variant is clickable.
Kit (composite product): the detail displays the component tree. For each component, you can see its nature, quantity, family, cost, price, gross margin rate, and status. When a component is itself a kit or a generic, the tree continues in depth:
Kit ensemble complet
ââ Kit sous-ensemble intermĂ©diaire
â ââ Kit composants
â â ââ Produit simple Ă 2
â â ââ Produit gĂ©nĂ©rique
â â ââ Variante A
â â ââ Variante B
â ââ Produit gĂ©nĂ©rique (variantes)
â ââ Produit simple
ââ Kit facturĂ© au forfait
ââ Produit simple
All elements of this tree â products and families â are clickable, allowing you to navigate directly to the relevant record to investigate a margin anomaly identified at any level.
Note: The tree is bounded in depth and protected against loops (a kit that would indirectly contain itself). An unexpanded level is explicitly signaled.
5. How price and margin are determined #
Depending on how a product is priced, the displayed gross margin rate is either a value you entered that is used to calculate the price, or a value simply deduced from the purchase cost and the selling price. This distinction is now explicitly indicated, both on the report and on the product record: each value carries an “Entered” or “Deduced” badge, and a sentence summarizes the origin of the price and margin.
The two main cases:
- The margin is used to calculate the price. The selling price is obtained from a cost base to which the margin rate you entered is applied. In this case, modifying the margin modifies the price.
- The margin is only deduced. The selling price comes from elsewhere (entered manually, or calculated by adding up the prices of the components). The gross margin rate is then only a result: it describes the margin obtained, but it was not used to set the price. Modifying this rate has no effect on the price.
When a margin field exists but is not taken into account in the current mode, it is grayed out on the record, accompanied by a note explaining which mode to choose for it to be actually applied. No entered margin is thus ignored in silence.
Numerical example: a kit at 48.8% #
Let’s take a kit valued by the sum of the selling prices of its components:
- We add up the selling prices of the components: âŹ400. This is the selling price of the kit.
- We add up the purchase costs of the same components: âŹ205. This is the purchase cost of the kit.
- The gross margin rate follows:
(400 â 205) Ă· 400 = 48,8 %.
This 48.8% is deduced; it was never entered. If you enter another rate in the margin field of this kit, it will not be applied: the price remains the sum of the prices of the components. To drive the price of the kit by a margin you enter, you must choose the mode that values the kit from the sum of costs increased by a margin.
Is the displayed price up to date with its configuration? #
Describing how a price is built only makes sense if the price actually stored corresponds to this configuration. A price can indeed “carry over” an old value (import, past manual entry, modified configuration without new calculation). The report detail and the product record widget therefore display, in addition to the origin, a price synchronization status:
- Price up to date: the stored price corresponds to what its configuration produces today. This is the only case where we can state without reservation “the price comes from the offer + margin” (or any other mode).
- Price frozen: the product is configured for automatic calculation, but its price has not (or no longer) been recalculated according to this configuration. The displayed gross margin rate is then only deduced from the cost and price â it does not drive the price. A “Recalculate” button allows you to update the price with one click, using exactly the same calculation as the “Recalculate catalog price” action available on the product list.
- Incomplete configuration: necessary data is missing (no valid offer, reference cost absent, invalid gross margin rate…). No price can be produced until the configuration is corrected; in this case, no recalculate button is offered (it could not produce anything) and the configuration must first be completed (see Sourcing management).
Note: A frozen price is never overwritten without your knowledge: as long as you do not click on “Recalculate” (or a business event, such as an offer modification, triggers the recalculation), the kept price remains displayed, simply flagged as not synchronized.
6. Frequently Asked Questions #
What is the difference with the margin analysis of a quote? #
The catalog analysis concerns the theoretical margin resulting from your costs and reference prices, product by product. The margin analysis of a quote concerns the realized margin on a concrete sale (quantities, discounts applied).
Why does a product appear as “Not calculable”? #
Its purchase cost or selling price is not provided. Kafinea refuses to display a false margin. Enter the purchase cost and the selling price in the product record.
Why are many products “Compliant” without an alert? #
As long as a family does not have a configured margin threshold, no alert is raised. Enter the thresholds on your item families so that the analysis compares each product to your business requirement.
Does the gross margin rate of a kit depend on its components? #
It depends on the kit’s price mode: a kit can be valued by the sum of the prices of its components, by the sum of their costs increased by a margin, or by a flat-rate entered price. The expanded detail indicates the selected mode.
I entered a margin, but it is not being used. Why? #
Because the product’s pricing mode does not rely on the entered margin. This is the case, for example, for a manually entered price or a kit valued by the sum of the prices of its components: the gross margin rate is then only a deduced result, and the margin field is grayed out with an explanatory note. For the margin you enter to actually drive the price, choose a mode that builds the price from a cost base plus a margin (see the section “How price and margin are determined”).
A message indicates that the price is “frozen”: what should I do? #
This means that the product is configured for automatic calculation, but its stored price has not (or no longer) been recalculated according to this configuration â this is often the case for an imported price or one previously entered manually. The displayed gross margin rate is then only deduced; it does not drive the price. Click on “Recalculate” to update the price. If, on the contrary, the message indicates an incomplete configuration (missing offers or cost), correct the configuration first: no recalculation can produce a price as long as the necessary data is missing.
7. The margin widget on the product record #
A margin analysis widget is also available directly on each product record. It contains the same information as the report detail:
- the purchase cost â margin â selling price flow and the price calculation method;
- the comparison to the threshold of the family and the margin status;
- the origin of the price and margin (“Entered” / “Deduced” badges) and the price synchronization status (up to date, frozen, incomplete configuration â see section 5);
- for a kit or a generic, the construction hierarchy (component or variant tree), with all elements clickable.
When the price is frozen, the widget offers a “Recalculate” button that updates the price according to its configuration (same calculation as the “Recalculate catalog price” action in the product list). This is the only access point for recalculation on the record, offered only when it is useful. An “Open full analysis” button allows you to switch to the report filtered on this product.