# Users and Roles import

> Create and update organization roles and users with a single Excel workbook — the first object loaded in a setup from scratch.

URL: https://erpdocs.corexlogic.com/en/veri-aktarimi/kullanicilar-ve-roller

- **Type:** Screen
- **Module:** General
- **Menu path:** Yönetim › Araçlar › Veri Aktarımı › Kullanıcılar ve Roller (Administration › Tools › Data Import › Users and Roles)
- **Screen route:** `/erp/data-import/users`
- **Required permission:** `users.import (görme ve kontrol) · users.import + users.create + users.edit (aktarma)`

The **first** workbook loaded in a setup from scratch: the users who will load the other files, and their roles,
come with it. The workbook has two sheets; the **Roller** (Roles) sheet is always processed before **Kullanıcılar**
(Users), so a role created in the same workbook can be assigned to a user immediately.

- A role is matched **by name**, a user **by email address**: updated if it exists, created if not.
- The file does **not delete** roles or users. If a column is not in the file at all, that field is not touched.
- Permission, screen and role lists are separated with `;` and give the **complete** list — the list in the file
  replaces the one in the record. A catalog role's template permission cannot be removed; if it is missing from the
  file, it is added anyway.
- A new active account counts toward the license's user limit.

> **Workbook carrying password hashes**
The object is visible only with the **users.import** permission. The **Dışa Aktar** (Export) file of an existing
installation carries the users' password hashes; people sign in with that password. Do not send this file by email
or put it in a shared folder. Add a person who is not in the file by invitation from the **Yönetim › Kullanıcı ve
Roller › Kullanıcılar** (Administration › Users and Roles › Users) screen.

## Workbook sheets

| Sheet | Matching (record key) | What it writes |
|---|---|---|
| **Roller** (Roles) | `RolAdi` | Roles — processed BEFORE users. If the name exists it is updated; otherwise it is created as an organization role; the file does NOT DELETE roles. |
| **Kullanıcılar** (Users) | `Eposta` | Users — matched by email: updated if it exists, created if not. A new active account counts toward the license's user limit. |

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

### Roller (Roles)

Roles — processed BEFORE users. If the name exists it is updated; otherwise it is created as an organization role;
the file does NOT DELETE roles. Matching: `RolAdi`.

| Column | Required | Description | Example / allowed values |
|---|---|---|---|
| `RolAdi` | **Yes** | The role name. Catalog roles (Yönetici (Administrator), Depo Memuru (Warehouse Clerk) …) already exist in the installation; the file carries their additional permissions and screens. | `Satın Alma Uzmanı` |
| `Izinler` | No | Permission keys separated with ';' — the COMPLETE set of the role's permissions. A catalog role's template permission cannot be removed; if it is missing from the file, it is added anyway. If the column is absent, permissions are not touched. | `erp-procurement-orders.view;erp-procurement-orders.create` |
| `Ekranlar` | No | Addresses of the screens shown in the menu, separated with ';'; '*' = all screens. The COMPLETE screen list of the role; empty = no list. If the column is absent, it is not touched. | `/erp/procurement/orders;/erp/procurement/requisitions` |

### Kullanıcılar (Users)

Users — matched by email: updated if it exists, created if not. A new active account counts toward the license's
user limit. Matching: `Eposta`.

| Column | Required | Description | Example / allowed values |
|---|---|---|---|
| `Eposta` | **Yes** | Sign-in name. The email of an account, once created, does not change via the file. | `ahmet.yilmaz@ornek.com` |
| `AdSoyad` | No | Display name. If the column is absent, it is not touched. | `Ahmet Yılmaz` |
| `Telefon` | No | Digits, spaces, +, ( ) and -; 7–15 digits. Empty = no number. | `+90 532 000 00 00` |
| `Roller` | No | Role names separated with ';' — the COMPLETE set of the user's roles. The role must be on this workbook's Roller sheet or in the installation. If the column is absent, it is not touched. | `Satın Alma Uzmanı` |
| `EkIzinler` | No | Permissions granted to the person on top of the role, separated with ';' — the COMPLETE set. If the column is absent, it is not touched. |  |
| `ButunEkranlar` | No | Evet (Yes) = all screens, independent of the role's screen list. Empty = Hayır (No) for a new user, untouched for an existing one. | `Evet` · `Hayır` |
| `Durum` | No | Pasif (Inactive) = account disabled (not deleted). Empty = Aktif (Active) for a new user, untouched for an existing one. | `Aktif` · `Pasif` |
| `HesapKilitleme` | No | Whether the account is locked after failed password attempts. Empty = Evet (Yes) for a new user, untouched for an existing one. | `Evet` · `Hayır` |
| `IlkGiristeSifreDegistir` | No | Evet (Yes) = password change required at first sign-in. Empty = Hayır (No) for a new user, untouched for an existing one. | `Evet` · `Hayır` |
| `SifreOzeti` | No | The password hash exported by CoreX — written as is, not edited. Empty = a new user is created without a password (awaiting invitation); for an existing one, the password is not touched. |  |

## 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 |
|---|---|
| Durum 'Aktif' ya da 'Pasif' olmalı. (Durum must be 'Aktif' or 'Pasif'.) | Only these two values can be entered in the Durum column. |
| … 'Evet' ya da 'Hayır' olmalı. (… must be 'Evet' or 'Hayır'.) | Other spellings (E, 1, true) are not accepted in an `Evet`/`Hayır` column. |
| Ekran adresi değil: … (Not a screen address: …) | Enter the menu address (`/erp/...`) or `*` in the screen list; do not enter the screen name. |

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