# Bills of Materials import

> Create and update bills of materials (header, component lines, line conditions of a configurable item) with an Excel workbook.

URL: https://erpdocs.corexlogic.com/en/veri-aktarimi/urun-agaclari

- **Type:** Screen
- **Module:** General
- **Menu path:** Yönetim › Araçlar › Veri Aktarımı › Ürün Ağaçları (Administration › Tools › Data Import › Bills of Materials)
- **Screen route:** `/erp/data-import/boms`
- **Required permission:** `erp-manufacturing-boms.view (görme, kontrol) · .import + .create + .edit (aktarma)`

The item's components and quantities; for a configurable item, line conditions. Items and their characteristics
([Item Import](https://erpdocs.corexlogic.com/en/veri-aktarimi/urun-aktarimi)) are loaded **first**. A BOM is identified by **item + usage +
alternative**; the workbook's three sheets are linked to each other by `UrunKodu`. In a line condition, values of the
same characteristic are combined with **OR**, different characteristics with **AND**; conditions exist only in the
BOM of a configurable item.

## Workbook sheets

| Sheet | Matching (record key) | What it writes |
|---|---|---|
| **Ürün Ağaçları** (Bills of Materials) | `UrunKodu` | The BOM header: item, usage, alternative and base quantity. Item + usage + alternative identify a BOM. |
| **Ağaç Satırları** (BOM Lines) | `UrunKodu` | The BOM's component lines — in SatirNo order. |
| **Satır Koşulları** (Line Conditions) | `UrunKodu` | Line condition: values of the same characteristic OR, different characteristics AND. Only in the BOM of a configurable item. |

## Columns

The tables are generated from the same source as the system's **Alan Kılavuzu** (Field Guide) tab. If a column with
**Required: Yes** is left empty, the row becomes **Hatalı** (Invalid). All cells are read as text; `Evet`/`Hayır`
(Yes/No) columns accept no other value, and in a column with a list of allowed values the spelling must match the
list.

### Ürün Ağaçları (Bills of Materials)

The BOM header: item, usage, alternative and base quantity. Item + usage + alternative identify a BOM. Matching:
`UrunKodu`.

| Column | Required | Description | Example / allowed values |
|---|---|---|---|
| `UrunKodu` | **Yes** | The BOM's output (a producible item). | `MM-00001` |
| `UrunAdi` | No | Information — not read. | `MERKEZİ YIKAMA SİSTEMİ` |
| `Kullanim` | No | Empty = Üretim (Production). | `Üretim` (Production) · `Mühendislik` (Engineering) |
| `Alternatif` | **Yes** | 1, 2, 3 … within the usage — a new alternative must be the next number. | `1` |
| `TemelMiktar` | **Yes** | The line quantities are for this much output. | `1` |
| `Birim` | **Yes** | The unit of the base quantity (the item's unit or a convertible unit). | `ADET` |
| `MontajFiresi` | No | Percentage, 0 ≤ x &lt; 100. Empty = 0. | `0` |
| `Aciklama` | No | The alternative's name. |  |
| `PartiAltSinir` | No | Lot size lower limit (in the base unit). |  |
| `PartiUstSinir` | No | Lot size upper limit (in the base unit). |  |
| `Yayinla` | No | Empty = Evet (Yes). Hayır (No): remains a draft revision. | `Evet` · `Hayır` |

### Ağaç Satırları (BOM Lines)

The BOM's component lines — in SatirNo order. Matching: `UrunKodu`.

| Column | Required | Description | Example / allowed values |
|---|---|---|---|
| `UrunKodu` | **Yes** | The item on the header row. | `MM-00001` |
| `Kullanim` | No | Empty = Üretim (Production). | `Üretim` (Production) · `Mühendislik` (Engineering) |
| `Alternatif` | **Yes** | The alternative on the header row. | `1` |
| `SatirNo` | **Yes** | The line's order; conditions are linked by this number. | `10` |
| `BilesenKodu` | **Yes** | The component item. | `YM-00050` |
| `BilesenAdi` | No | Information — not read. | `KABİN-(2x2mt)` |
| `Miktar` | **Yes** | Per base quantity. | `1` |
| `Birim` | **Yes** | The component's unit or a convertible unit. | `ADET` |
| `FireYuzde` | No | Component scrap, 0 ≤ x &lt; 100. Empty = 0. | `0` |
| `GeriSarf` | No | Evet (Yes): consumed automatically when the output is posted (backflush). Empty = Hayır (No). | `Evet` · `Hayır` |
| `SecimKosulu` | No | Selection condition with an expression (configurable item only) — e.g. UZUNLUK &gt; 10. |  |
| `MiktarFormulu` | No | Quantity by expression (configurable item only): quantity = Miktar + the formula's result — e.g. 2 * ADET_KAPI. Empty = fixed quantity. |  |
| `KosulMetni` | No | Information — not read (the readable form of the conditions). |  |

### Satır Koşulları (Line Conditions)

Line condition: values of the same characteristic OR, different characteristics AND. Only in the BOM of a
configurable item. Matching: `UrunKodu`.

| Column | Required | Description | Example / allowed values |
|---|---|---|---|
| `UrunKodu` | **Yes** | The item on the header row. | `MM-00001` |
| `Kullanim` | No | Empty = Üretim (Production). | `Üretim` (Production) · `Mühendislik` (Engineering) |
| `Alternatif` | **Yes** | The alternative on the header row. | `1` |
| `SatirNo` | **Yes** | The line the condition is attached to. | `20` |
| `OzellikKodu` | **Yes** | A configuration characteristic of the item. | `MARKA` |
| `DegerKodu` | **Yes** | The characteristic's value. | `SHELL` |

## In the demo package

`04-urun-agaclari.xlsx`: 19 BOMs, released; line conditions on configurable items. **Kontrol Et** (Validate) in the
demo installation: 251 rows · Hatalı (Invalid) 0.

## Common errors

The messages are the same as the text in the system's **Kontrol sonucu** (Validation result) table (`…` is the
variable part).

| Message | Cause and solution |
|---|---|
| Bu ağaç dosyada ikinci kez var. (This BOM appears a second time in the file.) | Delete the second header row with the same item + usage + alternative. |
| 'Ürün Ağaçları' sayfasında bu ağacın başlığı yok. (The 'Ürün Ağaçları' sheet has no header for this BOM.) | Add a header row for the BOM of the line or condition. |
| Kullanim '…' tanınmadı: Üretim, Mühendislik. (Kullanim '…' was not recognized: Üretim, Mühendislik.) | Enter `Üretim` or `Mühendislik`. |
| '…' yapılandırılabilir değil — satır koşulu yalnız yapılandırılabilir ürünün ağacında olur. ('…' is not configurable — a line condition exists only in the BOM of a configurable item.) | Remove the condition, or make the item configurable. |

## Related

- [Data Import — overview](https://erpdocs.corexlogic.com/en/veri-aktarimi)
- [Validate the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-kontrol-etme) · [Import the workbook](https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-aktarma)
- [Setup with data import process](https://erpdocs.corexlogic.com/en/surecler/veri-aktarimi-ile-kurulum)
