# Import the workbook

> Write an Excel workbook that has been validated without errors to the system — records are created or updated by code.

URL: https://erpdocs.corexlogic.com/en/veri-aktarimi/islemler/kitabi-aktarma

- **Type:** Task
- **Module:** General
- **Menu path:** Yönetim › Araçlar › Veri Aktarımı › <object> › İçe Aktar (Administration › Tools › Data Import › <object> › Import)
- **Screen route:** `/erp/data-import/{key}`
- **Required permission:** `Nesnenin import izni ve kaydı açma/düzeltme izinleri (ör. erp-inventory-warehouses.import + .create + .edit)`
- **Prerequisites:**
  - Kontrol Et (Validate) has completed for the same workbook with Hatalı (Invalid) 0 (or you have decided to skip the invalid rows).
  - The objects the workbook depends on have been imported beforehand (load order).

**Aktar** (Import) writes the workbook as shown in the validation result. The button is enabled only after an
error-free validation; a workbook that has not been validated or was changed after validation cannot be imported
(selecting a new file clears the result).

> **Check which installation you are importing into**
Re-importing master data objects does not create records a second time, but a workbook imported into the wrong
installation (e.g. live instead of test) changes that installation's master data; an object that writes documents,
such as Opening Stock, writes stock and value. Import only in the target installation, by an authorized person, and
in load order. The examples in this documentation were taken with **Kontrol Et** (Validate) only.

## Steps

1. While the validation result shows **Hatalı: 0** (Invalid: 0), click **Aktar** (Import) in the **3 · Aktarım** (3 · Import) box.
   <!-- action: click · target: "Aktar" · expect: "The button changes to 'Aktarılıyor…' (Importing…); the progress bar shows the stage" -->

   ![Import screen — file, validate, import](https://erpdocs.corexlogic.com/en/en/img/screens/veri-aktarimi/ice-aktar.png)
   1. Three tabs
   2. 1 · File (.xlsx)
   3. 2 · Validate — changes nothing
   4. 3 · Import — only after a clean validation
   5. Result counters

2. If there are invalid rows and you want to write the rest, click **Hatalıları Atlayarak Aktar** (Import Skipping Invalid Rows); read in the dialog how many rows will be written and click **Atlayarak Aktar** (Import Skipping).
   <!-- action: click · target: "Hatalıları Atlayarak Aktar" · expect: "The Hatalı satırlar atlanarak aktarılsın mı? (Import while skipping invalid rows?) dialog" -->
3. When the job finishes, read the result: 'Aktarım tamamlandı: N kayıt açıldı, N kayıt güncellendi, N kayıt değişmedi' (Import completed: N records created, N records updated, N records not changed). The counters are named **Açıldı** (Created), **Güncellendi** (Updated), **Değişmedi** (Not changed), **Atlandı** (Skipped).
   <!-- action: verify · target: "Aktarım sonucu" -->

**Result:** The records have been written. Move on to the next object in the load order: [Setup with data import](https://erpdocs.corexlogic.com/en/surecler/veri-aktarimi-ile-kurulum).

## What you need to know

- **All-or-nothing:** the import either writes everything or nothing. A server error or **İptal Et** (Cancel)
  results in "Aktarım iptal edildi — hiçbir kayıt yazılmadı." (The import was cancelled — no records were written.)
- **Can be run again:** re-importing the same workbook does not create a second record because of code matching;
  changed cells are updated, identical ones count as **Değişmedi** (Not changed). Exception: [Opening
  Stock](https://erpdocs.corexlogic.com/en/veri-aktarimi/stok-acilisi).
- **Does not delete:** a record, row or (on most sheets) sub-record that is not in the file is not deleted. Columns
  that give the "complete" list, such as a role list, are stated on their own pages.
- **İş Ortağı Aktarımı** (Business Partner Import) does not skip invalid rows: "Aktarım **hep ya da hiç**: bunlar
  düzeltilmeden hiçbir kart yazılmaz." (The import is **all or nothing**: no record is written until these are
  corrected.)
- In **Ürün Aktarımı** (Item Import), each import is recorded in **Aktarım Geçmişi** (Import History) and can be
  undone there with **Geri Al** (Undo): updated records return to their previous state, and the barcodes, unit
  conversions and records created in that import are deleted; records changed manually after the import are not
  touched.
- When the job starts and finishes, a **Veri aktarımı başladı** (Data import started) / **Veri aktarımı tamamlandı**
  (Data import completed) (or **hata verdi** (failed)) notification arrives.

## Related

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