Payroll isn’t as complicated as it sounds. Payroll calculation in India can definitely feel confusing at first, and yes, this guide is a bit long. But that’s because we’re trying to cover everything in one place, so you don’t have to keep jumping from one article to another.
What makes it feel complicated is doing six things in parallel at the same time gross salary, PF, ESI, TDS, Professional Tax, and LOP, each with slightly different rules, some of which changed in 2025 and 2026. Once you understand what each calculation is actually doing and why, the whole thing starts making sense.
This guide will walk you through manual payroll calculation for Indian businesses step by step, with a complete worked example throughout. To make things easier to understand, we’ll use an imaginary employee named Kavya Nair as our example throughout this guide. Her Persona : – [ Operations executive, Bengaluru, ₹7.2 lakh CTC and running her salary from scratch.]
By the end you’ll have the full calculation logic, the formulas, and the compliance deadlines in one place.
If you already know the basics and just need the formulas, use the section headers to jump straight to PF, ESI, or TDS. Otherwise read straight through the example builds on itself.
Before Calculation Get These Four Things Right
Manual payroll errors almost always trace back to one of four setup problems, not the calculations themselves.
- Salary structure. You need to know what each employee’s CTC actually consists of basic salary, HRA, LTA, special allowance, and any other components. Since November 2025 when the Labour Codes took effect, basic salary must be at least 50% of total CTC. A lot of older salary structures had basic at 30 – 40% to reduce PF liability. Those are now non-compliant. Fix this before you calculate anything, because the wrong basic affects every deduction downstream. See how this works in detail: How to Create a Salary Structure in India.
- PF and ESI registration status. PF is mandatory from 20+ employees. ESI from 10+ in most states. If you’re registered, every eligible employee gets both deductions. If you’re not yet registered, neither applies but crossing those headcount thresholds triggers mandatory registration immediately.
- Tax regime per employee. The new tax regime (lower slabs, no HRA/80C deductions) is the default from FY2026-27 under the Income Tax Act 2025. Employees who want the old regime have to opt in by submitting Form 12BB with their investment declarations. If they don’t submit anything, calculate TDS on the new regime. Don’t assume.
- Attendance data. Working days, approved leaves, LOP days, overtime hours finalise these before payroll. An attendance record that changes after salary is processed creates disputes that are genuinely painful to resolve. Close attendance first.
The Worked Example Kavya Nair, ₹7.2L CTC, Bengaluru
Kavya is an operations executive at a 35-person company in Bengaluru. Annual CTC: ₹7,20,000. New tax regime. PF enrolled. Gross salary exceeds ₹21,000/month so ESI doesn’t apply. Karnataka PT applies. This month she took 2 days of LOP and worked 6 hours of overtime. We’ll calculate her exact July salary.
Step 1: Break Down the CTC into Monthly Components
Start with the annual numbers, divide by 12 for monthly. The 50% basic rule applies basic must be ≥ 50% of gross. Kavya’s gross (excluding employer contributions) is ₹60,000/month. So basic must be ≥ ₹30,000.
| Component | Annual (₹) | Monthly (₹) | Basis |
|---|---|---|---|
| Basic Salary | 3,60,000 | 30,000 | 50% of gross Labour Code 2025 minimum |
| HRA (40% of basic non-metro) | 1,44,000 | 12,000 | 40% for non-metro; 50% for Delhi/Mumbai |
| Leave Travel Allowance (LTA) | 28,800 | 2,400 | 8% of basic optional component |
| Special Allowance (residual) | 1,87,200 | 15,600 | What remains after all other components |
| GROSS SALARY | 7,20,000 | 60,000 | What Kavya earns before deductions |
| Employer PF (12% of basic) | 43,200 | 3,600 | Part of CTC employer pays this on top |
| Gratuity Provision (4.81% of basic) | 17,316 | 1,443 | Liability accrues payable after 5 years |
| TOTAL CTC | 7,80,516 | 65,043 | Gross + employer contributions |
Note: Kavya’s gross is ₹60,000/month. Total CTC is ₹65,043/month because employer PF (₹3,600) and gratuity provision (₹1,443) sit on top of her gross salary. This is the CTC vs take-home gap that surprises new employees who haven’t seen a breakdown before.
Step 2: Calculate Loss of Pay (LOP) Deduction
Kavya took 2 days of LOP this month. The formula is simple:
LOP Deduction = (Gross Monthly Salary ÷ Working Days) × LOP Days
Working days: 26 (standard for a 5-day week). Some companies use 30 calendar days. Pick one and use it consistently every month changing it mid-year creates disputes.
Kavya’s LOP: (₹60,000 ÷ 26) × 2 = ₹2,307.69 × 2 = ₹4,615
Her adjusted salary for deduction purposes this month: ₹60,000 − ₹4,615 = ₹55,385 effective gross.
Step 3: Calculate Overtime Pay
Kavya worked 6 hours of overtime. Under the Shops and Establishments Act (Karnataka), overtime is paid at double the ordinary rate. The hourly rate is calculated on basic salary:
Hourly Rate = Basic Salary ÷ (26 days × 8 hours) = Basic ÷ 208
OT Pay = Hourly Rate × 2 × OT Hours
Kavya’s OT: ₹30,000 ÷ 208 = ₹144.23/hour. OT rate = ₹288.46/hour. 6 hours × ₹288.46 = ₹1,731
| Important the Supreme Court changed overtime calculation base in January 2026: For factory workers (Factories Act), the January 19, 2026 SC ruling in Union of India v. Heavy Vehicles Factory Employees’ Union held that ‘ordinary rate of wages’ includes all allowances not just basic+DA. So factory OT is now calculated on Basic + HRA + all other allowances. Kavya is in a commercial office (Shops Act), not a factory so this ruling doesn’t directly apply to her. But if your employees are in a manufacturing unit, you’ll need to update the OT base immediately. |
Step 4: Calculate PF (Provident Fund)
PF is calculated on Basic + Dearness Allowance (DA). Kavya’s company doesn’t have a DA component, so it’s on basic alone: ₹30,000/month.
Employee side
Employee PF = 12% × Basic = 12% × ₹30,000 = ₹3,600/month
This is deducted from Kavya’s salary.
Employer side
The employer also contributes 12% but it splits differently:
- EPS (Employees’ Pension Scheme): 8.33% of basic, capped at ₹1,250/month (wage ceiling ₹15,000). Kavya earns ₹30,000 basic above the ceiling. So EPS = 8.33% × ₹15,000 = ₹1,250
- EPF: Employer total 12% minus EPS = ₹3,600 − ₹1,250 = ₹2,350
- Admin charge: 0.5% of basic = ₹150. This is separate from the 12% and goes directly to EPFO. Many payroll sheets miss this.
Total employer PF cost = ₹3,600 + ₹150 = ₹3,750/month
Note: If basic salary is below ₹15,000/month, PF is calculated on the actual amount. Above ₹15,000, employers can choose to cap it at ₹15,000 or continue on actual basic. Kavya’s employer calculates on actual basic (₹30,000), so both employee and employer PF are ₹3,600 not capped.
Step 5: ESI Does It Apply?
ESI applies when gross wages are ₹21,000/month or below. Kavya earns ₹60,000/month gross. ESI does not apply. Simple check, but worth doing for every employee each month someone who got a raise above ₹21,000 this month stops being ESI-eligible from the next contribution period.
For an employee who is ESI-eligible say a junior staff member earning ₹18,000/month gross:
- Employee ESI: 0.75% × ₹18,000 = ₹135/month
- Employer ESI: 3.25% × ₹18,000 = ₹585/month
- Total ESI contribution: 4% × ₹18,000 = ₹720/month
ESI deposit deadline: 15th of every month. Half-yearly returns on 11th April and 11th October.
Step 6: TDS Calculation New Regime (Income Tax Act 2025)
TDS on salary is an estimate of the employee’s annual income tax, divided by 12 and deducted monthly. The Income Tax Act 2025 (effective April 1, 2026) changed the slabs, raised the standard deduction, and raised the Section 87A rebate. New regime is the default Kavya hasn’t opted for old regime.
New regime tax slabs Tax Year 2026-27
- ₹0 – ₹4,00,000: 0% tax
- ₹4,00,001 – ₹8,00,000: 5%
- ₹8,00,001 – ₹12,00,000: 10%
- ₹12,00,001 – ₹16,00,000: 15%
- ₹16,00,001 – ₹20,00,000: 20%
- ₹20,00,001 – ₹24,00,000: 25%
- Above ₹24,00,000: 30%
- Standard deduction (new regime): ₹75,000 for salaried employees
- Section 87A rebate: ₹60,000 zero tax if taxable income ≤ ₹12 lakh. For salaried employees that means zero tax up to approximately ₹12.75 lakh gross.
- Health and Education Cess: 4% on the tax payable
Kavya’s TDS calculation
Annual gross: ₹60,000 × 12 = ₹7,20,000
Less standard deduction: ₹7,20,000 − ₹75,000 = ₹6,45,000 taxable income
Tax on ₹6,45,000:
- 0 to ₹4,00,000: ₹0
- ₹4,00,001 to ₹6,45,000 (₹2,45,000 in the 5% band): ₹2,45,000 × 5% = ₹12,250
Total tax before rebate: ₹12,250
Section 87A check: taxable income ₹6,45,000 ≤ ₹12,00,000 → rebate applies. Maximum rebate = ₹60,000. Tax = ₹12,250 < ₹60,000 → full rebate.
Kavya’s annual tax = ₹0. Monthly TDS = ₹0.
She pays zero income tax this year. The rebate covers her completely.
| TDS for someone earning more a quick example at ₹18L CTC: Annual gross ₹14,40,000 → Taxable after ₹75,000 deduction = ₹13,65,000. Tax: ₹0 (0–4L) + ₹20,000 (4–8L at 5%) + ₹40,000 (8–12L at 10%) + ₹24,750 (12–13.65L at 15%) = ₹84,750. Cess: ₹84,750 × 4% = ₹3,390. Total annual tax = ₹88,140. Monthly TDS = ₹88,140 ÷ 12 = ₹7,345. |
Step 7: Professional Tax
PT is a state tax on income not all states have it. Delhi has no PT. Rajasthan has no PT. Karnataka has PT at ₹200/month for anyone earning above ₹15,000/month. Maharashtra has PT at ₹200 for 11 months and ₹300 in February. The cap everywhere is ₹2,500/year under the Constitution.
Kavya’s PT: ₹200/month (Karnataka, salary above ₹15,000).
PT applies based on where the employee physically works not where the company is registered. Remote employees in different states each pay their own state’s PT rate. The employer collects and remits. For the full state-by-state list, see our Minimum Wage and Compliance guide.
Step 8: Net Salary Putting It All Together
Add earnings. Subtract deductions. That’s it.
| Component | Amount (₹) | |
|---|---|---|
| EARNINGS | ||
| Basic Salary | 30,000 | |
| HRA | 12,000 | |
| LTA | 2,400 | |
| Special Allowance | 15,600 | |
| OT Pay (6 hours × ₹288.46) | 1,731 | |
| GROSS EARNINGS THIS MONTH | 61,731 | |
| DEDUCTIONS | ||
| LOP Deduction (2 days) | −4,615 | |
| Employee PF (12% of basic) | −3,600 | |
| Employee ESI | Not applicable | |
| Professional Tax (Karnataka) | −200 | |
| TDS (Section 87A rebate applies) | ₹0 | |
| TOTAL DEDUCTIONS | −8,415 | |
| NET TAKE-HOME SALARY | 53,316 |
Total employer cost for Kavya this month: ₹60,000 gross + ₹3,600 employer PF + ₹150 admin charge + ₹1,443 gratuity provision = ₹65,193/month.
Mistakes That Show Up in Manual Payroll Worth Knowing Before They Happen
- Basic below 50% of CTC. If basic is 35% of CTC and someone checks your salary structure against the Labour Code 2025, that’s a compliance issue. It also means PF has been calculated on an understated base you may owe back contributions.
- ESI calculated on basic instead of gross wages. ESI is on gross wages basic + all allowances. A lot of older payroll sheets calculate it only on basic. That’s been wrong for years and understates the liability.
- TDS not updated after a salary revision. If Kavya gets a raise in October, her annual income estimate changes. The remaining months’ TDS needs to be recalculated divide the revised annual tax by the remaining months, not by 12. Leaving TDS unchanged after a revision creates a shortfall that either the company or the employee pays at year end.
- Missing the March TDS deadline. March TDS is due April 30. Not April 7. This exception gets missed every year.
- LOP calculated on the wrong divisor. Some companies use 26, some use 30. Both are fine. The problem is when they switch if a dispute comes up you’ll need to explain why July was calculated on 26 and August on 30.
- Gratuity not provisioned. Gratuity isn’t paid monthly but the liability accrues. If you haven’t been setting it aside, you’ll face a lump-sum obligation when long-tenured employees exit. Budget 4.81% of basic per employee per month.
The Deadlines That Cost You Money If You Miss Them
| Deadline | What | How | Late Cost |
|---|---|---|---|
| 7th every month | TDS deposit | Challan 281 on income tax portal | 1.5%/month from deduction date |
| 30th April only | March TDS NOT 7th April | Same Challan 281 | Same 1.5% catches people every year |
| 15th every month | PF deposit | ECR file on EPFO portal | 12% p.a. + Section 14B damages up to 25% |
| 15th every month | ESI deposit | ESIC portal | 12% p.a. simple interest |
| State-specific | Professional Tax | State PT portal | State fines, varies |
| 31 Jul/Oct/Jan/May | Form 138 (TDS return) | TRACES portal quarterly | ₹200/day under Section 234E |
| 15 June annually | Form 130 (TDS certificate) | Issue to every employee | ₹500/day delay penalty |
For the complete compliance picture what to file, what to upload, what records to maintain our Payroll Compliance in India Guide covers all of this with the form numbers and updated filing requirements under the Code on Wages.
When Manual Payroll Stops Making Sense
Manual payroll works. People do it every month for thousands of Indian businesses. It stops working well when:
- Headcount crosses 25 and payroll day becomes a two-day event every month.
- You have multiple salary structures daily wage workers, fixed salary employees, shift staff with different allowances, contract workers all in the same run.
- Attendance is coming from a different system and someone has to manually transfer LOP days before payroll. That transfer is where errors usually enter.
- A tax regime change, minimum wage revision, or PF rule update means you need to find and update formulas across a spreadsheet and verify you got them all.
At that point, something like Waggex starts making more sense not because it does anything conceptually different, but because it does it automatically. Attendance feeds directly into payroll. PF, ESI, TDS, and PT calculate per employee without anyone running formulas. Payslips generate for the whole team at once. And statutory rates update when they change you don’t have to find the cell. Free for up to 10 employees. Paid plans from ₹699/month.
The Short Version
Manual payroll in India is eight steps: structure the CTC, calculate LOP, calculate OT, calculate employee and employer PF, check ESI applicability, calculate TDS on the applicable regime, apply Professional Tax, subtract everything from gross. The formulas themselves aren’t hard once you have the rates right. What’s hard is keeping those rates current, keeping attendance data accurate, and making sure the deductions on the payslip match what actually gets deposited to EPFO, ESIC, and the income tax department.
