KMI HRM · PART 2 · OCTOBER 2026
Before adding the next layers in October 2026, my first task was not code. I went back through the requirements and wrote a checklist of which points were done and which were not, with evidence from the code. That list then drove the whole month, and it was updated as each area was finished.
How attendance, HR and payroll for a Pakistani company of several sites and plants came together, from fingerprint machines to the phone in an HR manager’s hand.
With attendance working, I spent October 2026 building what sits on top of it: the company structure, employee records, advances, payroll and reports. Each one depends on the one before it.
A flat list of departments does not describe a group of companies. We modelled it as business, then site, then plant, then department, with a named head at each level and a reporting line below that. Shifts, holidays and machines attach at the right level. Almost every later screen and report filters along this same path.
A full employee record covers many things, so registration became a 20-step form with a profile PDF at the end. Real HR staff rarely have everything on day one. So optional sections got a clear “nothing to record” choice, and the form lets them move on and return later. A blank box and a confirmed “none” are different facts, and now the system can tell them apart.
Peshgi, a salary advance recovered from later pay, is everyday practice in Pakistani workplaces. It needed its own types, recovery rules and a ledger for each employee. Names can be stored in Urdu as well as English on most records, because the people using them read both.
Salary sheets and payslips came in the first week, then a long list of corrections as real cases appeared: caps on overtime per shift, and salary cuts for missed punches that nobody reported. That last one raised a fairness question. Missed punches now create an issue, and the employee is told through live notifications, so nobody finds out from their payslip.
One detail I am glad we caught: the first time that check runs after going live, it records quietly. Otherwise it would have flooded everyone with old alerts and cut pay for days nobody had been warned about.
When you switch on a rule that affects pay, think about the backlog. A new rule should start from today, not punish yesterday.