EloERP User guide

HR & Payroll: the complete guide

From adding employees to paying salaries, with the accounting behind every step: each employee's own ledger, income tax withholding, EOBI and social security.

Module: HR & Payroll + AccountsExample month: September 2026Figures from a demo company
01

How payroll works in EloERP

Payroll lives in the HR & Payroll module, and every salary, deduction and payment it produces is posted automatically to Accounts. You never type a salary journal by hand.

SetupSettings, tax slabs, salary components
EmployeesSalary, bank account, own ledger
AttendanceAbsences, leave, overtime
Run payrollGenerate the month, apply tax & EOBI
FinalizeLock the run, payslips ready
Post to AccountsSalary expense, employee ledgers, tax payable
PayFrom bank or cash; ledgers settle
Remit & reportDeposit tax and EOBI, file returns

A payroll run moves through three statuses: Draft while you review and adjust, Processed once finalized (and posted to accounts), and Paid when every employee has received their net salary.

HR and Payroll dashboard showing headcount, last payroll cost of Rs 858,830 and loans outstanding
HR & Payroll → Dashboard. Headcount, last payroll cost, pending leaves and loans, with six-month trends.
About the examples

All screenshots come from a demo company with eight staff and a September 2026 payroll: gross salaries of Rs 906,000, total deductions of Rs 47,170 and net pay of Rs 858,830. Your screens will look the same with your own data.

02

One-time setup

Before the first payroll, open HR & Payroll → Payroll → Statutory & Tax Slabs. These settings decide how every salary is calculated, so review them once and save.

Working week and how people get paid

Statutory settings: working week with Sunday off, pay from basic salary, post each salary to own ledger
Working week · How people get paid · Pay slip.
  • Working week: click the days your company is closed (here, Sunday). The remaining working days are what a day's pay is divided by, so this sets the value of every absence deduction.
  • One day's pay is salary divided by: working days in the month (recommended), calendar days, a fixed 30 or a fixed 26.
  • Pay from the employee's Basic Salary: tick this to pay each person the Basic Salary and Allowances typed on their employee record. Leave it off if every employee is paid through a salary structure.
  • Post each employee's salary to their own ledger: tick this to give every employee a complete account statement in Accounts, with what they are owed and what they were paid. Chapter 11 shows the result.
  • Pay slip: show the attendance summary on the slip, and optionally email the slip automatically when a payment is recorded.

Salary components

Open Payroll → Salary Components for the building blocks of pay: earnings (Basic, House Rent, Allowances), deductions (Income Tax, EOBI employee share) and employer contributions (EOBI and PESSI employer share). Each component is a fixed amount, a percentage of basic or a percentage of gross. Tick Taxable on every earning that counts towards income tax.

Salary components list with type, calculation type, value and taxable flag
Payroll → Salary Components. Group components into Salary Structures when different grades are paid differently.

Shifts, leave types and holidays

Shifts list with timings, grace period, half-day threshold and overtime multiplier
Time & Leave → Shifts. Timing, grace minutes, half-day threshold and overtime rate.
Leave types with days per year and paid or unpaid flag
Time & Leave → Leave Types. Days per year, paid or unpaid, carry-forward and encashment.

Add public holidays under Time & Leave → Holidays (the Seed PK Holidays button loads the national list). Holidays marked for all employees are not counted as working days.

03

Income tax and statutory deductions

EloERP withholds income tax, EOBI and provincial social security automatically when you press Apply Tax/EOBI/OT on a payroll run. The rates come from the same settings page.

EOBI ceiling 37,000, employee 1% and employer 5%; income tax auto-apply; PESSI employer 1%
EOBI / PF / Tax and Provincial Social Security.
ItemWhat it doesExample setting
EOBIEmployee share is deducted from salary; employer share is a company expense. Both are worked out on gross pay, capped at the ceiling wage.Ceiling Rs 37,000 · employee 1% · employer 5%
PESSI / SESSIPunjab or Sindh social security. Usually employer-only, on full wages unless a ceiling is set.PESSI employer 1%
Income tax (WHT)Tick Auto-apply WHT. Tax is calculated from the slabs below on taxable earnings.FY 2025-26 slabs
Provident FundOptional employee and employer percentages of gross.Off in the example
Maker-checkerRequires a second person to approve a finalized run before it can be posted.Optional
GratuityDays per year of service; used for final settlement.30 days after 12 months

