Everything HR does ends up on a payslip.
MatrixHR connects attendance, leave, expense claims and loans to payroll for companies in Pakistan, then shows its working, line by line.
Payslip, September 2026
Sara Ahmed, Senior Software Engineer
Net pay
To Meezan Bank, account ending 4471
PKR218,283
- Take-home 75%
- Income tax 11%
- EOBI and PF 9%
- Loan 5%
Net pay PKR 218,283, gross PKR 285,000, income tax PKR 32,917.
Month-end starts in five different places.
A punch export, a WhatsApp thread, an email chain, a loan spreadsheet and a bank portal. Someone copies all of it into payroll by hand, every month.
In MatrixHR each one is a module that feeds the run, so nobody types a number twice.
- 4471 2026-09-03 09:14:07 0 1
Time clock
ZKTeco terminals push punches straight in.
- Sara: Sir, kal chutti chahiye, ammi ki tabiyat theek nahi
Time off
Leave is requested in the app and approved from WhatsApp with a one-time code.
- Re: Re: Fw: fuel receipts for August (3 attachments)
Expenses
Claims are filed by category, approved, and paid in the next run.
- Loans_register_FINAL_v3.xlsx, row 38
Loans
Instalments are recovered by payroll until the balance is zero.
- Bulk upload rejected: row 17, invalid IBAN
Bank file
Invalid IBANs are left out of the file and listed, before anything reaches the bank.
A payroll run that takes two people to approve.
The mistakes that cost the most are the ones nobody else looked at. MatrixHR will not let the person who prepared a run approve it.
Draft
The run builds itself
Approved attendance, unpaid leave, claims and loan instalments are already in. Recalculate as often as you like while it is a draft.
Review
A second person checks it
Whoever prepared the run cannot approve it. MatrixHR enforces that, not a policy document.
Approved
Lock it to pay
Locking generates every payslip as a PDF and archives it. From here the numbers stop moving.
Locked
Then the bank file
Export for Meezan, HBL or a generic format. Anyone with a bad IBAN is left out and listed, and the QuickBooks journal balances before you download it.
Payroll run, September 2026
Acme Software, 30 employees
Being prepared. Submit for review when ready.
| Employee | Net pay (PKR) |
|---|---|
| Sara Ahmed, Senior Software Engineer | 218,283 |
| Ali Khan, Engineering Manager | 301,560 |
| Maryam Mirza, Product Designer | 164,960 |
| Waqas Raza, QA Engineer | 118,420 |
Prepared by hr@acme.com
Managers approve leave without opening a laptop.
The request arrives on WhatsApp with a one-time code. The manager replies with it, the leave is approved, and the balance updates straight away.
- Works once
- Each code approves one request, then expires within 24 hours.
- Hard to mistype
- Codes leave out 0, O, 1 and I, so they read cleanly off a screen.
- Opt-in
- Employees consent before messages start, and STOP ends them.
- On the record
- Approvals from chat go into the audit log, like any other.
MatrixHR
Business account
- 📋 Leave Request Sara Ahmed has requested 2 day(s) of Casual Leave. Reply: ✅ APPROVE K7QH4XWP ❌ REJECT K7QH4XWP The code works once and expires in 24 hours.10:41
- APPROVE K7QH4XWP10:42
- ✅ Approved.10:42
One record, and exactly what each person may see of it.
Look at Sara’s record as
Managers approve Sara’s leave and run her reviews, but her pay, CNIC and bank details stay hidden.
Sara Ahmed
Directory view
- Employee code
- ACME-0142
- Job title
- Senior Software Engineer
- Department
- Engineering
- Reports to
- Ali Khan
- Work email
- sara.ahmed@acme.com
- Basic salary
- Hidden for this viewer
- CNIC
- Hidden for this viewer
- IBAN
- Hidden for this viewer
And the rest of HR, on the same record.
Hiring, time, pay, talent and company settings share one employee record, so a person’s details are typed once and every module reads the same copy.
People
- Employee records
- Documents, departments, job titles and an org chart.
- Recruitment
- Post roles and move candidates across a board.
- Pre-boarding
- Signed paperwork collected before day one.
- Onboarding
- Checklists from templates, tracked to done.
- Offboarding
- An exit workflow that ends in a final settlement.
Time
- Time off
- Policies, balances, holidays and a calendar of who is out.
- Time clock
- Clock in from a browser or a ZKTeco terminal.
- Timesheets
- Hours against projects, approved by managers.
Pay
- Payroll
- Monthly runs with tax, EOBI and provident fund.
- Expenses
- Claims by category, reimbursed through payroll.
- Loans and advances
- Approved in the app, recovered in instalments.
- Pay stubs
- Each employee reads their own, and nobody else’s.
Talent
- Performance
- Review cycles, goals and 360 feedback.
- 1-on-1s
- Shared agendas between a manager and each report.
- eNPS
- Pulse surveys, broken down by team.
- Learning
- Courses assigned, completion tracked.
Company
- Reports
- Standard reports and a builder, exported to a file.
- Workflows
- Approval steps you define, per request type.
- Custom fields
- The fields your company tracks that ours do not.
- Audit log
- Who changed what, and when.
Connected both ways
Comes in
ZKTeco punches, browser clock-ins, and your employee list as one import file.
Goes out
Bank files for Meezan, HBL or a generic format, a QuickBooks journal, WhatsApp messages, and webhooks to your own systems. Build on top with scoped API keys and single sign-on.
One company can never read another company’s data.
Every record carries its company, and every query is scoped to it. To prove it, a test suite replays every API route as a user from a second company and counts anything that comes back as a failure.
- Two-factor sign-in
- Authenticator-app codes, with recovery codes for a lost phone.
- Lockout on repeated failures
- Wrong passwords lock the account instead of inviting more guesses.
- Sessions end when a password changes
- Every other session is signed out, and refresh tokens rotate on use.
- Encrypted integration keys
- Bank, device and accounting credentials are encrypted at rest.
- Signed WhatsApp webhooks
- Messages that do not carry Meta’s signature are ignored.
- Audit log
- Sensitive changes are recorded with who made them and when.
Priced per person, in rupees.
Prices in Pakistani rupees, per employee, per month. Every plan starts with a 30-day trial.
Starter
For getting leave and attendance off spreadsheets.
- Employee records and documents
- Leave, holidays and approvals
- Attendance, web clock-in and biometric terminals
- Self-service for every employee
Start free trialPKR 250 per person
PKR 10,000 a month for 40 people
GrowthIncludes payroll
For running payroll in MatrixHR.
- Everything in Starter, plus
- Payroll with a second approver
- Payslip PDFs and bank files
- Recruitment and onboarding
- WhatsApp approvals
Start free trialPKR 500 per person
PKR 20,000 a month for 40 people
Pro
For reviews, learning and your own integrations.
- Everything in Growth, plus
- Performance reviews, goals and 360s
- Courses and learning
- Report builder
- API keys and webhooks
Start free trialPKR 850 per person
PKR 34,000 a month for 40 people
Enterprise
For larger teams with their own requirements.
- Everything in Pro, plus
- Single sign-on
- Ask MatrixHR assistant
- A named contact and an SLA
Start free trialPriced with you
Based on headcount and what you need
Questions HR teams ask first.
Which countries does payroll cover?
Pakistan and the United States have payroll engines today. Other countries are not calculated yet, so confirm coverage for your team before you commit.
Are the tax slabs up to date with the latest budget?
Tax slabs, EOBI and provident-fund rates live in a rule set that is versioned by effective date. Check the rates against your own advisor for the current fiscal year before your first live run.
Who can see salary, CNIC and bank details?
HR, company admins and the employee themself. Managers and colleagues get the directory view, which leaves pay, ID and bank fields out entirely.
How do biometric devices connect?
ZKTeco terminals push punches to MatrixHR, where they sit next to browser clock-ins and feed attendance. Device credentials are stored encrypted.
Can managers approve from their phone?
Yes. The web app works on a phone, and managers can approve or reject leave from WhatsApp with a one-time code that expires in 24 hours.
What happens when someone leaves?
Offboarding runs as a workflow with tasks for each team, then works out a final settlement, including leave encashment and any loan balance still owed.
Can we connect our own tools?
Yes. Create scoped API keys, receive webhooks with retries, export the payroll journal to QuickBooks, and set up single sign-on.
How does the trial work?
Create your company and choose a subdomain. You become the company admin with every module switched on, and the trial runs for 30 days.
Close next month in MatrixHR.
Create your company, import your people, and run a draft payroll against last month’s numbers.