← All projects

HR ↔ ERP Reconciliation Toolkit

Sole builder · 2025

A desktop tool that automated the field-by-field reconciliation between the HR system of record and the ERP that mirrors it.

Internal toolModerate complexityAI-assisted build

Impact

Replaced a manual, error-prone spreadsheet comparison with a repeatable tool that surfaces only genuine breaks — filtering out ~360 employees' worth of known formatting noise automatically.

Systems

PythonpandasTkinterstyled Excel export

HR areas

HR OperationsData GovernancePayroll & Finance Integration

The problem

HR data lived in one system; an ERP maintained its own mirrored copy for finance and payroll purposes. The two drifted — some of it real (a title change that hadn't synced), most of it cosmetic (phone number formatting, state abbreviations vs. full names, a supervisor name prefixed with an ID on one side and not the other). Every reconciliation cycle meant manually diffing ~22 fields across the full employee population in a spreadsheet, with no way to tell "known noise" from "an actual data problem" except by re-checking everything, every time.

What I built

A GUI tool that reads an export from each system, aligns their differently-named columns, and reconciles every matched employee field by field — with a persistent rules file for both value mappings (translate a known formatting difference to its equivalent) and acknowledged differences (mark a specific field on a specific employee as reviewed and expected, so it stops flagging on future runs).

  • Output is a styled, multi-sheet Excel report: genuine unresolved breaks, acknowledged-but-different rows, employees missing from one side or the other, and a clean summary with a match rate.
  • Reviewers can mark a difference as known directly from the results view, and it's suppressed on every subsequent run — the tool gets quieter over time instead of crying wolf on the same formatting quirks every cycle.

Why it mattered

It turned a recurring, error-prone manual audit into a five-minute repeatable process, and made "these two systems agree" something you could actually trust rather than something you hoped was true.