Income tax slabs

Choose the tax year, enter the annual slabs from the current Finance Act, and press Save slabs (override). Leave the upper bound of the top slab blank.

Income tax slabs for FY 2025-26: 0 to 600,000 nil, up to 1.2M at 1%, up to 2.2M 6,000 plus 11%, up to 3.2M 116,000 plus 23%, up to 4.1M 346,000 plus 30%, above 616,000 plus 35%
Income Tax Slabs (2025-26), salaried individuals.

How the monthly tax is worked out

EloERP annualises the month's taxable pay, applies the slab, and divides the annual tax by 12. Example: the Store Manager earns Basic Rs 185,000 + Allowances Rs 25,000.

Taxable pay this month 185,000 + 25,000 = 210,000 Annualised 210,000 × 12 = 2,520,000 Slab 2,200,001 – 3,200,000 → 116,000 + 23% above 2,200,000 Annual tax 116,000 + 23% × 320,000 = 189,600 Monthly tax 189,600 ÷ 12 = 15,800 EOBI (employee) 1% × 37,000 ceiling = 370 Net salary 210,000 − 15,800 − 370 = 193,830
Keep the slabs current

Each July, add the new tax year's slabs and change FY (for tax slabs) in the EOBI card to that year. Tax is recalculated every time you apply the engine on a draft run.

04

Employees

HR & Payroll → People → Employees lists everyone, with search, department and status filters, export and import.

Employee list with employee ID, department, designation, phone, joining date, basic salary and status
Employees. Click + Add Employee to add one, or Import for a spreadsheet.

Adding an employee

  1. Personal: name, CNIC, gender and contact details. Under Statutory IDs (Pakistan) enter the NTN and EOBI registration number; they appear on tax certificates and EOBI reports.
  2. Employment: department, designation, branch, joining date and status. Under Salary enter the Basic Salary and Allowances, and choose whether overtime is allowed.
  3. Emergency & Bank: bank name, account number and IBAN. These print on the bank transfer files and the payslip.
  4. Ledger & Opening Balance (bottom of the Employment tab): keep Create GL ledger for this employee ticked. EloERP creates the employee's own account, numbered EMP-00050 and so on. Enter an opening balance only if the employee already owes the company money (Debit) or is owed money (Credit) from before EloERP.
  5. Press Save Employee.
Employee form, Personal tab with CNIC, NTN and EOBI registration
Personal tab with statutory IDs.
Employee form, Employment tab with basic salary 185,000 and allowances 25,000
Employment tab: salary, overtime and increment terms.
Ledger and Opening Balance section with Create GL ledger for this employee ticked
Ledger & Opening Balance. The opening balance is locked once the employee has payroll or loan activity.

Other People pages: Departments, Designations, Org Chart, Expiring Documents and Employee Letters (appointment, experience and bank letters on your letterhead). Annual raises are managed under Payroll → Increments, which lists who is due and prints increment letters.

05

Attendance and leave

Attendance drives deductions and overtime. Mark it daily, import it, or sync it from a biometric device.

Attendance page with present, absent, late, on leave counters and per-employee check in and out
Time & Leave → Attendance. Mark one employee, Bulk Mark many, Import CSV, or view the Month sheet.
What happensEffect on pay
Absent on a working dayOne day's pay deducted. A day's pay = monthly gross ÷ working days (Rs 210,000 ÷ 26 = Rs 8,076.92 in September 2026).
Half dayHalf a day's pay deducted.
Approved paid leaveNo deduction; the day shows as On Leave.
Approved unpaid leaveDeducted like an absence (leave types not ticked Paid).
Late arrival / early leavingOptional fines, with grace minutes and free occurrences per month (Statutory settings).
OvertimePaid only if switched on: either time clocked out after the shift, or hours above the contracted day, at the multiplier you set.
Joined or left mid-monthSalary prorated automatically.

Missed punches are fixed through Regularization: the employee or HR raises a request, and approving it rewrites that day. Leave requests are entered under Leave Applications and approved there; balances follow your Leave Policies.

06

Loans and advances

Both are paid out from cash or bank and recovered automatically from salary, and both post to the employee's ledger.

Employee loans

  1. Open Payroll → Loans and press + New Loan. Enter the employee, amount, number of monthly instalments, start date and purpose.
  2. Press Approve, choose Paid from (bank or cash) and the date, then Approve & post. EloERP posts voucher LOAN-DISB-… and builds the instalment schedule.
  3. Every payroll run deducts that month's instalment until the loan is cleared. Statement and Agreement print the loan statement and a loan agreement.
