Running a monthly payroll in India
Freeze attendance, pro-rate the salary by paid days, split gross into the components the payslip has to show, deduct provident fund, ESI, professional tax and the income tax you computed separately, then pay, issue the slips and make the statutory filings that follow the month.
15 min read · 9 steps · 6 ways it goes wrong
What you need before you start
- Attendance for the month, frozen. Paid days and loss-of-pay days per employee, agreed by whoever runs the shift roster, and not changing after you start.
- The salary master: one row per employee, with basic, house rent allowance and every other fixed component, plus the variable ones for this month.
- Statutory identifiers: provident fund number or UAN, ESI number, PAN. Missing ones do not stop a payslip, and they do stop a filing.
- Bank details for the transfer file: account number, IFSC and beneficiary name, spelled as the bank holds them.
- Your computed income tax deduction per employee. It cannot be worked out from a month’s salary sheet, and anything that offers to do so from a salary sheet alone is guessing.
Freeze the attendance before you touch a number
Every figure below is pro-rated off paid days, so a late attendance correction re-runs the whole month. Agree the cut-off, publish it, and hold it.
Check the arithmetic on the way in: paid days plus loss-of-pay days should equal the number of days in the month, on the convention your organisation uses. Where it does not, somebody has counted a holiday twice or missed a joiner. That check is worth running before anything else, because it is the cheapest error to fix at this point and the most expensive to fix after the bank file has gone.
Lay the sheet out as one row per employee
One row, with the components across. Earnings first — basic, house rent allowance, conveyance, special allowance, any statutory bonus, overtime, incentive, arrears — then deductions.
Column names are recognised in the ordinary variants people use, and every mapping is shown for you to correct, so Emp Code, Employee ID and Staff No all work. What matters more is that a component means the same thing in every row: an allowance that is part of gross for one person and a reimbursement for another will quietly produce two different answers for provident fund.
Pro-rate for the days actually paid
component for the month = full component × paid days ÷ days in the month
Decide once whether your denominator is calendar days or standard working days, write it down, and never mix the two. Both conventions are in use; a payroll that uses one for joiners and the other for leavers produces differences nobody can explain a year later.
Reimbursements are not pro-rated — a person who was present for half the month and spent the whole travel allowance spent the whole travel allowance. Keep them out of the pro-rated block.
Work out the provident fund
The employee contributes a percentage of provident fund wages; the employer matches it, but the employer’s share is split — part goes to the pension scheme and the rest to the provident fund proper — and there are additional employer-only charges on top for insurance and administration. The employer’s cost is therefore more than the employee’s deduction, which is the figure people forget when budgeting a hire.
The decision that has to be made per employer, not per month, is whether contributions for somebody earning above the ceiling are restricted to the ceiling or calculated on their actual wages. Both are done. What cannot happen is one answer in the payroll and another in the return.
Work out ESI, if it applies
Employees’ state insurance applies to employees earning up to a wage limit, with a small contribution from the employee and a larger one from the employer, both calculated on gross wages rather than on basic.
That mid-period rule is the single most common ESI mistake, and it appears in the month after an appraisal cycle, on exactly the employees who just got a rise.
Work out professional tax, by state
Professional tax is a state tax, not a national one. The slabs differ by state, some states do not levy it at all, and at least one levies it on half-yearly wages rather than monthly — so the monthly deduction there is a sixth of a half-yearly band rather than a band of its own.
The state that matters is the one the employee works in, which for anybody remote or recently transferred is not necessarily the one the registered office is in.
Take income tax from your own computation, not from the month
Monthly tax deducted at source depends on the employee’s projected income for the whole year, the tax regime they have chosen, the declarations and proofs they have submitted, and what has already been deducted since April. None of that is in a salary sheet.
So the figure comes from your tax computation and is carried into the payroll as a column. A tool that offers to compute it from one month of salary is either ignoring the year or inventing the declarations.
The tool for this step: CTC to Take-Home Salary Calculator (India) — estimates a year of tax under both regimes from a full cost to company, which is the right starting point for a projection even though it is not the month’s deduction.
Run the month and produce the paperwork
The tool for this step: Monthly Payroll Run: Payslips, Bank File & Statutory Summary — takes the sheet and produces a payslip for every employee, a combined PDF for printing, the bank bulk transfer file and a register with the statutory summaries that tie back to the slips.
What a run should produce, at minimum: one payslip per employee showing earnings, deductions and net pay with the components named; a register listing every component for every employee; the statutory summaries; and the bank transfer file.
It should also refuse to proceed if anybody’s net pay is negative. A loan recovery or an advance larger than the month’s earnings is a conversation to have before the file goes to the bank, not after.
The tool for this step: Payslip Generator (PDF) — produces a single payslip on its own, for a leaver, a correction or somebody who was missed.
Pay, then file — and note that the filings are not all yours
The bank file goes first, then the slips, then the filings. Keep the register: every filing below has to tie back to it, and a register produced after the fact from memory never quite does.
Who does them is worth settling in writing. In a small company the person who runs payroll files the provident fund and ESI returns; the tax deducted at source is very often filed by the accountant or a consultant from their own credentials. Both parties assuming the other is doing it is a remarkably common way to miss a deadline, and it is discovered a quarter late.
Where this usually goes wrong
6 things that actually happen, rather than a note asking you to be careful.
- Paid days and loss of pay that do not add up to the month. Paid days plus loss-of-pay days should equal the days in the month, on whatever convention you use. When they do not, the arithmetic still runs and every component is pro-rated against a denominator that is wrong, so the payslip looks entirely normal and the net pay is out by a few per cent. It surfaces as an employee query — "my salary is short this month" — and then as a correction in the following month’s slip, which is where it becomes visible to everybody. Check the sum before the run, not after.
- The provident fund ceiling applied inconsistently. For an employee earning above the wage ceiling, an employer may contribute on the ceiling or on actual wages. Either is defensible. What is not is one answer in the payroll sheet and the other in the monthly return, or a change of answer halfway through a year, or one answer for employees who joined before a certain date and another for those who joined after with nobody able to say why. The mismatch is caught by the return rather than by the payslip, which means it is found later and corrected for everybody at once.
- ESI dropped in the month of the appraisal. An employee who is covered at the start of a contribution period keeps contributing until that period ends, even after a raise takes them over the wage limit. Payroll systems and spreadsheets that test the limit month by month drop them the moment the new salary lands, which is exactly the month the appraisal cycle produces a batch of them. The contribution is then short for several months across a whole cohort of employees, and it is found at the end of the contribution period.
- Professional tax at the company’s state instead of the employee’s. Professional tax follows where the employee works, and the slabs are genuinely different from state to state — one state levies on half-yearly wages, some do not levy at all. A payroll that applies head-office rules to everybody is wrong for every remote employee and every branch, and it is wrong in both directions: deducting where nothing is due is as much a problem as not deducting where it is, because the employee has had money taken that you have no registration to pay over.
- Bank account numbers mangled by the spreadsheet. This one costs real money. A bank account number is a string of digits, and a spreadsheet treats it as a number: leading zeros disappear, long numbers turn into scientific notation, and the transfer file is generated from whatever is left. The salary goes nowhere, or occasionally to somebody else, and the reversal takes days. Format the column as text before anything is typed into it, check the IFSC codes for format, and reconcile the total of the transfer file against the net pay total on the register before it is uploaded.
- Tax deducted at source guessed from the month. A month’s deduction is a twelfth of a projection that takes account of the regime the employee chose, their declarations, the proofs actually submitted and what has already been deducted since April. It cannot come out of a salary sheet. What happens when it is guessed is that it is roughly right for eight months and then a very large correction lands in February and March, on an employee who was not expecting it, immediately before the year ends. Run the projection at the start of the year, revise it when a declaration changes, and carry the result into the payroll as a column.
How long this should take
The first month is a day, because the first month is when the master data gets built: identifiers, bank details, which state each person is taxed in, who is in the provident fund and who is not. After that a run is an hour or two, of which the attendance freeze is most of it. The filings are a separate half hour each, and they are on someone else’s calendar rather than yours.
Frequently asked questions
Does the payroll tool compute income tax?
No, deliberately. It takes the figure from your sheet and carries it through to the payslip, the register and the tax summary. The monthly deduction depends on a year-long projection, the chosen regime and each employee’s declarations, none of which is present in a month’s salary data.
What comes out of one run?
A payslip for every employee, a combined PDF of all of them for printing, the bank bulk transfer file, and a register workbook that lists every component for every employee alongside the statutory summaries — and the summaries tie back to the slips rather than being calculated separately.
Are the statutory rates built in?
The contribution rates, wage ceilings and state slabs sit in one clearly marked block with the date they were last checked, and the page says so. They move at budgets and notifications, so check anything you are about to file against the authority rather than against a tool.
Is salary data uploaded anywhere?
No. The sheet is read in your browser, the PDFs and the workbook are written there. Salary is the most sensitive figure most people have, which is why none of it leaves the machine.
The tools this uses
Each one described in its own words, read from its own page. Everything here runs in your browser unless it says otherwise.