Skip to content

Statutory compliance: PF, ESI, PT, TDS and more

Updated 2026-11-07

What it is

Statutory compliance in PunchMe is the set of legal deductions and employer contributions that payroll works out for you each month: PF, ESI, professional tax (PT), labour welfare fund (LWF) and income tax (TDS). It also covers statutory bonus, gratuity, leave encashment at exit, and the files you upload to EPFO, ESIC and the income tax department.

PunchMe does the arithmetic from the rates and rules described here. It does not file returns or make payments to any authority for you. Have your accountant or CA check the figures before you file PF, ESI, PT or TDS returns.

Who uses it

  • payroll.view: see statutory totals, download the PF ECR, ESI file and TDS annexure, and view the yearly tax certificate figures.
  • payroll.manage: change PF, ESI, PT state and tax regime on a salary structure.
  • settings.edit: change the statutory bonus rate, gratuity provision and leave encashment divisor in Settings, Payroll.

Payroll needs company-wide access. See Roles and permissions.

Where to find it

  • Per employee: the Salary structure card on the employee's profile. See Salary structure.
  • Company settings: Settings, Payroll.
  • Monthly totals and files: the Statutory totals card and the file buttons on the Payroll page, after you finalize.
  • Yearly tax certificate: the Form 16 or Form 130 (Part B figures) card on the employee's profile.

Where the rates come from

PunchMe keeps statutory rates centrally and dates each version. Every month is calculated with the rates in force on the 1st of that month, so re-running an old month gives the same answer. You cannot edit rates yourself. If a rate looks out of date, email support@punchme.online.

The built-in rates start from 1 April 2025. The values below are the ones PunchMe ships with.

Turning it on or off

ItemWhereDefault
PF applicableSalary structureOn
PF on ₹15,000 ceilingSalary structureOn
ESI applicableSalary structureOn
PT / LWF stateSalary structureBlank (uses company state)
Tax regimeSalary structureNew
Statutory bonus rateSettings, PayrollBlank (off)
Show gratuity provisionSettings, PayrollOff
Leave encashment divisorSettings, Payroll26

What happens when it's on / when it's off

Provident Fund (PF)

PF is the retirement savings scheme run by EPFO. When PF applicable is on:

  • PF wages = Basic + DA earned in the month, including Basic and DA arrears.
  • If PF on ₹15,000 ceiling is on, PF is calculated on PF wages up to ₹15,000. If it is off, on the full PF wages.
  • Employee share: 12%, deducted from pay.
  • Employer share: 12%, split into EPS (pension, 8.33% of wages up to ₹15,000) and EPF (the rest).
  • EPS stops from the year the employee turns 58. The whole employer share then goes to EPF. This needs the date of birth on the profile.
  • EDLI (insurance) 0.5% and PF admin charges 0.5% are shown as employer costs.
  • Amounts are rounded to the nearest rupee.

When PF applicable is off, there is no PF line and the employee is left out of the ECR file.

Employees' State Insurance (ESI)

ESI is health insurance run by ESIC for lower-paid employees. When ESI applicable is on and the employee is eligible:

  • Employee share: 0.75% of the month's gross, rounded up to the next rupee.
  • Employer share: 3.25% of gross, rounded up.
  • Eligibility: monthly gross of ₹21,000 or less.

Eligibility is fixed for each ESI contribution period, April to September and October to March. PunchMe checks the salary in force at the start of the period, or at joining. Someone who gets a raise above ₹21,000 in June stays in ESI until September. This follows the ESIC rule.

For daily and hourly pay, eligibility is checked on that month's actual gross.

Professional tax (PT)

PT is a state tax on employment, deducted monthly. PunchMe uses the PT / LWF state on the salary structure, or your company's state if that is blank. Built-in slabs, on the month's gross:

StateMonthly PT
Maharashtra (MH)₹175 above ₹7,500. ₹200 above ₹10,000, ₹300 in February. Women: nil up to ₹25,000, then ₹200 (₹300 in February)
Karnataka (KA)₹200 from ₹25,000, ₹300 in February
West Bengal (WB)₹110 above ₹10,000, ₹130 above ₹15,000, ₹150 above ₹25,000, ₹200 above ₹40,000
Telangana (TS)₹150 above ₹15,000, ₹200 above ₹20,000
Andhra Pradesh (AP)₹150 above ₹15,000, ₹200 above ₹20,000
Gujarat (GJ)₹200 from ₹12,000

