Gearyforgemore tools

Know what changed before the money moves

Every pay run, someone checks this period’s employee export against last period’s. Load both here and see exactly what moved.

What this catches

  • New starters who are not on the last run
  • Leavers who are still on this one
  • Pay rates that changed, old figure beside new
  • Bank details that changed since last period
  • The same employee appearing twice

You will be asked which column identifies a row. Usually the employee number or payroll ID.

1 Load the two filesCSV or XLSX, one each side

File A · original

Drop a CSV or XLSX file here, or click to browse

File B · updated

Drop a CSV or XLSX file here, or click to browse

All file data is read entirely within this browser tab. Nothing is uploaded to any server. Closing this tab discards all loaded data. Exports are unlocked by a one-time purchase through Stripe, our payment processor; that happens in a separate tab and never involves your file data. If you unlock exports, a licence token is kept in this browser's local storage; nothing else is stored.

How it works

  1. Export the employee list from your payroll system for this period, and find last period’s export.
  2. Load last period’s file on the left and this period’s on the right.
  3. Pick the column that identifies an employee — usually the employee number.
  4. Read the five counts, then work through the changed rows with the old value beside the new one.

Every row lands in one of five categories

The comparison does not produce a list of differences; it sorts every record on both sides into exactly one of these, using the column you picked as the key. The counts add up to the rows you loaded, so nothing is silently dropped.

Matched
The key appears on both sides and every compared cell is identical. These are the rows you do not have to look at, and on a healthy comparison they are nearly all of them - which is the point, because the job is finding the handful that are not.
Changed
The key appears on both sides but at least one cell differs. Each differing cell is shown with its previous value beside the new one, so the question is never "something moved" but "this figure was 1,240 and is now 1,420".
Added
The key is on the right-hand side only. Usually a genuinely new record, but it is also what a re-keyed identifier looks like: change a reference and the same row leaves as removed and returns as added, which is worth checking before treating a large added count as growth.
Removed
The key is on the left-hand side only. A record that was there last period and is not there now - a leaver, a cancelled line, a row dropped by a filter that was left switched on when the export ran.
Duplicate
The same key appears more than once on one side. This is reported separately rather than folded into the others because a duplicated key makes the comparison ambiguous: there is no single row to compare against, so totals built on that key are unreliable until it is resolved.

Choosing the key column is the one judgement the tool cannot make for you. Pick a column that identifies a record and does not change between the two files - a reference, a code, an ID. Pick something that varies, such as a name or a date, and rows that are really the same record will be reported as one removed and one added.

Questions

How do I compare two payroll runs?
Export both periods from your payroll system as CSV or XLSX, load one into each side, and pick the employee number as the column that identifies a row. You get a count of matched, changed, added, removed and duplicate records, then every changed field with the old value beside the new one.
Will it show me pay rate changes specifically?
Yes. Any column whose value differs between the two files is reported as a change, field by field, so a changed pay rate or a changed bank account appears with both the previous and the current value.
What if an employee appears twice in one file?
Duplicates on the identifying column are counted and listed separately, so a record entered twice does not quietly become a single row.
Is my file uploaded anywhere?
No. Both files are read and compared inside this browser tab. Nothing is sent to a server, there is no account, and closing the tab discards everything.
What file formats does it accept?
CSV and XLSX. Both sides can be different formats — a CSV against an XLSX works.
How large a file can it handle?
It has been measured on 100,000 rows a side. Large files take a few seconds to parse, and the comparison itself runs in well under a second.
Can I export the differences?
Comparing and reading the result on screen is free. Downloading it as CSV or XLSX is a one-time unlock, and the price is shown beneath the export buttons once you have a result.