# Configurable products

> The Configuration tab of the product master record — configuration characteristics, precondition, configuration profile and object dependencies (constraint, procedure, table).

URL: https://erpdocs.corexlogic.com/en/uretim/ekranlar/yapilandirilabilir-urunler

A product for which the customer selects options when ordering (size, color, power rating, series…) is created as a
**configurable** item. The item's **Yapılandırma** (Configuration) tab defines which characteristics are asked, which
of them are asked in which situation, and in which combinations the values are valid. In production these values
resolve the super BOM and the super routing: [Conditions and formulas](https://erpdocs.corexlogic.com/en/uretim/kosullar).

- **Type:** Screen
- **Module:** Manufacturing
- **Menu path:** Ana Veriler › Ürünler › Ürün Ana Verileri › ürün detayı › Yapılandırma (Master Data › Products › Product Master Data › product details › Configuration)
- **Screen route:** `/erp/catalog/products/{id}?tab=yapilandirma`
- **Required permission:** `erp-catalog-items.view (görme) · erp-catalog-items.edit (özellik, koşul, kural)`

![Product › Configuration — characteristics, precondition, object dependencies](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/yapilandirma-sekmesi.png)
1. Add Characteristic
2. Characteristic with a precondition
3. Required
4. Default value
5. Object dependency — constraint, procedure, table

## Making an item configurable

On the **Yapılandırma** (Configuration) tab of a standard item, the text "Bu ürün standart bir üründür." (This product
is a standard product.) is shown. The **Yapılandırılabilir Yap** (Make Configurable) button asks for confirmation with
the question "Ürün yapılandırılabilir yapılsın mı?" (Make the product configurable?). A configurable item carries the
**Yapılandırılabilir** (Configurable) badge in its header. An item whose characteristics have been removed can be
reverted with **Standart Ürüne Döndür** (Revert to Standard Product) ("Standart ürüne döndürmek için önce yapılandırma
özelliklerini kaldırın." — To revert to a standard product, first remove the configuration characteristics.).

## Configuration Characteristics

| Column | What it shows |
|---|---|
| **Özellik** (Characteristic) | The characteristic's name; a **Koşullu** (Conditional) badge if it has a precondition |
| **Zorunluluk** (Requirement) | **Zorunlu** (Required) or **İsteğe Bağlı** (Optional) |
| **Tür / Değer Kullanımı** (Type / Value Usage) | Data type (Seçenek (Option), Tam sayı (Integer), Ondalık (Decimal), Evet / Hayır (Yes / No)…), default value, allowed values; the precondition text (`Koşul: Kabin: Özel Ölçü (En x Boy) olduğunda sorulur` — Condition: asked when Kabin is Özel Ölçü (En x Boy)) |
| **İşlem** (Action) | Up/down arrows (question order in sales) and the **İşlemler** (Actions) menu: **Koşul** (Condition), **Düzenle** (Edit), **Kaldır** (Remove) |

- **Özellik Ekle** (Add Characteristic) — the "Yapılandırma Özelliği Ekle" (Add Configuration Characteristic) window:
  selection from the characteristic dictionary or a new characteristic, **Zorunlu** (Required), for an option type
  **Değerleri sınırla** (Restrict values) and allowed values, for a numeric type **İzinli aralık** (Allowed range;
  **En az** (Minimum), **En çok** (Maximum), **Adım** (Step)), **Varsayılan değer** (Default value). Steps:
  [Define a configuration characteristic](https://erpdocs.corexlogic.com/en/uretim/islemler/yapilandirma-ozelligi-tanimlama).
- For an option characteristic, the **×** next to a value label removes the value from the values allowed for this
  item; **Değer** (Value) adds a new one.
- **İşlemler › Koşul** (Actions › Condition) — precondition: [Define a precondition](https://erpdocs.corexlogic.com/en/uretim/islemler/on-kosul-tanimlama).

![Condition dialog — characteristic is asked only when the condition holds](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/on-kosul-penceresi.png)
1. Condition value — Cabinet Custom Size
2. Readable form of the condition
3. Remove Condition — always asked
4. Save

Rules:

- A required characteristic must be filled in for every variant and on every configured sales line (as long as it is
  asked).
- For a numeric characteristic, the value must fit the range and step:
  `'Boy' değeri izinli aralıkta değil (2–30 m, 0,5 m adım).` (The value of 'Boy' is not within the allowed range (2–30
  m, step 0.5 m).)
- A disallowed value for a restricted option characteristic: `'…' için seçilen değer bu üründe izinli değil.` (The
  value selected for '…' is not allowed for this product.)
- On a product with variants, a new characteristic is added as optional — existing variants have no value for it.

## Configuration Profile

The profile states under which headings the configurator asks the characteristics, whether the product is locked, and
whether the BOM is exploded over multiple levels. If there is no profile, the screen shows "Profil tanımlanmadı — ürün
serbest ve tek seviyeli yapılandırılır." (No profile defined — the product is configured freely and on a single
level.); it is created with **Profil Oluştur** (Create Profile). If the BOM contains a configurable component (a
subassembly with value transfer), the output's profile must explode the BOM **over multiple levels**; otherwise order
release stops with the message
`… satırın bileşeni yapılandırılabilir — çıktının konfigürasyon profili ürün ağacını çok seviyeli patlatmalı.` (The
component of line … is configurable — the output's configuration profile must explode the BOM over multiple levels.)

## Object Dependencies

"Değerlerin hangi kombinasyonlarda geçerli olduğu ve hangi değerlerin hesaplandığı. Kurallar listedeki sırayla
uygulanır." (In which combinations values are valid and which values are calculated. Rules are applied in the order of
the list.) **Kural Ekle** (Add Rule) offers three rule types:

| Option | Type | What it does |
|---|---|---|
| **Değer hesapla** (Calculate value) | Procedure | Writes a characteristic's value with **Karar tablosu (önerilen)** (Decision table, recommended) or **Formül (gelişmiş)** (Formula, advanced); **Her zaman hesapla** (Always calculate) or **Girilmezse hesapla** (Calculate if not entered) |
| **Sınır koy** (Set a limit) | Constraint | If the expression returns No, the sales line is not saved; the rule's message is shown |
| **Tablodan seç** (Select from table) | Table constraint | The combination of values must match a row of a variant table |

![Add Rule — compute value, set a limit, select from table](https://erpdocs.corexlogic.com/en/en/img/screens/uretim/kural-ekle.png)
1. Procedure — computes a characteristic
2. Constraint — blocks a forbidden combination
3. Table constraint — variant table
4. Formula — the language of the conditions page

A rule that would break an existing variant is not saved. An item can have at most 50 rules. Steps:
[Add an object dependency](https://erpdocs.corexlogic.com/en/uretim/islemler/nesne-bagimliligi-ekleme).

## Variants tab

Frequently sold value combinations can be created as separate items as **standard variants**. If the values of a
configured sales line are the same as a standard variant, **Yapılandırarak Dene** (Try by Configuring) says so
("Değerler standart varyant … ile aynı — varyantın kendi ağacı varsa emir onu kullanır." — The values are the same as
standard variant … — if the variant has its own BOM, the order uses it.).

## In sales and production

- On sales quotations and orders, values are entered on the line of the configurable product; a characteristic whose
  precondition is not met is not asked. Constraints and procedures are applied when the line is saved.
- An order opened from an approved sales order with **Üretim Emri Aç** (Open Production Order) carries the
  configuration; the **Yapılandırma** (Configuration) text appears in the upper part of the order (e.g.
  `Boy: 12,5 m · Bant Genişliği: 800 mm · Bant Tipi: PVC Endüstriyel · Koruma Kapağı: Evet · Ayak Çifti Sayısı: 10`).
- The BOM of a configurable item cannot be opened without a configuration:
  `Bu ürün ağacı konfigürasyona göre çözülür — emir yapılandırılmış bir satış siparişi satırından açılmalı.` (This BOM
  is resolved by configuration — the order must be opened from a configured sales order line.)

## Related

- [Conditions and formulas](https://erpdocs.corexlogic.com/en/uretim/kosullar)
- [Order to production process](https://erpdocs.corexlogic.com/en/surecler/siparisten-uretime)