For any other state, no PT is deducted. If your state levies PT, work it out yourself and add it as a deduction with Adjust on the payslip.

The women's slab in Maharashtra needs the gender set on the employee's profile.

Labour Welfare Fund (LWF)

LWF is a small state contribution for worker welfare. Built-in rules:

StateMonthsEmployeeEmployer
Maharashtra (MH)June and December, gross above ₹3,000₹25₹75
Karnataka (KA)December₹50₹100

No LWF is deducted for other states.

Income tax (TDS)

TDS is income tax deducted from salary every month. PunchMe projects the employee's income for the whole financial year (April to March) and spreads the remaining tax over the months left:

  1. Projected income = previous employer's salary this year + gross from finalized months this year + this month's gross + current monthly gross × remaining months.
  2. Taxable income = projected income minus the standard deduction.
  3. Tax is worked out on the regime's slabs, with the rebate, surcharge and 4% cess.
  4. This month's TDS = (yearly tax − TDS already deducted − previous employer's TDS) ÷ months left, including this one. Rounded to the rupee.

In an employee's exit month, the months left end at the exit, so the remaining tax is collected by then.

Built-in slabs for the new regime: nil up to ₹4 lakh, 5% to ₹8 lakh, 10% to ₹12 lakh, 15% to ₹16 lakh, 20% to ₹20 lakh, 25% to ₹24 lakh, 30% above. Standard deduction ₹75,000. No tax up to ₹12 lakh taxable income, with marginal relief just above it.

Built-in slabs for the old regime: nil up to ₹2.5 lakh, 5% to ₹5 lakh, 20% to ₹10 lakh, 30% above. Standard deduction ₹50,000. Rebate up to ₹12,500 when taxable income is ₹5 lakh or less.

Surcharge applies above ₹50 lakh, with marginal relief so crossing a threshold never costs more than the extra income.

What PunchMe does not do:

  • It does not collect employee investment declarations (Form 12BB, or Form 124 from tax year 2026-27) or proofs.
  • Old-regime deductions (80C, 80D, HRA exemption and similar) are entered as one yearly total on the salary structure. See Salary structure.
  • For a mid-year joiner, enter the previous employer's salary and TDS on the employee's profile in the Previous employer (this FY) card.
  • It does not apply the higher TDS rate for employees without a PAN.

Statutory bonus

Under the Payment of Bonus Act, eligible employees get a bonus of 8.33% to 20% of wages. In PunchMe, enter the Statutory bonus rate in Settings, Payroll as a decimal: 0.0833 for 8.33%, up to 0.20 for 20%.

When set, bonus is paid every month, not once a year:

  • Eligible: full-month Basic + DA of ₹21,000 or less.
  • Calculated on the smaller of earned Basic + DA and ₹7,000 (prorated on paid days), times your rate.
  • Shown as a Statutory Bonus earning. It counts towards gross for ESI, PT and TDS.

The Act lets you use the state minimum wage instead of ₹7,000 when it is higher. PunchMe always uses ₹7,000. Leave the field blank to turn bonus off.

Gratuity provision

Gratuity is a lump sum paid at exit after 5 years of service. Tick Show gratuity provision in Settings, Payroll to show the monthly cost of it.

  • Provision = 4.81% of earned Basic + DA each month.
  • It appears in Statutory totals and the Tally and journal exports as an employer cost. It is not deducted from the employee.

Turning it off only hides the provision. The gratuity payout at exit is calculated either way.

Full and final at exit

When an employee's Last working day falls in the month, the run adds:

  • Leave encashment: unused paid leave days × (Basic + DA) ÷ Leave encashment divisor (26 to 31, default 26). The yearly quota is prorated on the months worked in the calendar year, plus days carried forward, minus days used.
  • Gratuity: if service is 5 years or more, (Basic + DA) × 15 ÷ 26 × years of service, capped at ₹20 lakh. A final part-year of more than 6 months counts as a full year.
  • Loan recovery: the full outstanding balance of every active loan or advance, up to the pay left after other deductions. See Loans and advances.

