Kafinea distinguishes between two categories of products for managing supplier sourcing:
- Generic product: a "placeholder" item used in your quotes, customer orders, and invoices (e.g., 2-meter HDMI cable). It does not correspond to any specific supplier part number.
- Specific product: a specific variant associated with a generic product and purchased from a supplier (e.g., 2-meter HDMI cable – Alpha brand, Part No. ABC123).
This feature is only enabled if the " Generic Products & Supplier Sourcing " setting is enabled under Settings > Features.
1. Identify a generic or specific product #
On the record , select " Generic Product " in the Generic Products section.
- A blue "Generic" badge appears next to the product name on the record to immediately identify generic products.
- Specific products do not display a badge.
2. Generic Products section of record #
This section contains fields related to generic/specific management. Depending on the selection made, some fields are applicable, while others are not:
| Field | Credits | Specific |
|---|---|---|
| Generic product (checkbox) | ✅ | ✅ |
| Parent generic product | ❌ | ✅ (points to the credits) |
| How the price is calculated | ✅ | ❌ |
| Margin (%) | ✅ (except Manual Entry mode) | ❌ |
| Price rounding | ✅ (except Manual Entry mode) | ❌ |
| Base cost | ✅ (calculated, unless entered manually) | ❌ |
| Last price calculation | ✅ (calculated) | ❌ |
| Calculation status | ✅ (calculated) | ❌ |
Non-applicable fields: These fields are not hidden; they remain visible but are grayed out with a tooltip reading “Not applicable to generic products” or “Not applicable to specific products.” This prevents any perceived loss of information and explains to the user why the field is grayed out.
3. Price calculation methods #
The calculation mode determines how Kafinea sets the selling price for the generic product. You must select an explicit mode: no default value is applied automatically. If the mode is empty or unknown, the error message "Error: calculation mode not defined " appears, and the current price is retained.
Six modes are available:
| Fashion | Cost source | Behavior |
|---|---|---|
| Manual entry (no recalculation) | — | The price is entered manually in the product details. Kafinea never recalculates it, even when a specific children's product is modified. |
| Best price | Supplier offers specifically for children | Selects the valid supplier bid with the lowest price. |
| Favorite offer | Supplier offers specifically for children | Saves the marked preferred offer. Otherwise, defaults to the cheapest offer. |
| Average bid | Supplier offers specifically for children | Calculates the average price of valid bids. |
| The cheapest option | Purchase price of children's items | Retains the purchase price (unit_price) of the child-specific cheaper, without going through the offers. |
| Average of specific items | Purchase price of children's items | Calculates the average purchase price of children's items, excluding special offers. |
For the five automatic modes, the final price is then calculated using the following formula:
Selling price = Base cost × (1 + Margin %) and then rounded according to the settings.
Possible calculation statuses #
| Status | Meaning |
|---|---|
| OK | Calculation successful, price updated. |
| Not applicable | Manual Entry Mode: No calculations have been performed; the price is the one entered. |
| None in particular | The generic drug does not have a specific pediatric indication. |
| Missing offers | No valid supplier quotes as of the calculation date. |
| Missing prices | The specific models (or their offers) do not have a usable price. |
| Error: calculation method not defined | No mode has been selected, or the mode is unknown: the price remains unchanged. |
4. Display and behavior of the generic record #
For generic products, several visual cues help you understand how the price is determined and whether you can change it.
4.1 Contextual banner in the Pricing Information block #
An informational banner appears at the top of the pricing section:
- In Manual Entry mode: "Manual Entry: The price is not recalculated automatically."
- In other modes: "The selling price is automatically recalculated based on specific child products (mode: %s)," followed by the date of the last calculation.
The header also includes a "View Children" link for quick access to related specific products. The "Recalculate" button for the generic product remains available at the top of the record.
4.2 Read-only Unit Price field + "Calculated" label #
When the master data record is not in Manual Entry mode, the Unit Price field is read-only and displays a "Calculated" label . A tooltip states: "This price is calculated automatically (mode: %s). Switch to Manual Entry mode (no recalculation) to enter it."
In Manual Entry mode, the field becomes editable again: you can freely enter the selling price, which will never be overwritten by an automatic recalculation.
4.3 "How is this price calculated?" popover #
Next to the " Unit Price" field, a ⓘ icon opens a popover that displays the following details:
- The current calculation method.
- The base cost used, the markup applied, andthe rounding.
- List of sources used: depending on the category, specific children’s products (with their purchase prices) or supplier offers (with supplier and price).
- The final price obtained.
If no calculation data is available, the popover displays "No calculation data available."
5. Business Rules #
-
A generic product cannot have a parent.
- If you check Generic product and once a parent is identified, Kafinea blocks the registration with the message:
A generic product cannot have a parent product.
- This rule applies to all channels: UI editing, quick editing, bulk editing, REST API, workflows, and CSV import.
- If you check Generic product and once a parent is identified, Kafinea blocks the registration with the message:
-
The parent of a specific product must itself be a generic product. Kafinea automatically checks for this consistency during registration.
-
Automatic price recalculation: When a specific product changes its parent, a supplier quote is created, modified, or deleted, or the purchase price of a specific product changes, the price of the corresponding generic product is automatically recalculated— unless the generic product is set to Manual Entry mode (in which case, the price remains exactly as you entered it).
-
Explicit mode selection: The system no longer applies a default silent mode. A generic item without a calculation mode will generate an "Error: Calculation mode not defined " status, and its price will not be updated until you select a mode.
-
A generic product cannot be a kit (and vice versa). The two pricing mechanisms are incompatible. If you try to convert a kit into a generic product (or add sub-products to a generic product), Kafinea will block the operation. See Product Kits for more details.
6. Generic vs. Specific #
You can switch a product from generic to brand-name (and vice versa) at any time:
- Values that do not apply are retained in the database but are simply grayed out on the screen.
- If you switch back, the data will once again be visible and editable.
- This means you won't lose any information when changing types.
7. Frequently Asked Questions #
Why can't I assign a parent to my generic product?
Because a generic product is, by definition, a "template" with no direct supplier association. Only specific products have a generic parent.
Why is the unit price for my generic product read-only?
Because the active calculation mode automatically recalculates this price based on the child specifications or their supplier quotes. To enter it manually, switch the calculation mode to Manual Entry (no recalculation).
What is the difference between "Cheapest Offer " and " Cheapest Item "?
"Cheapest Offer " (and its variants " Preferred Offer " and "Average of Offers") is based on supplier offers linked to child items. "Cheapest Item" (and "Average of Items") uses the purchase price of the specific items directly, without going through the offers.
Why are the price calculation fields grayed out for my specific product?
These fields are used solely for automatically calculating the generic price. They are not relevant for a specific product, which reflects a specific supplier offer.
The status shows " Error: Calculation method not defined." What should I do?
Open the generic record , select a method under " Price Calculation Method," and then save. Kafinea will recalculate the price during the next update or when you click the "Recalculate" button.
The "Generic" badge isn't showing up. Why?
Make sure the " Generic Products & Supplier Sourcing " setting is enabled under Settings > Features, and that the " Generic Product " checkbox is selected on the record.