Employee Roster Comparator
Two employee lists in. Who arrived, who left, and which fields changed for everyone in both.
Reads .xlsx and .csv. Both files are read inside your browser and neither one leaves your computer.
Earlier file
Drop a spreadsheet here
The older snapshot. Last month's roster, or the HRIS export.
Later file
Drop a spreadsheet here
The newer snapshot. This month's roster, or the payroll list.
What it is for
Two snapshots of the same workforce, taken a month apart, and the question is what moved. Or two systems that are supposed to agree about who works here and do not, which is the version that matters on payroll day.
It tells you what it assumed. Which column it matched on, how it treated spacing and capitalization, which columns it could not compare because only one file had them, and which rows it excluded. Those choices change the answer, so they are shown with the answer and included in the download.
What kind of move each change is
A list of changed fields is not a list of moves. A higher grade with a new title and a raise is a promotion; a new department is a transfer; a new title that is only the old one typed differently is nobody moving at all. Each person is given one main label and every other label that applies. A promotion needs evidence of level, a higher grade, or without a grade column a title further up the usual ladder, and a pay rise on its own is a pay change, never a promotion. The columns it read the moves from can be changed.
A leaver and a joiner can be one person. Somebody given a new employee ID shows up as one departure and one arrival, and a turnover figure counts them twice. A leaver and a joiner with the same name, and the same date of birth when the files have one, are paired and shown, with the counts given both ways. Pairing is a flag for you to check, not a merge.