Loans list: Usman Javed loan of 60,000 at 10,000 per month, 10,000 paid, 50,000 outstanding
Loans. Rs 60,000 over 6 months; after the September payroll Rs 10,000 is repaid and Rs 50,000 is outstanding.

Salary advances

An advance is recovered in full from the next payroll (or as much as the salary allows; any balance carries to the following month). Open Payroll → Advances, press + New Advance, then Approve and choose Paid from. EloERP posts voucher ADV-….

Advance ADV-16 for Ali Hassan, Rs 8,000 from cash, status deducted, recovered in September 2026 payroll
Salary Advances, filtered to Deducted: the advance was recovered in the September payroll.
EventDebitCredit
Loan or advance paid outEmployee's ledgerBank / Cash
Instalment recovered in payroll(part of the payroll entry)Employee's ledger
07

Running monthly payroll

Once attendance, leave, loans and advances for the month are in, run payroll from HR & Payroll → Payroll → Payroll Runs.

Step 1 · Generate the run

Press + Run Payroll, pick the Month and Year, and press Generate Payroll. EloERP picks up every active employee with a salary, prorates new joiners and leavers, and adds loan instalments and advance recoveries.

Run Payroll dialog with month September and year 2026
Run Payroll dialog.

Step 2 · Apply tax, EOBI and overtime

The run opens as a Draft. Press Apply Tax/EOBI/OT. EloERP calculates absences, half days, late fines, unpaid leave, overtime, commissions, EOBI, PESSI/SESSI, provident fund and income tax for every employee. It is safe to press again after any change.

Draft payroll for September 2026: 10 employees, gross 906,000, deductions 47,170, net 858,830
Draft run after applying the engine: gross Rs 906,000, deductions Rs 47,170, net pay Rs 858,830.
Employee salary breakdown showing deductions and total payable per employee, loan and advance recoveries
Scroll right for Advance / Loan, Deductions and Total Payable per employee. The Sales Executive's Rs 10,000 loan instalment and the Delivery Rider's Rs 8,000 advance are recovered here.

Adjusting a draft

  • Att. (days) and Hours: type paid days directly when you don't keep daily attendance; the row recalculates.
  • + Ad-hoc on a row: add a one-off earning (bonus, commission) or deduction for this month only.
  • + Arrears: pay a backdated raise for earlier months.
  • Pay Slip: preview any employee's slip before finalizing.

Step 3 · Finalize

When the figures are right, press Finalize Payroll. The run becomes Processed and payslips are generated. If maker-checker approval is on, a second person presses ✓ Approve (or ✕ Reject, which sends it back to draft) before it can be posted.

Check before finalizing

A finalized run can no longer be regenerated. Later changes are made as corrections (chapter 14).

08

Posting to accounts

Press Post to Accounts on the processed run. EloERP posts one balanced journal entry, numbered PRLL-YYYYMM-run, that records the whole month's payroll.

Processed payroll run with Posted to Accounts Yes, and buttons Record Payment, Pay Employees, HBL, UBL, MCB bank files and Reverse Posting
Processed and posted. The payment buttons and bank files appear once the run is posted.
Voucher PRLL-202609-15 lines: salaries and wages, EOBI expense, PESSI expense, each employee's net salary payable, salaries payable, income tax payable
Voucher PRLL-202609-15, opened from any ledger statement by clicking its number.
AccountDebit (Rs)Credit (Rs)Why
5201 Salaries & Wages906,000Gross salary expense
5101 EOBI Expense16,650Employer EOBI, 5% × 37,000 × 9
5102 PESSI Expense9,060Employer PESSI, 1% of gross
EMP-xxxxx Each employee's ledger733,000Net salary owed to each person
2203 Salaries Payable125,830Net salary of anyone without an own ledger
2302 Income Tax Payable25,840Tax withheld, owed to FBR
2202 EOBI Payable19,980Employee 1% + employer 5%, owed to EOBI
2205 PESSI Payable9,060Owed to PESSI
EMP-00053 Employee's ledger10,000Loan instalment recovered
EMP-00057 Employee's ledger8,000Advance recovered
Total931,710931,710

