# Item Import

> Create and update characteristics, categories, manufacturers, item master records, configuration, variants, units, barcodes, alternatives and classification with a single Excel workbook.

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

- **Type:** Screen
- **Module:** General
- **Menu path:** Ana Veriler › Ürünler › Ürün Aktarımı (Master Data › Items › Item Import)
- **Screen route:** `/erp/catalog/data-exchange`
- **Required permission:** `erp-catalog-items.import — kurulum sayfaları (özellik, kategori, üretici) ayrıca kendi ekranlarının iznini ister`

All item master data in a single workbook: the setup sheets (**Özellikler** (Characteristics), **Özellik Değerleri**
(Characteristic Values), **Nitelik Setleri** (Attribute Sets), **Kategoriler** (Categories), **Üreticiler**
(Manufacturers)), **Ürünler** (Items), **Yapılandırma** (Configuration) and **Varyantlar** (Variants), **Birimler**
(Units), **Barkodlar** (Barcodes), **Alternatifler** (Alternatives), **Sınıflandırma** (Classification). The sheets
are linked to each other **by code** and none of them is required — a file containing only the Barkodlar sheet adds
barcodes to existing records. Because it is the foundation of everything, it is loaded **before** BOMs, routings,
prices, supplier prices and the opening stock.

The screen opens separately from the other imports (**Ana Veriler › Ürünler › Ürün Aktarımı** — Master Data › Items
› Item Import); it has four tabs: **İçe Aktar** (Import), **Dışa Aktar** (Export), **Aktarım Geçmişi** (Import
History), **Alan Kılavuzu** (Field Guide).

