Home › HRMS › Features › Data import › Column matching and row check
Data import feature

Column matching and a row check before every import

The painful part of any import is the back and forth: the file fails, nobody knows which row, and the whole sheet goes back to the accounts team. Data Import in ZeniaHR splits the job into steps. It reads the file in your browser, matches columns to fields by their headings, and has the server check every row without saving anything. You see exactly what will be added, updated or skipped, and a file of the rows that need fixing, each with its reason.

How it works

  1. Choose what to import and upload an .xlsx, .xls or .csv file up to 15 MB.
  2. If the file has several sheets, pick the one with the data; ZeniaHR detects the header row, and you can choose a different row.
  3. Columns are matched to fields by their headings and common spellings, and the matches from your last import of the same kind are remembered.
  4. Change any match, reset to the automatic result, and confirm the date format: DD/MM/YYYY, MM/DD/YYYY or YYYY-MM-DD.
  5. The server checks every row without saving and lists what will be added, updated or skipped, and what needs fixing with reasons.
  6. Import the valid rows in the background, download the rows to fix, and delete a finished import job from recent imports when it is no longer needed.

What you can set

Why check before saving

An import that saves as it goes leaves you with half a workforce loaded and no clean way back. Checking every row first, on the server and against the data already in ZeniaHR, means the decision to import is made with full information: how many new people, how many updates, how many duplicates skipped and exactly which rows are wrong. It also catches problems that only show up against existing data, such as a branch name that does not exist or an opening balance that is already there.

Worked example: a messy attendance-system export

A manufacturing company in Ludhiana exports its employee list from an old attendance system. The file has two sheets, a title row above the headings and dates written as 05-Apr-24. HR picks the Employees sheet, and ZeniaHR detects that the headings are on row 2. Twenty-six of the 30 columns match automatically, and dates with month names are read correctly. The row check flags 14 rows whose mobile numbers have only nine digits and 3 rows with no name. HR downloads the rows to fix, cleans them and runs them again. The next monthly update reuses the remembered matches.

Tips for smooth imports

Small habits save repeated uploads and long evenings with the accounts team. Most of them are about the spreadsheet itself rather than ZeniaHR, because the same file problems, such as merged cells and numbers stored as numbers, cause trouble in every system that reads Excel data.

See column matching and row check 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 pricing

Frequently asked questions

What does the row check in Data Import look at?

Every row is checked on the server without saving: required fields, formats such as dates, amounts, PAN, Aadhaar, IFSC and mobile numbers, and matches against existing data, such as employees who already exist or holidays already in the calendar. The result lists what will be added, updated or skipped and why rows need fixing.

Can I change how ZeniaHR matched my columns?

Yes. Every match can be changed, and a column can be left unmatched if you do not want it imported. Reset to automatic undoes your changes. The next import of the same kind remembers the matches you used last time, which saves time on monthly updates.

What date formats can I use in the import file?

DD/MM/YYYY, MM/DD/YYYY and YYYY-MM-DD, with dashes, slashes or dots between the parts. ZeniaHR suggests the format it detects from your data, and you can change it. Dates with month names, such as 05-Apr-24, and Excel's own date cells are read as well.

Can I leave the page while an import is running?

Yes. After you confirm, the import runs in the background with progress. You can work elsewhere and come back to recent imports for the result, including the rows that were not imported and why. A finished import job can be deleted from the list when you no longer need it.