How it works
- In Data Import, choose Employees and pick a mode: add and update, add only, or update only.
- Download the sample Excel if you are starting fresh; it has a Data sheet and an Instructions sheet describing every field.
- Upload your sheet, and ZeniaHR matches headings such as Emp Code, DOJ or Father Name to its fields; change any match you disagree with.
- The server checks every row and shows how many will be added, updated or skipped, and which need fixing and why.
- Import the good rows, download the rows that need fixing, correct them in Excel and upload them again.
- The import runs in the background with progress, and the result stays in recent imports.
What you can set
- Modes: add and update (default), add only, update only.
- Match keys: employee ID, Aadhaar, PAN, email, phone.
- Field groups: basic details, contact, address, job, statutory IDs, bank, exit.
- Format checks: mobile, email, Aadhaar, PAN, UAN, ESIC IP number, IFSC, bank account.
- Status words such as left, resigned or relieved are read as Archived.
- Branch must match a branch name or code already in ZeniaHR.
- Amounts may include ₹, Rs, INR, commas or /-.
- Up to 10,000 rows; .xlsx, .xls or .csv up to 15 MB.
- Biometric device codes have their own import on the Employees page.
Preparing the sheet
Most import errors come from Excel itself. A 12-digit Aadhaar or a long bank account number typed as a number turns into scientific notation and loses digits, so type them as text, starting with an apostrophe. Keep one row per employee and the headings in the first row. Use one date format throughout, and tell ZeniaHR which one if it guesses wrong. Write the branch exactly as it is named in ZeniaHR. Leave a cell blank rather than typing NA, because blanks are skipped while NA can fail a format check.
Worked example: 420 staff from a payroll sheet in Indore
A hospital in Indore moves 420 staff from its payroll spreadsheet. HR uploads the sheet in add and update mode. ZeniaHR matches 31 of the 33 columns on its own; HR matches a column headed Consolidated Pay to Monthly salary and leaves a remarks column unmatched. The check shows 412 rows to be added and 8 needing fixes: five PAN numbers in the wrong format, two IFSC codes with a missing character and one mobile number with nine digits. HR imports the 412, downloads the rows to fix, corrects them with the accounts team and imports the 8 the next day.
After the import
The import creates the records, and a few follow-up steps make them work across attendance, approvals and payroll. Plan an afternoon for these after any large import, before employees start applying for leave or HR runs the first payroll of the new system.
- Link department, designation and reporting manager in each profile's organization assignment; the linkage panel in Settings shows who is pending.
- Set each person's monthly gross on the payroll tab before the first Direct Payroll run.
- Import biometric device codes from the Employees page if you use biometric machines.
- Spot-check ten records against the source sheet.
See employee import in a demo
We show it on a video call with your own shifts, leave types and rules. Free for your first 50 employees.
Book a free demoSee pricingFrequently asked questions
What happens if an employee in my sheet already exists in ZeniaHR?
In the default add and update mode, a row that matches an existing employee on employee ID, Aadhaar, PAN, email or phone updates that person, and cells left blank keep the existing values. Use add only to bring in new joiners without touching existing records, or update only to change existing records.
Can I import salary and bank details for employees?
Yes. The employee import takes monthly salary, bank name, account number, IFSC, account holder name and bank branch, and checks account numbers and IFSC codes for format. The salary structure that Direct Payroll uses is set from monthly gross on each employee's payroll tab.
Why did some rows fail the import check?
Each failed row comes with a reason, such as a PAN in the wrong format, a date ZeniaHR cannot read or a branch that does not exist. Download the rows to fix, which lists the reason next to each row, correct them in Excel and upload the file again.
Can I import employees who have already left?
Yes. Include their exit date and exit reason, and put a status such as left, resigned or relieved, which the import reads as Archived. This is useful for keeping ex-employees on record for PF queries, gratuity claims and background verification requests.