![Product Import — validation result per sheet](https://erpdocs.corexlogic.com/en/en/img/screens/veri-aktarimi/urun-aktarimi.png)
1. Import History — undo
2. Validate
3. Counters per sheet

- On the **Dışa Aktar** (Export) tab, **Kart Listesini İndir** (Download Record List) downloads the existing records
  as the same workbook as the template; it has the **Durum** (Status: Aktif (Active) / Pasif (Inactive)) and
  **Gözden geçirme** (Review: Gözden geçirilecek (To be reviewed) / Doğrulanmış (Verified)) filters. **Şablonu
  İndir** (Download Template) provides the empty template.
- **Aktarım Geçmişi** (Import History) lists each import with its date, the user, and the numbers of created,
  updated and unchanged records, unit conversions and barcodes. **Geri Al** (Undo) restores the updated records to
  their previous state and deletes the barcodes, unit conversions and records created in that import; it does **not
  touch** records changed manually after the import. Undo is not a database backup.
- A cell can be corrected in the validation result; a corrected cell is not written without **Kontrol Et**
  (Validate) **again** ("Düzeltmeler kontrol edilmedi — önce **Kontrol Et**." — The corrections have not been
  validated — **Validate** first.).

## Workbook sheets

| Sheet | Matching (record key) | What it writes |
|---|---|---|
| **Özellikler** (Characteristics) | `Kod` | Characteristic definitions — the same definition is used in classification (a part's size, type) and in configuration (Brand, Number of Platforms). |
| **Özellik Değerleri** (Characteristic Values) | `OzellikKodu` + `DegerKodu` | The values of selection-type characteristics. |
| **Nitelik Setleri** (Attribute Sets) | `SetKodu` + `OzellikKodu` | Attribute sets: linked to a category, they state which characteristics are asked for records in that category. |
| **Kategoriler** (Categories) | `Kod` | The material group tree. The record's primary category; an attribute set is linked to a category and subcategories inherit it. |
| **Üreticiler** (Manufacturers) | `Kod` | Manufacturer definitions — the Uretici column of the Ürünler sheet links to these codes. |
| **Ürünler** (Items) | `Kod` | The item's basic, planning and dimension data — one row per record. |
| **Yapılandırma** (Configuration) | `Kod` + `OzellikKodu` | The characteristics of a configurable record: values are selected on the sales line, no record is created. |
| **Varyantlar** (Variants) | `Kod` | Standard combinations kept in stock — each is a separate record, and its values are its identity. |
| **Birimler** (Units) | `Kod` + `Birim` | Alternative units: how many base units 1 unit equals. A case barcode is linked to the case unit — it is defined here first. |
| **Barkodlar** (Barcodes) | `Barkod` | The item's barcodes (EAN/GTIN) — there can be several; a case barcode carries the case unit. |
| **Alternatifler** (Alternatives) | `AlternatifKodu` | Alternative items — proposed on a sales order if stock is insufficient. The file does not delete alternatives. |
| **Sınıflandırma** (Classification) | `Kod` + `OzellikKodu` | The records' characteristic values — characteristics not on the sheet are not touched. |

## 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.

### Özellikler (Characteristics)

Characteristic definitions — the same definition is used in classification (a part's size, type) and in
configuration (Brand, Number of Platforms). Matching: `Kod`.

| Column | Required | Description | Example / allowed values |
|---|---|---|---|
| `Kod` | **Yes** | The characteristic's code (DIS_OLCUSU, MARKA). Matching key: created if it does not exist, updated if it does. | `DIS_OLCUSU` |
| `Ad` | **Yes** | The name shown on the screen and in the guide. | `Diş Ölçüsü` |
| `VeriTuru` | **Yes** | The value's type — CANNOT CHANGE after creation (written values are stored in the type's column). | `Metin` (Text) · `Tam Sayı` (Integer) · `Ondalık` (Decimal) · `Evet/Hayır` (Yes/No) · `Tarih` (Date) · `Seçim` (Selection) |
| `BirimSembolu` | No | The value's unit label (mm, kW) — not a stock unit; not converted to uppercase. |  |
| `Sira` | No | Order in the guide and form (whole number). | `10` |
| `Durum` | No | Aktif (Active) or Pasif (Inactive). No deletion — an unused characteristic is set to inactive. | `Aktif` · `Pasif` |

### Özellik Değerleri (Characteristic Values)

The values of selection-type characteristics. Matching: `OzellikKodu` + `DegerKodu`.

| Column | Required | Description | Example / allowed values |
|---|---|---|---|
| `OzellikKodu` | **Yes** | The code of a selection-type characteristic — must be on the Özellikler sheet or in the system. | `DIS_OLCUSU` |
| `DegerKodu` | **Yes** | The value's code; unique within the characteristic. Matching: characteristic + value code. | `1/2` |
| `Ad` | **Yes** | The value's name. | `1/2"` |
| `Sira` | No | Order in the selection list (whole number). | `10` |
| `Durum` | No | Aktif (Active) or Pasif (Inactive). | `Aktif` · `Pasif` |

### Nitelik Setleri (Attribute Sets)

Attribute sets: linked to a category, they state which characteristics are asked for records in that category.
Matching: `SetKodu` + `OzellikKodu`.

| Column | Required | Description | Example / allowed values |
|---|---|---|---|
| `SetKodu` | **Yes** | The set's code. Each characteristic of the same set is a separate row; the set's member list is the rows in the file (complete list). | `SET-BAGLANTI` |
| `SetAdi` | No | The set's name — it is enough to enter it on the set's first row; required for a new set. | `Bağlantı Elemanı` |
| `OzellikKodu` | **Yes** | The code of the characteristic in the set. | `DIS_OLCUSU` |
| `Zorunlu` | No | If Evet (Yes), a value is required on records in this category. | `Evet` · `Hayır` |
| `Sira` | No | Order on the record form (whole number); if empty, the row order. | `10` |

### Kategoriler (Categories)

The material group tree. The record's primary category; an attribute set is linked to a category and subcategories
inherit it. Matching: `Kod`.

| Column | Required | Description | Example / allowed values |
|---|---|---|---|
| `Kod` | **Yes** | The category's code. Matching key: created if it does not exist, updated if it does. | `HID-BAG` |
| `Ad` | **Yes** | The category's name. | `Bağlantı Elemanları` |
| `UstKategoriKodu` | No | The parent category's code — must be on the same sheet or in the system. Empty = root category. | `HID` |
| `NitelikSetiKodu` | No | The attribute set linked to the category — the characteristics asked for records in that category. An empty cell removes the link; if the column is absent, the link is not touched. | `SET-BAGLANTI` |
| `Sira` | No | Order in the tree (whole number). | `10` |
| `Durum` | No | Aktif (Active) or Pasif (Inactive). No deletion. | `Aktif` · `Pasif` |

### Üreticiler (Manufacturers)

Manufacturer definitions — the Uretici column of the Ürünler sheet links to these codes. Matching: `Kod`.

| Column | Required | Description | Example / allowed values |
|---|---|---|---|
| `Kod` | **Yes** | The manufacturer's code. Matching key: created if it does not exist, updated if it does. | `BOSCH` |
| `Ad` | **Yes** | The manufacturer's name. | `Robert Bosch GmbH` |
| `Durum` | No | Aktif (Active) or Pasif (Inactive). No deletion; an inactive manufacturer is not linked to a new record. | `Aktif` · `Pasif` |

### Ürünler (Items)

The item's basic, planning and dimension data — one row per record. Matching: `Kod`.

| Column | Required | Description | Example / allowed values |
|---|---|---|---|
| `Kod` | **Yes** | The record's unique code. If it exists in the record list, the record is UPDATED; otherwise it is CREATED. Converted to uppercase. | `HM-0001` |
| `Ad` | **Yes** | Record name. | `NİPEL HİDROLİK 1/2"` |
| `Aciklama` | No | Free-text description. Can be left empty. |  |
| `Tur` | No | Base type (Hammadde (Raw material), Mamul (Finished product), Hizmet (Service)…). If UrunTuru is filled, it comes from the item type — if entered, it must match the type's base. If UrunTuru is empty, it is required: the base's seed type is assigned (older files). Only 'Hizmet' (Service) has a behavioral effect (does not keep stock). | `Hammadde` (Raw material) · `Yarı Mamul` (Semi-finished product) · `Mamul` (Finished product) · `Ticari Mal` (Trading goods) · `Sarf Malzemesi` (Consumable) · `Ambalaj` (Packaging) · `Yedek Parça` (Spare part) · `Hizmet` (Service) |
| `TemelBirim` | **Yes** | The CODE of the base unit of measure. The stock balance is always in this unit, and it CANNOT BE CHANGED after the record is created. | `ADET` |
| `IzlemeTipi` | No | Traceability. If left empty, 'Yok' (None) for a new record, untouched for an existing one. On an existing record it changes only while there are no stock movements, stock, open documents (order, production order) or reservations — serial/batch management is determined before stock is entered. A variant's type comes from the parent record. | `Yok` (None) · `Lot` (Batch) · `Seri` (Serial) |
| `IzlemeProfili` | No | The CODE of the serial and batch number profile (Özelleştirme › Malzeme › Seri ve Lot Numarası Profilleri — Customization › Material › Serial and Batch Number Profiles) — number template and warranty period. Only on a tracked record; a newly assigned profile must be active. Empty = no profile. If the column is absent from the file, it is not touched. |  |
| `KategoriKodu` | No | The category CODE (not the category name). If left empty, no category is assigned. | `HID-BAG` |
| `KaliteKontrol` | No | Quality inspection requirement on receipt. Empty = Hayır (No). Evet / Hayır | `Hayır` |
| `Durum` | No | The record's status. Empty = Aktif (Active). No stock movement can be created for an inactive record. | `Aktif` · `Pasif` |
| `StokUrunu` | No | Whether the record keeps stock. If left empty, it is derived from the type (Hizmet = Hayır, others = Evet). It CANNOT BE CHANGED after the record is created. Evet / Hayır | `Evet` |
| `Satilabilir` | No | Whether it can be selected on sales documents. Empty = Hayır (No). Evet / Hayır | `Hayır` |
| `SatinAlinabilir` | No | Whether it can be selected on purchasing documents. Empty = Hayır (No). Evet / Hayır | `Evet` |
| `Uretilebilir` | No | Whether it can be an OUTPUT on production documents (whether it has a recipe). Empty = Hayır (No). Evet / Hayır | `Hayır` |
| `PlanlamaStratejisi` | No | Whether the record is planned to stock or to order. Empty = 'Planlama Yok' (No planning). If a value other than 'Planlama Yok' is selected, Tedarik Yolu (procurement type) is also REQUIRED. | `Planlama Yok` (No planning) · `Stoğa Üretim` (Make-to-stock) · `Siparişe Üretim` (Make-to-order) |
| `TedarikYolu` | No | The default procurement type when a requirement arises. Empty = not determined. 'Üret' (Make) requires the record to be producible, 'Satın Al' (Buy) requires it to be purchasable. | `Üret` (Make) · `Satın Al` (Buy) |
| `GozdenGecirilecek` | No | Whether the record is waiting for human verification. Empty = Hayır (No). Evet / Hayır | `Hayır` |
| `GecerlilikBaslangici` | No | Start of availability (dd.mm.yyyy or yyyy-mm-dd). Empty = no limit. It does NOT OVERRIDE Durum, it narrows it: an inactive record cannot be used on any date. | `01.01.2026` |
| `GecerlilikBitisi` | No | End of availability (inclusive). Empty = no limit. For seasonal and phase-out items. | `31.12.2026` |
| `NetAgirlikKg` | No | Net weight, kg. Empty = not measured. Decimal separator is a comma (1,25); zero is not entered. Stays empty on a service record. If the column is absent from the file, the measurement is not touched. |  |
| `BrutAgirlikKg` | No | Gross (packed) weight, kg. Cannot be less than the net weight. Empty = not measured. Decimal separator is a comma (1,25); zero is not entered. Stays empty on a service record. |  |
| `UzunlukCm` | No | Length, cm. Empty = not measured. Decimal separator is a comma (1,25); zero is not entered. Stays empty on a service record. |  |
| `GenislikCm` | No | Width, cm. Empty = not measured. Decimal separator is a comma (1,25); zero is not entered. Stays empty on a service record. |  |
| `YukseklikCm` | No | Height, cm. Empty = not measured. Decimal separator is a comma (1,25); zero is not entered. Stays empty on a service record. |  |
| `HacimL` | No | Volume, liters — not calculated from the dimensions, entered separately. Empty = not measured. Decimal separator is a comma (1,25); zero is not entered. Stays empty on a service record. |  |
| `MinStok` | No | Minimum stock, in the base unit. When the stock position falls below it, the requirements view proposes an order. Can be zero; empty = undefined. Stock items only. If the column is absent from the file, it is not touched. |  |
| `MaksStok` | No | Maximum stock, in the base unit — the target the proposal fills up to. Cannot be entered without a minimum and cannot be less than the minimum. Empty = the proposal fills up to the minimum. |  |
| `TedarikSuresiGun` | No | Lead time, whole days (0–999). The only source for a record without a supplier (produced); for a purchased record, the lead time in the supplier record applies on the document. Stock items only. If the column is absent from the file, it is not touched. | `7` |
| `MinSiparisMiktari` | No | Minimum order quantity, in the base unit — the proposal does not go below it. Empty = no rule. |  |
| `SiparisKatsayisi` | No | Order multiple, in the base unit — the proposal is rounded up to a multiple of it (case, pallet). Empty = no rule. |  |
| `YabanciAd` | No | Name in a foreign language (external correspondence). If the column is absent from the file, it is not touched. |  |
| `EkTanimlayici` | No | Additional identifier — the code in another system or an old code. Not unique. |  |
| `Uretici` | No | Manufacturer CODE (Kurulum › Malzeme › Üreticiler — Setup › Material › Manufacturers, or the workbook's Üreticiler sheet). A newly assigned manufacturer must be active. Empty = no manufacturer. |  |
| `Gtip` | No | GTİP (Turkish customs tariff code) — 12 digits (0206.22.00.00.00 or 020622000000); the line position of an export invoice. If the column is absent from the file, it is not touched. |  |
| `UreticiParcaNo` | No | Manufacturer part number — the manufacturer's catalog number; cannot be entered without a manufacturer. If the column is absent from the file, it is not touched. |  |
| `MalzemeDurumu` | No | Material status CODE (Kurulum › Stok › Malzeme Durumları — Setup › Inventory › Material Statuses) — the record's block/warning in sales, purchasing, production and stock movements. A newly assigned status must be active. Empty = no status. If the column is absent from the file, it is not touched. |  |
| `MalzemeDurumuBaslangic` | No | The first day the material status is valid (dd.mm.yyyy). Empty = immediately. A date without a status is rejected. |  |
| `KesilmeTarihi` | No | Discontinuation date (dd.mm.yyyy) — after this day, the record's remaining shortage is passed to the successor, and the record is not restocked. Empty = not discontinued. |  |
| `HalefKart` | No | The successor record's CODE — a record in the same base unit that EXISTS IN THE DATABASE (a record created in this file cannot be made a successor; provide it in a second import). A discontinuation date is required. |  |
| `HalefIkiYonlu` | No | Evet (Yes) = two-way interchangeability: the successor's requirement can also be covered from the old stock. Empty = Hayır (No). |  |
| `UrunTuru` | No | Item type CODE (Özelleştirme › Malzeme › Ürün Türleri — Customization › Material › Item Types; item type). The base type comes from the item type. If empty, the seed type of the Tur column. A flag of a view the type does not allow (sellable, etc.) is rejected. The old name 'MalzemeTuru' is also read. | `HAMMADDE` |

### Yapılandırma (Configuration)

The characteristics of a configurable record: values are selected on the sales line, no record is created. Matching:
`Kod` + `OzellikKodu`.

| Column | Required | Description | Example / allowed values |
|---|---|---|---|
| `Kod` | **Yes** | The configurable record's code — must be on the Ürünler sheet or in the system. A record with rows here is made configurable. | `MML-0001` |
| `OzellikKodu` | **Yes** | The characteristic's code (Özellikler sheet). The value of this characteristic is selected on the sales line. | `MARKA` |
| `Zorunlu` | No | If Evet (Yes), a value is required on the line. | `Evet` · `Hayır` |
| `IzinliDegerler` | No | For a selection type, the allowed value codes, separated with semicolons (a value may contain a decimal comma). Empty = all values of the characteristic. | `SHELL; TOTAL` |
| `EnAz` | No | Smallest value for a numeric characteristic. |  |
| `EnCok` | No | Largest value for a numeric characteristic. |  |
| `Adim` | No | Step for a numeric characteristic (such as 0,5 m). |  |
| `Varsayilan` | No | The value preselected on the sales line — a value code for a selection (must be allowed), a decimal with a comma for a number, Evet/Hayır. Empty = no default; if the column is absent, the existing default is kept. | `SHELL` |
| `OnKosul` | No | Precondition: the characteristic is asked only when the condition is met. Format "KOŞULÖZELLİĞİ = DEĞER" (condition characteristic = value); values of the same characteristic with "/" (OR), different characteristics with ";" (AND). The condition characteristic must be a selection or Evet/Hayır (Yes/No) characteristic of the same record. Empty = always asked; if the column is absent, the existing condition is kept. | `KABIN = OZEL_OLCU` |

### Varyantlar (Variants)

Standard combinations kept in stock — each is a separate record, and its values are its identity. Matching: `Kod`.

| Column | Required | Description | Example / allowed values |
|---|---|---|---|
| `Kod` | **Yes** | The variant record's code. Each characteristic of the same code is a separate row. | `MML-0001-SHELL` |
| `Ad` | No | The variant's name — it is enough to enter it on the first row; required for a new variant. | `MERKEZİ YIKAMA SİSTEMİ SHELL` |
| `UstKartKodu` | **Yes** | The code of the configurable parent record. | `MML-0001` |
| `OzellikKodu` | **Yes** | One of the parent record's characteristics. | `MARKA` |
| `Deger` | **Yes** | The characteristic's value — a value code for a selection, a decimal with a comma for a number. Empty = the variant has no value for this characteristic (only for a non-required characteristic). | `SHELL` |

### Birimler (Units)

Alternative units: how many base units 1 unit equals. A case barcode is linked to the case unit — it is defined here
first. Matching: `Kod` + `Birim`.

| Column | Required | Description | Example / allowed values |
|---|---|---|---|
| `Kod` | **Yes** | The item's code — must be on the Ürünler sheet or in the system. | `HM-0001` |
| `Ad` | No | Read-only — the item description in the export; ignored on import. | `Örnek ürün` |
| `Birim` | **Yes** | The alternative unit's code (KOLI, PAKET). The record's base unit is not entered. | `KOLI` |
| `TemelBirimMiktari` | **Yes** | How many base units 1 unit equals — if 1 CASE = 12 PIECES, then 12. Decimal separator is a comma, at most 6 decimal places. If the conversion does not exist it is created; if it does, its factor is updated; if the unit is linked to the record with another conversion, the factor must be the same. | `12` |
| `TemelBirim` | No | Read-only — the item's base unit in the export; ignored on import. | `ADET` |

### Barkodlar (Barcodes)

The item's barcodes (EAN/GTIN) — there can be several; a case barcode carries the case unit. Matching: `Barkod`.

| Column | Required | Description | Example / allowed values |
|---|---|---|---|
| `Kod` | **Yes** | The barcode's record (item code). | `HM-0001` |
| `Ad` | No | Read-only — the item description in the export; ignored on import. | `Örnek ürün` |
| `Barkod` | **Yes** | Matching key: created if it does not exist in the system, updated if it exists on the same record; another record's barcode is rejected. Letters are converted to uppercase; no spaces or Turkish letters. The column is in text format — when pasting from another file, make sure leading zeros are not dropped. | `8691234567890` |
| `Birim` | No | The barcode's unit (a case barcode carries the case unit): the record's base unit or one of the conversion units — can be defined on the Birimler sheet in the same file. Empty = base unit; if the column is absent, the existing barcode's unit does not change. | `ADET` |
| `Aciklama` | No | At most 100 characters. If the column exists but the cell is empty, the description is deleted. | `Tedarikçi EAN` |
| `Varsayilan` | No | Evet (Yes) = this becomes the record's default barcode (takes over from the previous one); at most one Evet per record. Hayır (No) or empty does not touch it; the default barcode cannot be set to Hayır. The record's first barcode is automatically the default. | `Evet` · `Hayır` |

### Alternatifler (Alternatives)

Alternative items — proposed on a sales order if stock is insufficient. The file does not delete alternatives.
Matching: `AlternatifKodu`.

| Column | Required | Description | Example / allowed values |
|---|---|---|---|
| `UrunKodu` | **Yes** | The record's code — must be on the Ürünler sheet or in the system. | `HM-0001` |
| `AlternatifKodu` | **Yes** | The alternative record's code. The record + alternative pair is the matching key; one-way. | `HM-0002` |
| `UyumOrani` | No | Compatibility rate, percentage (0–100). Empty = not specified. | `90` |
| `Not` | No | Note — at most 256 characters. | `Ölçü aynı, malzeme farklı` |

### Sınıflandırma (Classification)

The records' characteristic values — characteristics not on the sheet are not touched. Matching: `Kod` +
`OzellikKodu`.

| Column | Required | Description | Example / allowed values |
|---|---|---|---|
| `Kod` | **Yes** | The record's code — must be on the Ürünler sheet or in the system. | `HM-0001` |
| `OzellikKodu` | **Yes** | The characteristic's code (Özellikler sheet). Those in the attribute set of the record's category are asked on the record; a characteristic outside the set can also be entered. | `DIS_OLCUSU` |
| `Deger` | No | Value — a value code for a selection, a decimal with a comma for a number, Evet/Hayır, dd.mm.yyyy. Empty = remove the value. | `1/2` |

## In the demo package

The demo package contains two item workbooks, and both are loaded in order from this screen:

| File | Content | Kontrol Et (Validate) (demo installation, 02.11.2026) |
|---|---|---|
| `01-urun-aktarimi.xlsx` | Purchased materials: 22 characteristics, 22 categories, 17 manufacturers, 98 items, unit conversions, alternatives, classification | 363 rows · Hatalı (Invalid) 0 (all **Değişmiyor** (Unchanged) — the package is already loaded) |
| `02-uretilen-ve-satilan-urunler.xlsx` | Finished products, semi-finished products, trading goods, spare parts, services; configuration, size variants, barcodes | 172 rows · Hatalı (Invalid) 0 |

## 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)
