HR, ATTENDANCE AND PAYROLL · AUG 2026 — PRESENT

KMI HRM

One HR system for a Faisalabad company with several sites and plants: fingerprint attendance, employee records, salary rules and payroll, on the web and in the staff app.

Project facts

  • Client: KMI Group, Faisalabad, Pakistan
  • Industry: Manufacturing and distribution
  • Period: Aug 2026 — Present
  • Role: Full-stack developer — the complete HRM: attendance agent, HR modules, payroll and salary policy engine in Laravel and Vue, and the HRM module of the KMI Connect app.
  • Live site: https://hrms.kmigroup.online

What is KMI HRM?

KMI HRM is the HR system behind KMI Group, a company based in Faisalabad, Pakistan. It follows the company’s real shape: business, site, plant and department, with a reporting line below that. Almost every screen and report filters along that same path.

It starts at the fingerprint machine. A small agent on the local network saves each punch before anything else happens, so a day without internet loses nothing. Those punches feed attendance reports, missed-punch alerts and finally the salary sheet, where rules for short days, overtime, leave and statutory deductions each carry a start date.

I built the first attendance version in August 2026, then added the HR modules and payroll on top of it from October. After that, I brought HR into the KMI Connect app as its HRM module: employee self-service, HR Admin screens, and a phone that can sync machines when no PC is on site.

From a fingerprint to a payslip

Follow one working day through the system, from the machine at the gate to the employee’s payslip.

  • The punch: An employee scans a finger. The local agent or the phone app saves the punch at once, even with no internet.
  • The sync: The punch reaches the server and appears on the live display and in device logs without a page refresh.
  • The day is judged: The employee’s shift and the policy in force decide whether the day is present, late, short or absent.
  • Issues are raised: A missed punch creates an issue and a notification, so the employee can respond before it affects pay.
  • Approvals: Leave, corrections, loans and outside-zone punches go to HR, who can approve them on the web or in the app.
  • The salary sheet: Payroll combines attendance, policies, statutory deductions and advances for the month.
  • The payslip: Employees see their payslip in the app, and HR keeps a record that can always be explained.

Who uses it

  • Super admin: Owns the platform and can look across every business or at one of them.
  • Admin HR: Runs one business, with every HR page available.
  • HR staff: Sees only the pages their access role allows, on the web and in HR Admin.
  • Employee: Uses My HRM in KMI Connect for attendance, leave, duties, issues and payslips.

What it does

  • Biometric attendance: ZKTeco machines by local agent or push, with network discovery and remote management of machine users.
  • Live display and device logs: New punches appear by themselves, with a fallback when the connection fails.
  • Company hierarchy: Business, site, plant and department, with heads at each level and an org chart.
  • Employee registration: A 20-step form with “nothing to record” options, and a profile PDF.
  • Salary policy engine: Effective-dated rules per level, with a one-day tester for HR.
  • Payroll: Salary sheets, payslips, overtime caps, statutory deductions and final settlement.
  • Advances and ledgers: Peshgi types, recovery and a ledger for each employee.
  • Leave: Leave balances with yearly entitlement and carry-forward.
  • Attendance issues: Missed punches become tracked issues, with live notifications.
  • HR Admin in the app: One sign-in, role-based native screens, opened behind fingerprint or face.
  • Phone as agent: The Android app can sync machines over Wi-Fi when no PC is running.
  • Urdu and English: Urdu names on most records, with right-to-left input where it is needed.

Explore KMI HRM

  • See the sign-in: Open hrms.kmigroup.online. The system is private to KMI Group staff, so the sign-in page is as far as the public can go.
  • See the app on Google Play: Use the Get it on Google Play button above to see KMI Connect. Signing in is limited to approved KMI Group staff.
  • Read the build diary: The posts below explain the system month by month, including the problems we met.
  • Ask for a walkthrough: Employee data stays private, so a walkthrough uses sample data. Email contact@techroof.it.com.

The client

A company spread across sites and plants needed attendance from fingerprint machines, employee records and payroll in one place, with rules that HR can change without a developer, and access from a phone.

A web dashboard for HR and a set of HR screens in the company’s KMI Connect app, built on a local agent that keeps attendance safe when the internet drops.

Built with

  • Web app: Laravel 12, PHP 8.2, Inertia, Vue 3, Vuetify 3, MySQL
  • Attendance: Python agent, ZKTeco machines, ADMS push, SQLite on site
  • Mobile: React Native, Expo, Android TCP module
  • Security: Role and page permissions, Sign-in limits, Private personal files, App lock by biometrics