HRMS and payroll in India: PF, ESI, PT, TDS and LWF explained
The five statutory deductions an Indian HRMS must calculate every month, the edge cases that break payroll, and a checklist for choosing or building the software.
- Published
- Updated
- Reading time
- 7 min
An Indian HRMS must get five statutory deductions right every month: Provident Fund, ESI, state Professional Tax, TDS on salary and state Labour Welfare Fund. It must also produce the files and challans each authority expects, and cope with mid-month joiners, arrears, salary revisions and employees spread across states. Attendance and leave feed all of it.
Most payroll errors are not arithmetic mistakes. They come from rules that change by state, by wage level or by date, hard-coded into a spreadsheet or a product that assumed one state and one wage band. A 120-person Pune manufacturer with sales staff in Bengaluru and Hyderabad faces three Professional Tax regimes, two Labour Welfare Fund schedules and an ESI ceiling that some of its shop-floor staff cross mid-year. The software has to know all of that without someone fixing cells every month.
What must an Indian payroll calculate every month?
- Provident Fund (EPF). Employee and employer contributions on basic pay plus dearness allowance, with a wage ceiling that matters for the pension portion.
- Employees' State Insurance (ESI). Employee and employer contributions for staff below a wage limit.
- Professional Tax (PT). A state tax with its own slabs, collected by the employer.
- Tax deducted at source on salary. Based on projected annual income, the employee's chosen tax regime and declared investments.
- Labour Welfare Fund (LWF). A small state levy, deducted monthly, half-yearly or annually depending on the state.
On top of these sit gratuity provisioning, statutory bonus, leave encashment and, for many employers, loans and advances. Those matter, but the five above decide whether you get a notice.
How should payroll software handle PF?
EPF applies to establishments with 20 or more employees, and smaller ones can join voluntarily. The employee contributes 12% of basic plus DA. The employer also contributes 12%, split two ways: 8.33% goes to the pension scheme (EPS) on wages up to ₹15,000, which caps that part at ₹1,250 a month, and the rest goes to the employee's PF account. The employer also pays EDLI insurance and administrative charges on top.
What the software must support:
- Capped or actual wages, per employee. Many employers calculate PF on ₹15,000 even when basic is higher; others contribute on actual basic. Both are legal, and both can exist in one company.
- Excluded employees. Someone joining with basic above ₹15,000 who was never a PF member can be kept out. Someone with an existing UAN cannot.
- Arrears and revisions. A March increment paid in May needs PF on the arrears, calculated at the rates that applied in March.
- Mid-month joiners and leavers. Contributions follow wages actually paid for days worked.
- The ECR file. The monthly electronic challan-cum-return uploaded to the EPFO portal, due by the 15th of the following month.
The definition of "wages" itself is shifting under the four labour codes, which push allowances back into wages when they exceed half of total pay. Confirm with your CA how this applies to your salary structures, and make sure your software can model the change rather than ignore it.
How does ESI work in payroll?
ESI covers employees whose gross monthly wages are up to ₹21,000 (₹25,000 for persons with disabilities) in establishments with 10 or more workers in most states. The employee pays 0.75% of gross wages and the employer 3.25%. Employees whose average daily wage is ₹176 or less are exempt from their own share; the employer still pays.
The detail that catches most spreadsheets is the contribution period. ESI runs in two six-month periods, April to September and October to March. If an employee is covered at the start of a period and gets a raise that takes them above ₹21,000 in July, they stay covered, and contributions continue, until September ends. Payroll software needs to remember coverage status by period, not just test this month's salary. Contributions are due by the 15th of the following month.
Why is Professional Tax hard to automate?
Because it is 20-odd different taxes. Each state that levies PT sets its own slabs, and the Constitution caps the total at ₹2,500 per person per year. Maharashtra deducts ₹200 a month at the top slab and ₹300 in February so the year adds up to ₹2,500. Some states, Delhi and Uttar Pradesh among them, levy no PT at all.
What the software needs:
- PT slabs stored per state, with effective dates.
- Each employee mapped to the state where they work, not where the head office is.
- Month-specific rules like Maharashtra's February deduction.
- Separate registration and return schedules for each state where you have staff.
How should salary TDS be calculated?
Salary TDS is not a fixed percentage. Each month, payroll projects the employee's income for the full financial year, applies the chosen tax regime, subtracts declared deductions under the old regime, works out annual tax, subtracts tax already deducted and spreads the balance over the remaining months.
Under the new regime, which is now the default, a salaried employee with income up to ₹12.75 lakh pays no tax after the ₹75,000 standard deduction and the rebate. Just above that line, marginal relief applies, and simple calculators often get it wrong.
The software should also handle:
- An investment declaration window at the start of the year and a proof-submission window near the end, with tax recalculated after proofs are verified.
- Previous-employer income for mid-year joiners.
- Regime choice per employee, changeable as the rules allow.
- The quarterly salary TDS return and the annual certificate for each employee.
The Income-tax Act, 2025 replaced the 1961 Act from 1 April 2026 and renumbered its sections and forms. If your payroll prints "Section 192" or "Form 16" into reports, check those labels with your CA. More importantly, keep every rate, slab and threshold in a dated table with an effective-from date, so a change is a data entry rather than a software release.
What about Labour Welfare Fund?
LWF is the smallest deduction and the easiest to forget. States that levy it set small employee and employer amounts and their own timing. Maharashtra, for example, deducts in June and December; other states deduct monthly or once a year, and several have no LWF. Like PT, it follows the state where the employee works, so the same per-state table approach applies.
What should an HRMS do before payroll even runs?
Payroll is only as right as attendance. Before the salary run, the HRMS needs:
- Attendance from whatever sources you use: biometric devices, a mobile app with GPS punch, a desktop agent or manual entry by supervisors.
- Leave balances and approvals, so loss-of-pay days are correct.
- Overtime, approved before payroll rather than argued about after it.
- Salary structures with effective dates, so revisions and arrears calculate themselves.
In WorkLens, now TrackVora, we built attendance from several sources (manual, desktop agent, GPS and biometric), leave, and payroll with loss-of-pay, overtime and payslips. In our textile manufacturing ERP, payroll calculates PF at 12% and the employee's 0.75% ESI share. For companies that depend on contract labour, NADIM keeps contractor and workforce compliance registers in one place, which is where a lot of statutory risk hides.
What should you check before you choose an HRMS?
- Does it hold PF, ESI, PT and LWF rules per state, with effective dates?
- Can PF be calculated on capped or actual wages, per employee?
- Does it track ESI coverage by contribution period?
- Does it project salary TDS monthly and support both tax regimes?
- Does it generate the ECR file and the ESI, PT and TDS working reports your accountant needs?
- Can it calculate arrears at historical rates?
- Can you export everything (employees, salary history, deductions) to Excel?
- Will it run one full payroll in parallel with your current method before you switch?
Frequently asked questions
Is PF mandatory for a company with fewer than 20 employees?
Not mandatory, but an establishment can join voluntarily. Once covered, it stays covered even if headcount later drops below 20.
Can PF be deducted on full basic salary above ₹15,000?
Yes. Contributing on actual basic is allowed. The pension share is still limited to wages of ₹15,000, so the extra employer contribution goes to the employee's PF account.
Does ESI stop the month an employee's salary crosses ₹21,000?
No. Coverage continues until the end of the current contribution period, which ends in September or March.
Which states do not have Professional Tax?
Several, including Delhi and Uttar Pradesh. Check the current list for every state where you have staff, because states do add and change PT.
Should payroll live in the ERP or in a separate HRMS?
If your ERP's HR module handles everything in the checklist above, one system means one employee master. If it doesn't, a dedicated HRMS that posts salary journals into your accounts is safer than a weak built-in module.
How long should a payroll parallel run last?
At least one full monthly cycle, ideally two, with every employee's net pay and every statutory total matched before you switch.
Where to go from here
Map your employees by state, list which deductions apply to each group, and note every case you currently fix by hand. That list is your specification. If you want an HRMS built around it, see our HRMS development service.
Key takeaways
- Keep every statutory rate in a dated table with an effective-from date, never inside code.
- PF, ESI and PT each have ceilings, periods and state rules that simple calculators get wrong.
- Salary TDS needs a projection of annual income that is recalculated every single month.
- Run one full payroll cycle in parallel with the old system before you switch over.
Ready to put this into practice?
Let’s build the solution that gets you there.