Import Employees from an Excel File and Map Columns to the System Keywords:
You can add many employees at once, or update existing employees, by importing an employee file from an Excel or CSV file and then mapping the file columns to the system fields. The import covers the employee’s basic data, job and attendance data, and the custom fields you added for employees.
Contents
Before you start
- You have both the Add New User/Employee and Edit & Delete User/Employee permissions. If either is missing, the Import button doesn’t appear.
- The branches, roles, leave policies, shifts, and holiday lists you enter in the file already exist in the system.
- Your plan has enough available employees and users for the new employees in the file.
🛈
Note: If the HRM app isn’t active, the job and attendance fields don’t appear in the import, and the sample file is shorter without them.
Steps to import employees
First: Import Options
- From the main menu, click Employees, then Manage Employees, then click the Import button at the top of the employee list. The Import Options page opens.
- Click Download Sample at the top of the page next to the Next Step button. The sample file downloads to your device.
- Open the file on your device in Excel or any spreadsheet app, fill in the employee data, then save it as a CSV or Excel (XLS, XLSX) file. Keep the following in mind:
- Keep the column headers in English as they are, even if your account is in Arabic. The system recognizes them and maps them to the fields automatically.
- In the Type column, enter the employee type: Employee for an employee, or User for a user.
- Enter Yes or No in the checkbox columns, such as Can Access System and Send Credentials to Employee Email.
- Enter dates in the same date format set in your account.
- Enter branch names exactly as they are in the system, and separate branches in the Accessible Branches column with a comma.
- In the Direct Manager Code column, enter the direct manager’s code, not their name.
- Go back to the Import Options page and upload the file in the CSV / Excel File field.
- If the file is a CSV file, select the separator used between its columns from Delimiters: Comma Separated ( , ), Semicolon Separated ( ; ), or Tab Delimited. This field doesn’t appear for Excel files.
- Check Import First Row only if the first row of the file isn’t a header row.
- Click Next Step.
Second: Fields Mapping
- Review the mapping table: the System Field column shows the employee fields, and the Corresponding Field in File column shows the column the system mapped automatically.
- To change a mapping, choose the correct column from the Select Column list. You can search within the list.
- Make sure the required fields, marked with *, are mapped. Custom fields appear at the end of the list.
- To import the valid rows and skip the rows with errors, check Ignore errors while importing.
- Click Import.
Third: Result
The Result page appears, showing the number of employees Imported successfully., the number of employees Updated successfully., and the number of rows that failed to import, with the row number and the reason for each failure.
🛈
Note: Each employee’s activity log records whether they were added or updated through import.
Adding new employees or updating existing ones
The system uses only the Employee Code to decide whether a row is a new employee or an update to an existing one:
| Employee Code in the file | What happens |
|---|---|
| Empty | A new employee is added, and the system generates a code automatically. |
| Not found in the system | A new employee is added with this code. |
| Found in the system | The data of the employee with this code is updated. |
🛈
Note: The Official ID, email, and phone number aren’t used to identify the employee. When updating, you can edit all employee data except their status.
Required fields
The required fields for a new employee depend on the type entered in the Type column:
| Type | Required fields |
|---|---|
| User | First Name, Display Language, Role, Accessible Branches, Date of Birth, and Country. |
| Employee | First Name, Email Address, Display Language, Date of Birth, Country, Join Date, and Branch. |
🛈
Note: Email is optional for a user, but if you enter it, it must not already be used by another employee.
Why rows fail to import
A row isn’t imported in the following cases, and the reason appears on the Result page:
- A required field is empty.
- An invalid value in the Type column. The accepted values are User or Employee only.
- A date in a format different from the date format of your account.
- A branch, role, shift, leave policy, or holiday list that doesn’t exist in the system.
- A direct manager code that doesn’t belong to any employee.
- An email duplicated within the file, or already used by another employee in the system.
- An invalid value in a custom field, such as text in a number field.
Official ID rules
- The Official ID must be unique in your account.
- If an Official ID is repeated within the file, only the first row is imported, and the later rows fail.
- When adding a new employee with an Official ID that already exists in the system, the row fails.
- When updating an existing employee with an Official ID that belongs to another employee, the row fails.
Employee and user limits in your plan
Before importing, the system counts the new employees and users in the file and compares them with the number available in your plan. If the count exceeds what is available, the new rows aren’t imported, and the message You have exceeded your available slots. Please increase your limit to import this employee. appears next to each row.
In this case, increase the number of employees or users in your plan, then import again. Rows that update existing employees don’t count toward this number.
FAQs
Can I update existing employees through import?
Yes. Enter the existing employee’s code in the Employee Code column, and their data is updated instead of adding a new employee.
Why don’t the job and attendance fields appear in Fields Mapping?
Because the HRM app isn’t active in your account. Activate the app to show these fields in the import and in the sample file.