Salary expense appears in the Profit & Loss straight away. The amounts owed to staff, FBR, EOBI and PESSI sit as liabilities until they are paid.

09

Paying salaries

You can pay everyone at once or pay employees individually, fully or partly.

  • 👥 Pay Employees: choose Pay from (a bank or cash account) and the Payment date, tick the employees, adjust any Pay now amount, and press Pay Rs …. The dialog shows each person's bank account. One voucher PRLP-YYYYMM-run-P1 is posted per batch.
  • 💵 Record Payment: pays the whole run's net pay in a single voucher.
  • 🏦 HBL / UBL / MCB: download the bank's bulk-transfer file to upload to internet banking.
Pay Employees dialog paying from HBL with payment date 30 September 2026 and all employees ticked, total Rs 858,830
Pay Employees: Rs 858,830 paid from the company's HBL account on 30 September 2026.
Payment entryDebitCredit
Salary paidEach employee's ledger (or Salaries Payable)Bank / Cash

When everyone is paid, the run shows Paid with the account and date.

Paid payroll run: Salary Paid Yes, paid from HBL
The run after payment: Salary Paid ✓ Yes, paid from HBL.
Payroll runs list: September 2026, 10 employees, gross 906,000, net 858,830, status Paid
Payroll Runs keeps every month with its totals and status. Use Print or Excel for the list.
10

Payslips

Press Pay Slip on any employee's row. The slip shows earnings, deductions, attendance, net pay in words, payment status and the employer's contributions.

Pay slip for Imran Siddiqui, September 2026: basic 185,000, allowances 25,000, EOBI 370, income tax 15,800, net pay 193,830 paid in full
Pay slip: net Rs 193,830, paid in full on 30 September 2026. Employer EOBI Rs 1,850 and PESSI Rs 2,100 are shown but not deducted.
  • ⬇ PDF downloads the slip; Print Pay Slip prints it.
  • ✉ Email Slip sends it to the employee's email once their salary is fully paid. You can also have slips emailed automatically on payment (Statutory settings → Pay slip).
  • All slips for a month in one PDF: HR & Payroll Reports → Payslips (Batch).
  • Employees with a login see their own slips in the My HR Portal (/my), along with leave balances, attendance and loans.
11

Employee general ledger

Every employee has their own ledger account in the chart of accounts. With Post each employee's salary to their own ledger switched on, it is a complete running account of everything between the company and that person.

Opening an employee's ledger

  1. Go to Accounts → Ledgers → Ledger Statement.
  2. In Ledger Account, type the employee's name or code (for example EMP-00053).
  3. Set From Date and To Date and press Generate. Use Print or Excel to share it.
Ledger statement of EMP-00053 Usman Javed: loan disbursement 60,000 debit, net salary 74,280 credit, loan recovery 10,000 credit, salary paid 74,280 debit, closing 50,000 debit
Ledger Statement, EMP-00053 Usman Javed, 1 August to 31 October 2026.

Reading the statement

DateVoucherEntryDebitCreditBalance
20-08-2026LOAN-DISB-7Loan paid to the employee60,00060,000 Dr
30-09-2026PRLL-202609-15September net salary owed to him74,28014,280 Cr
30-09-2026PRLL-202609-15Loan instalment recovered from salary10,00024,280 Cr
30-09-2026PRLP-202609-15-P1Salary paid from HBL74,28050,000 Dr

A debit balance means the employee owes the company; here Rs 50,000 is exactly the loan still outstanding. A credit balance means the company owes the employee, for example salary posted but not yet paid. An employee whose salary has been paid in full and who has no loan or advance shows a zero balance.

Where to find all employee ledgers

Employee ledgers are numbered EMP-… under Current Assets in Accounts → Chart of Accounts. Use the General Ledger (Accounts → Ledgers → General Ledger) to see every payroll entry across all accounts for a period.

12

Tax and EOBI payables

Tax and EOBI withheld from salaries belong to the government. They stay as liabilities in Accounts until you deposit them.

Income Tax Payable ledger: WHT payable for September 2026, 25,840 credit
2302 Income Tax Payable: Rs 25,840 withheld in September.
EOBI Payable ledger: EOBI payable for September 2026, 19,980 credit
2202 EOBI Payable: Rs 19,980 (employee 3,330 + employer 16,650).

