Indian payroll is not difficult arithmetic. It is a lot of small rules, each with its own base, its own ceiling and its own authority, and the failure mode is not a big mistake — it is a small one repeated twelve times before anybody notices.
The businesses that get into trouble are rarely the ones trying to avoid anything. They are the ones running payroll in a spreadsheet that was correct when it was written, by a person who has since left, against rules that have moved. The sheet still produces a number every month. Nobody can say why it is that number.
This is a practical account of what payroll software has to handle to be trusted with Indian statutory compliance, and how to test whether it actually does. Rates, ceilings and slabs are changed by notification and several vary by state, so treat every figure here as a pointer to verify against the current rule rather than a constant.
Four contributions, four different mechanisms
The mistake that causes the most rework is treating these as four percentages. They are four different shapes of rule, and software that models them as one thing with four rates will be wrong in a way nobody spots for months.
Provident fund
A percentage of a defined wage base, with a statutory wage ceiling above which coverage is not mandatory, an employer share that is split between the pension and provident components, and administrative charges on top. The parts that go wrong in practice are not the percentage: they are what counts as the wage base, whether an employee above the ceiling is covered voluntarily or not, and what happens in the month someone joins or leaves partway through.
Employees' state insurance
Different rate for employee and employer, applied below a wage threshold — and the behaviour at the threshold is the trap. An employee who crosses it mid-contribution-period does not simply stop being covered that month; the rules about contribution periods matter, and a system that silently drops them on the day they cross will produce a return that does not reconcile.
Professional tax
A state levy, not a central one. The slabs differ by state, the periodicity differs by state, the caps differ by state, and several states do not levy it at all. If you employ people in three states you have three sets of rules, and software with a single PT field is not handling professional tax — it is storing a number somebody looked up once.
Labour welfare fund
Also state-specific, also with its own periodicity — in some states half-yearly rather than monthly — and small enough per employee that it is the one most often simply forgotten until an inspection.
The thing to take from that list: the words “ceilings, thresholds and slabs” are doing real work. Orbis computes PF, ESI, PT and LWF with their ceilings, thresholds and slabs rather than as flat rates, which is the distinction worth making any vendor demonstrate on a live edge case rather than confirm in a sentence.
The March problem
The most common complaint about Indian payroll has nothing to do with the contributions above. It is that salaried TDS, computed month by month on whatever that month happens to contain, produces a small deduction for eleven months and then a brutal one in the twelfth.
That is not a legal requirement, it is a software choice. The correct approach is to project the employee's full-year income — including the variable parts, the declared investments and the deductions they are claiming — compute the annual liability, and spread the balance across the remaining months, reprojecting when something changes. Done properly, nobody is surprised in March, and the employee is not funding a working-capital gap on your behalf.
Three things to ask for:
- Does TDS run on a projected year rather than on the current month in isolation?
- When an employee submits or changes an investment declaration, does the projection update and redistribute, or does the correction land in one month?
- Are the quarterly and annual statements — Form 24Q, and Form 16 for employees — produced from the same records that computed the deduction, or assembled separately afterwards? If separately, the two will eventually disagree, and the one you filed is the one that counts.
Orbis computes TDS on a projected year specifically so the liability does not land in March, and produces Form 24Q and Form 16 from the same payroll records.
Attendance is where payroll errors are actually born
Almost no payroll dispute starts in the payroll calculation. It starts in attendance and leave: a half-day recorded as absent, a leave type that should have been paid and was not, an overtime claim approved in a WhatsApp message, a loss-of-pay day that was actually a public holiday in one location and not another.
Which is why payroll on its own is the wrong thing to buy. If attendance and leave live in one system and payroll in another, somebody reconciles them monthly under deadline pressure, and that person is where your errors come from — not because they are careless, but because they are resolving disagreements between two records with no authority to decide which is right. In Orbis, attendance, leave and payroll are one module on the same engine, so the days that drive the pay are the days the system already recorded.
Payslips, and who is allowed to see what
Two unglamorous requirements that cause disproportionate trouble when they are missing.
The first is that payslips have to be something you can hand to an employee, a bank or a landlord — the business's own name and logo, the right breakdown, in a layout that suits the audience. Orbis produces them in three layouts with the business's own logo. This sounds trivial until an employee needs one for a loan application and the system can only produce a spreadsheet row.
The second matters more. Salary and bank details are the most sensitive records in your business, and in most small-company payroll setups they sit in a shared spreadsheet that half the office can open. Access control on payroll is not a nice-to-have; it is the single control that stops a payroll file from becoming everybody's business. In Orbis salary and bank details sit behind HR-only routes rather than behind a flag on a general permission, which is the difference between a separation that holds and one that holds until somebody edits a setting.
How to test a payroll system in one afternoon
Feature lists are no use here, because every vendor's list says PF, ESI, PT and TDS. Run these five cases instead, with real figures:
- An employee who joins on the 18th of the month. Check the pro-rating of pay and of every contribution, and check which contributions are due at all for a part month.
- An employee whose wage crosses the ESI threshold mid-year. Watch what the system does about the contribution period, not just about the month.
- Employees in three different states. Confirm three sets of professional tax slabs, not one field, and confirm the labour welfare fund periodicity for each.
- An employee who submits an investment declaration in December. Confirm the TDS projection updates and redistributes across the remaining months rather than correcting in one.
- A loss-of-pay day that is also a holiday in one location. This is where attendance and payroll disagreeing becomes visible, and it is the case most systems handle worst.
A system that handles those five handles the rest. A system that fails three of them will produce a defensible-looking number every month that nobody can explain, which is exactly the position the spreadsheet was in.
The point
Payroll is the one process where a small, repeated error becomes a liability with interest, and where the people affected are your own staff. It is also, unusually, a problem that is fully solvable — the rules are published, they are arithmetic, and software can hold all of them at once in a way a spreadsheet maintained by one person cannot.
If you want to see the five cases above run against your own figures, book a walkthrough. Bring a part-month joiner and an employee in a second state; those two between them expose more than an hour of slides.
Frequently asked questions
What does Indian payroll software have to calculate?
At minimum: provident fund with its wage base and statutory ceiling, employees' state insurance with its separate employee and employer rates and its wage threshold, professional tax on the correct state's slabs, labour welfare fund on the correct state's periodicity, and salaried TDS. It also has to produce Form 24Q quarterly and Form 16 annually from the same records that computed the deductions, rather than assembled separately afterwards.
Why does our team's TDS spike in March?
Because the deduction is being computed month by month on whatever that month contains, rather than on a projection of the full year. Eleven small deductions leave a large balance for the twelfth. The fix is to project annual income including variable pay and declared investments, compute the annual liability, and spread the balance across remaining months, reprojecting whenever a declaration changes. It is a software choice, not a legal requirement.
We employ people in three states. Does that complicate payroll?
Yes, specifically for professional tax and labour welfare fund, which are state levies — different slabs, different caps, different periodicity, and some states do not levy PT at all. This is the single clearest test of a payroll system: a product with one professional tax field is storing a number somebody looked up, not computing a liability. Ask to see three states configured before you buy.
Can we run payroll separately from attendance?
You can, and it is where most payroll errors are actually created. If attendance and leave live in one system and payroll in another, somebody reconciles the two every month under deadline pressure, resolving disagreements they have no authority to settle. Half-days, leave types, overtime approvals and location-specific holidays are the cases that go wrong. Keeping attendance, leave and payroll on one record removes the reconciliation rather than speeding it up.
Who should be able to see salary data?
As few people as the business can manage, and the control should be structural rather than a flag on a general permission. Salary and bank details are the most sensitive records most companies hold, and in a lot of small businesses they sit in a shared spreadsheet. Ask whether payroll data is behind its own HR-only routes, what the audit trail records about who viewed and changed it, and what happens to that access when someone changes role.