Payroll & statutory
The ESI threshold is not a monthly test, and treating it as one costs money
Overtime moves the wage base. The wage base moves ESI applicability. But an employee does not simply drop out of ESI the month they cross ₹21,000, and a system that assumes they do will be wrong in both directions.
- Written for
- Payroll teams in manufacturing, logistics and any shift-based operation
- Companies on HRMagix
- 120+
- Employees managed
- 9,000+
- Integrated modules
- 12
- Free trial, no card
- 14-day

In an office payroll, ESI applicability is usually stable. Salaries are fixed, the wage base barely moves, and an employee is either in or out for the year. On a production floor none of that holds.
Overtime, night-shift differentials and attendance-linked allowances all move the gross. In a heavy month an operator's wages rise; in a lean month they fall. If the payroll system tests the ₹21,000 threshold afresh every month and switches the employee in and out accordingly, it will be wrong, and it will be wrong in a way that is expensive to correct later.
The two rates, and what they apply to
| Side | Rate | Applied to |
|---|---|---|
| SideEmployee | Rate0.75% | Applied toGross wages for the wage period |
| SideEmployer | Rate3.25% | Applied toGross wages for the wage period |
Applicability is tested against a gross wage threshold of ₹21,000. That much is widely known. What is less consistently handled is what happens when an employee crosses it partway through.
Contribution periods are the whole point
ESI operates on contribution periods rather than isolated months. An employee who is covered at the start of a contribution period continues to contribute through that period even if their wages rise above the threshold within it. Coverage does not blink on and off with each month's overtime.
A system that re-evaluates applicability month by month, with no memory of the period, produces two distinct failures:
- Under-deduction, the employee is dropped mid-period after a heavy overtime month, so contributions that were due are never made. This shows up at inspection, with interest.
- Over-deduction, the employee is re-added the following month when overtime falls back, producing contributions where the position had already been settled.
- Benefit disruption, coverage that flickers is worse for the employee than either error is for the employer, because entitlement depends on it.
Why this is a configuration problem, not an arithmetic one
Nobody gets 0.75% wrong. The failure is upstream of the multiplication: it is in deciding, for this employee, in this month, whether the deduction applies at all, and that decision depends on a period, a wage base that includes overtime, and the employee's position when the period began.
In HRMagix this is held as a rule evaluated against the employee record each month, with contribution-period behaviour respected rather than a simple monthly comparison. The output is the monthly contribution return and challan report; the input is the same attendance ledger the overtime came from, which is what keeps the wage base and the applicability test consistent with each other.
What to check in your own payroll
- 1Find an employee near the lineSomeone whose gross sits within a few thousand rupees of ₹21,000 in a normal month.
- 2Find a heavy overtime monthOne where their gross crossed the threshold.
- 3Look at the month afterIf the employee dropped out and came back, your system is applying a monthly test rather than a contribution period.
- 4Check the wage base itselfConfirm that overtime and allowances are in the gross the test uses. If the test runs on basic alone, the applicability decision is being made on the wrong number.