Depositing withheld tax (and EOBI)

  1. Pay the tax to FBR (by the 15th of the following month) and keep the CPR.
  2. In EloERP open Accounts → Payment Voucher (PV).
  3. Choose the bank you paid from, add a line for 2302 Income Tax Payable with the amount, and put the CPR number in the narration. Save.
  4. The voucher debits Income Tax Payable and credits the bank; the payable returns to zero.

Do the same for 2202 EOBI Payable and 2205 PESSI Payable when you pay those institutions.

DepositDebitCredit
Income tax deposited with FBR2302 Income Tax PayableBank
EOBI contribution paid2202 EOBI PayableBank
PESSI / SESSI paid2205 PESSI Payable (or SESSI)Bank

Tax reports

Income Tax WHT statement for 2026: tax withheld per employee, total 25,840
HR & Payroll Reports → Income Tax (WHT) Statement: tax withheld per employee with CNIC and NTN, total Rs 25,840. Export as CSV, Excel or PDF.

For each employee you can also issue a Tax Deduction Certificate (Section 149) from the same reports page. Payroll → Payroll Reports gives the ready-to-file WHT Return, the monthly EOBI contribution list and YTD Earnings as CSV.

Payroll Reports page with WHT Return, EOBI and YTD Earnings, each with View and CSV
Payroll → Payroll Reports.
13

Reports

Payroll → HR & Payroll Reports holds every HR report in one catalogue. Pick a report, choose the run or period, and press Generate.

Salary register for September 2026 with basic, allowances, gross and EOBI per employee, total gross 906,000
Salary Register: the monthly salary sheet, with earnings, deductions and net per employee.
GroupReports
PayrollSalary Register · Payroll Summary · Cost by Department · Payroll Variance · Payslips (Batch) · Bank Disbursement Advice
StatutoryIncome Tax (WHT) Statement · EOBI Contribution Statement · Provident Fund Statement · Salary Certificate · Tax Deduction Certificate
PeopleEmployee Directory · Headcount & Demographics · Service / Tenure · Employee Profile Sheet · Full & Final Settlement
Time & LeaveAttendance Register · Attendance Summary · Leave Balance · Leave Register
LoansLoan & Advance Ledger · Document & Contract Expiry

Each payroll run also offers Register CSV, Payroll Sheet PDF and Excel Register at the top of the run.

14

Corrections and reversals

Posted figures are never edited in place. EloERP posts the difference, so the books always show what changed and why.

  • Correct one employee: press Edit on their row of a processed run. Change paid days, hours or lines, give a reason, and press Apply & post correction. Only the difference is posted, as PRLL-…-ADJ1. If the employee was already paid, void their payment first in the same drawer.
  • Change a loan deduction for this month: press Loan on the employee's row.
  • Undo the whole posting: press ↩ Reverse Posting before any salary has been paid. A mirror voucher …-REV is posted and loan instalments are reopened.
15

Monthly payroll checklist

  • New joiners, leavers and salary changes entered on employee records
  • Attendance complete; regularization requests and leave applications approved
  • Loans and advances for the month approved and paid out
  • Payroll run generated for the month
  • Apply Tax/EOBI/OT pressed after the last change; totals reviewed
  • One-off bonuses or deductions added with + Ad-hoc
  • Run finalized (and approved, if maker-checker is on)
  • Posted to accounts
  • Salaries paid (bank file uploaded or payments recorded)
  • Payslips emailed or printed
  • Income tax deposited with FBR by the 15th; payment voucher entered
  • EOBI and PESSI/SESSI paid; payment vouchers entered
16

Accounts used by payroll

EloERP creates these accounts automatically the first time payroll is posted. Codes may differ slightly in your chart of accounts; the names are the same.

AccountTypeUsed for
5201 Salaries & WagesExpenseGross salaries
5101 EOBI Expense · 5102 PESSI Expense · 5103 SESSI ExpenseExpenseEmployer contributions
EMP-xxxxx (one per employee)Current assetNet salary owed, payments, loans and advances
Salaries PayableLiabilityNet salary of employees without their own ledger
2302 Income Tax PayableLiabilityTax withheld from salaries
2202 EOBI Payable · PESSI / SESSI PayableLiabilityContributions owed
1175 Employee Loan Receivable · 1176 Employee AdvancesCurrent assetLoans and advances, when employees have no own ledger
Other Payroll Deductions PayableLiabilityOther deductions withheld from pay

Questions or a guided setup? Contact your EloERP support team.