HomeGuides › Payroll compliance

Payroll compliance in India: what one salary actually triggers

Arthora Guides · Updated August 2026 · 8 min read

Paying an employee ₹30,000 is never one transaction. It is a TDS computation, possibly a PF deposit and an ESI contribution, a state professional-tax entry, a payslip, and four government filings a year that must all agree with each other. Here is the whole machine, organised the only way it stays manageable — as a calendar.

The five deductions, and when each applies

WhatApplies whenThe gist
TDS on salary (Sec 192)Employee's annual tax liability > 0Estimate the year's income and tax (in the regime the employee declared), deduct one-twelfth monthly, true up in March.
Provident Fund (EPF)Generally mandatory from 20 employees12% of basic+DA from the employee, matched by the employer (part of the employer's share goes to pension). Deposit + ECR return monthly.
ESIFrom 10 employees (state-wise variations), for employees earning up to ₹21,000/month0.75% employee + 3.25% employer, funding medical cover. Monthly contribution.
Professional taxState-specific (Maharashtra, Karnataka, WB, and others; not all states)A small slab-based state levy the employer deducts and deposits on the state's own schedule.
GratuityEstablishment with 10+ employees; paid on exit after 5 years' serviceNot a monthly deduction but a real liability accruing every year — roughly 15 days' wages per year served. Budget it; don't discover it.

The compliance calendar

WhenWhat is due
7th of every monthDeposit last month's salary TDS (30 April for March's)
15th of every monthPF deposit + ECR filing; ESI contribution
Quarterly — 31 Jul / 31 Oct / 31 Jan / 31 MayForm 24Q, the salary TDS return; Q4's includes Annexure II, every employee's full-year salary computation
15 JuneForm 16 to every employee, generated from TRACES after Q4's 24Q is processed
Start of the year (April)Collect regime choices and investment declarations; they drive every month's TDS
January–FebruaryCollect actual investment proofs; recompute; the March salary absorbs the difference

The parts businesses get wrong

💡 The one-system rule: every payroll penalty story starts the same way — salary computed in one spreadsheet, TDS in another, the 24Q outsourced to a third party with a CSV. When one number changes (a mid-year hike, a joiner, a regime switch), the copies drift, and the drift is discovered by TRACES. Compute salary, TDS and the return from one place and the whole failure class disappears.
How Arthora ERP does this: payroll runs compute each employee's TDS from their declared regime and investments, month by month, with the March true-up built in. The 24Q — including Q4's Annexure II — is generated from the year's actual salary runs, not re-entered, and exports FVU-ready. PF and ESI amounts come out of the same runs, payslips carry the same numbers, and Form 16 Part B matches all of it because it has the same source. See the payroll module →
Payroll that files its own returns

Salary runs, TDS, 24Q with Annexure II, payslips and Form 16 — one system, one set of numbers. 7-day free trial, no card.