Leave encashment and gratuity are added to net pay but kept out of PF, ESI, PT and TDS. They are shown as exempt in the tax certificate. Set the last working day on the profile or through the exit flow. See Onboarding and exit.

Statutory files

All files need a finalized run.

PF ECR file

Click PF ECR file. You get ECR_YYYY-MM.txt in the EPFO ECR text format: UAN, name, gross wages, EPF, EPS and EDLI wages, employee share, EPS and EPF employer share, and non-contributing days (the LOP days). Amounts are in whole rupees. Upload it on the EPFO unified portal.

If any PF member has no UAN, the download stops and lists their names.

ESI file

Click ESI file. You get ESI_YYYY-MM.csv with the ESIC monthly contribution columns: IP number, name, paid days, total wages, reason code for zero working days, and last working day. Open it and save it as .xls if the ESIC portal asks for that.

Reason code 2 is used when someone left in the month with zero paid days. Code 1 is used for other zero-day cases. If any ESI member has no IP number, the download stops and lists their names.

TDS quarterly annexure

The Payroll page shows a button such as Form 138 annexure · Q3 FY 2026-27. Form 24Q is used up to FY 2025-26 and Form 138 from tax year 2026-27. You get a CSV per employee per month of the quarter with employee code, name, PAN, month, amount paid and TDS.

This is the data for the salary annexure, not a ready-to-file return. Load it into your return preparation software or give it to your CA.

Yearly tax certificate

On the employee's profile, the Form 16 or Form 130 (Part B figures) card shows the year's gross salary, exempt F&F amounts, standard deduction, old-regime deductions, taxable income, tax payable and TDS deducted. Pick the year and click Show. It uses finalized payslips plus any previous employer figures.

PunchMe shows the figures only. It does not produce the signed certificate or Part A, which comes from the TRACES portal.

Changing it midway

  • Changing PF, ESI, PT state or tax regime takes effect from the version's Effective from date. Re-run a draft to apply it. See Salary structure.
  • Changing the bonus rate, gratuity provision or encashment divisor affects the next draft or re-run. Finalized months are not changed.
  • When PunchMe adds a new rate version, it applies from its own date. Earlier months keep the old rates.
  • Changing the regime mid-year recalculates TDS for the rest of the year from the new regime. Tax already deducted is taken into account.

Limits and edge cases

  • PT is built in for MH, KA, WB, TS, AP and GJ only. LWF for MH and KA only.
  • ESI is calculated on the whole month's gross, including overtime, bonus, taxable claims and adjustments.
  • The PF ECR gross wages column is the month's earnings. Exit payouts (leave encashment, gratuity) and non-taxable reimbursements are left out.
  • Gratuity needs a joining date on the profile. Exceptions to the 5-year rule, such as death or disability, are not handled. Add them as an adjustment.
  • Leave encashment and gratuity are treated as fully tax-exempt. Exemptions have legal limits. Ask your accountant about large amounts.
  • Exit payouts use the full monthly Basic + DA from the current salary structure.

Common questions

Does PunchMe file my PF, ESI or TDS returns?

No. It calculates the amounts and makes the upload files. You or your accountant upload them and pay the dues.

Why was the ECR download blocked?

At least one PF member has no UAN. The error lists who. Add the UAN on their salary structure and try again.

My state isn't in the PT list. What do I do?

PunchMe deducts no PT for that state. Add PT as a deduction on each payslip with Adjust, or email support@punchme.online.

Why is TDS higher in the last few months of the year?

TDS spreads the year's remaining tax over the months left. Any change late in the year, such as a raise, bonus or new income, is spread over fewer months.

Is statutory bonus paid yearly?

No. When you set a rate, PunchMe pays it every month as part of salary.

Can I change a statutory rate for my company?

No. Rates are the same for every company and maintained by PunchMe. Email support@punchme.online if one looks wrong.