Frappe HR India payroll: PF, ESI, professional tax and TDS

Running Indian statutory payroll in Frappe HR with the India Payroll app: PF, ESI, state-level professional tax and labour welfare fund, the tax regime selector and TDS. Confirm the state and statutory rules against your own payroll obligations before go-live.

On this page

How Frappe HR India payroll handles PF, ESI and TDS in one payroll run

The India Payroll app extends Frappe HR, the open-source HRMS that runs on ERPNext, so an Indian employer can calculate statutory deductions and employer contributions inside the same payroll run that pays salaries. It covers Provident Fund, ESI, professional tax, the labour welfare fund and TDS, which means you need it when your employees sit across more than one state or when your payroll cannot be split across spreadsheets and a separate tax tool without reconciliation risk. Teams that only pay a flat salary with no statutory deductions have less reason to adopt it.

The statutory rules behind these deductions are not fixed in software. Contribution rates, wage ceilings, professional tax slabs by state, labour welfare fund schedules and TDS treatment all change, and each state sets its own professional tax and labour welfare fund rules. Before you configure anything, confirm the current rules with your payroll adviser or chartered accountant and check the official sources they point you to. Ask them to sign off the salary components and their formulas, not just the final net pay, because a wrong ceiling or slab shows up in every payslip until someone catches it.

Plan the configuration as a dependency chain: salary components feed the salary structure, the structure feeds the employee assignment, and the tax regime selector and declarations feed the TDS computation. Assign ownership for each piece, and test a sample of employees from each state in a non-production site before the first live run. Agree with your advisers which filings you will prepare from ERPNext and which you will export to your filing portals, and confirm the file formats you need from the current official sources before go-live.

Which statutory components the India Payroll app covers

Indian statutory payroll combines five separate obligations, each with its own trigger, contribution base and state or threshold rules. Setting them up as separate components in Frappe HR, rather than as one blended deduction, lets each one be checked, reported and corrected on its own.

Provident Fund (PF)

PF is a retirement savings contribution that most establishments with a qualifying headcount must run for eligible employees. Both employer and employee contribute, and the wage base used for the calculation is a common point of error, so confirm which earnings components count toward it and how the statutory wage ceiling is applied for your workforce. Confirm eligibility rules with your legal or payroll adviser before configuring the component.

Employee State Insurance (ESI)

ESI provides medical and cash benefits and is tied to a wage threshold, so employees above the limit fall outside it. Employer and employee contributions both apply to eligible staff, and an employee who crosses the threshold mid-year raises a transition question that the payroll setup must handle. Confirm the current threshold and which pay heads form the contribution base before the first run.

Professional tax

Professional tax is a state-level levy on employment income, so the rate slabs, the deduction frequency and the registration requirements differ by state. Every state where you employ people needs its own slab configuration, and remote or transferred staff can move the liability to another state. Confirm each state's current slabs and the employer registration it requires.

Labour welfare fund (LWF)

The labour welfare fund is a small contribution levied by some states, with its own contribution amounts and deduction periods that vary by state. It is easy to miss because it is not present in every state and some states set it on a different cycle from monthly payroll. List the states where you have employees and confirm which apply, how often they deduct, and whether the employer share is separately payable.

Tax deducted at source (TDS)

TDS is income tax withheld from salary each month against the employee's expected annual liability under the applicable regime. It depends on the tax regime an employee selects, their declared exemptions and proofs, and the slabs in force for the financial year. Confirm the regime selection process, the proof collection calendar, and who files the quarterly returns and certificates for your organization.

Configuration choices for statutory deductions

Each employee elects an income tax regime, so the setup has to carry that election per employee. In Frappe HR, the regime determines which tax slab set applies to the person, and the link runs through the employee's salary structure assignment. Confirm the regime options and the current slab tables with your tax adviser and the India Payroll documentation before you configure them.

  • Separate slab sets: Build each regime as its own set of slabs with an effective date, so a change for one employee does not alter the calculation for anyone else.
  • Recorded election: Store the regime the employee chose and the date it took effect, and keep the supporting declaration with the proofs your team reviewed.
  • Mid-year switches: Decide in advance how a change during the financial year is handled, including whether tax already deducted is recalculated on the next slip.
  • Slip impact: A regime change alters the income tax line and the taxable base for TDS. PF, ESI and professional tax lines generally do not depend on the regime, which you should confirm against your own design.
  • Ownership: Agree who maintains the slab tables each budget year, since tax, HR and platform teams often hold different parts of the setup.

Check by testing one sample employee under each regime and comparing the slip with a manual calculation before the first live payroll run.

Which statutory setting fits which employee group

This table compares the main India payroll settings (regime selection, PF, ESI, professional tax and labour welfare fund) against the employee groups they usually fit. Read each row as a question to settle with your payroll adviser before the first salary slip is generated. The main takeaway is that statutory applicability is decided by employee type, location and wage level, so each setting should be confirmed per group rather than copied from the last payroll cycle.

SettingTypical employee groupWhat it changes in the salary slipWhat to confirm with the payroll adviser
Tax regime selectorEmployees who may choose between old and new income tax regimesChanges which tax slabs and exemptions the TDS computation appliesWhich regime applies by default, and how employee declarations are collected and locked
PF applicabilityEmployees whose basic pay falls within the scope of the Provident Fund rulesAdds PF employee and employer deductions or contributions to the slip when the setting is onWhich pay components count as PF wages, and whether any employee is exempt or opted out
ESI applicabilityEmployees whose gross wages fall within the ESI coverage limits for the establishmentAdds ESI employee and employer contributions when the employee is coveredCurrent wage ceiling, coverage status per employee, and when coverage starts or stops
Professional tax by stateEmployees working in states that levy professional taxDeducts the state's professional tax amount for the matching salary slip monthThe state slab, the deduction months, and the work location recorded for each employee
Labour welfare fund by stateEmployees in states that operate a labour welfare fundAdds the state welfare fund contribution in the months the state prescribesThe state contribution schedule, the employer and employee shares, and the due dates
Employees on contract or part-time termsStaff whose engagement differs from regular employmentMay shift PF, ESI or professional tax applicability depending on the contract and wage termsWhether the engagement is employment for statutory purposes and which components apply
Employees at a new state work locationStaff transferred or hired into a different stateSwitches professional tax and welfare fund settings for the new state from the effective dateEffective date of the change and whether prior months need a correction

How to set up India payroll in Frappe HR step by step

This sequence takes a company from a bare ERPNext and Frappe HR install to a tested Indian payroll, where PF, ESI, professional tax, labour welfare fund and TDS are calculated from configured components and reconciled against the salary slips.

  1. Confirm matching ERPNext, HRMS and India Payroll versions

    Your administrator checks that the India Payroll app is installed on the same major version of ERPNext and Frappe HR (HRMS) that runs your site, and that the Frappe version is one still listed as supported on the Frappe supported versions page. Mismatched majors are the most common reason India-specific fields and components fail to appear. Confirm the exact compatibility pairs with the app's documentation and your vendor before installing. The step is done when the installed app list on the site shows all three apps on compatible versions and a test site loads the Payroll Settings screen without errors.

  2. Set company and employee statutory identifiers

    Your HR lead enters the company's statutory registration numbers, such as the PF establishment code, ESI employer code and state professional tax registration, on the Company record. Then each Employee record gets its own identifiers, including the PF UAN, ESI number, PAN and the state of work, which later decide which professional tax and labour welfare fund rules apply. Ask your payroll adviser which identifiers each statutory filing requires, because field names and mandatory rules depend on the app version. The step is done when a sample employee from each state shows the correct identifiers and the company record passes a save without validation messages.

  3. Configure PF and ESI salary components

    Create earning and deduction salary components for basic pay, dearness allowance and other PF-relevant earnings, then create the employee provident fund and ESI deduction components with their formulas and employer contribution rules. Attach the statutory flags so the calculation uses the wage ceilings and contribution bases set by current law. Build one salary structure per pay group, assign the statutory components to it, and check the formulas against the rates in your current notifications before going live. The step is done when a test salary structure assignment for an employee above and below the ESI wage limit produces the expected PF and ESI lines on a draft salary slip.

  4. Set state professional tax and labour welfare fund

    Enter the professional tax slabs and the labour welfare fund rules for each state where you have employees, using the effective dates from each state notification. Professional tax often depends on the employee's state and monthly gross, and labour welfare fund is often charged on a half-yearly or periodic schedule, so confirm the frequency for each state with a local adviser. Map each employee's work state to the right rule set. The step is done when employees in two different states show different professional tax deductions on draft slips, and the labour welfare fund line appears only in months where the state rule requires it.

  5. Assign the tax regime and income tax slabs

    Set the default income tax regime for each employee through the tax regime selector, then link the income tax slabs for the financial year through the salary structure assignment. Employees usually declare their regime and exemptions at the start of the year, so your payroll team should record the declaration status before the first payroll run. Confirm with your tax adviser which slabs and surcharge rules apply for the year. The step is done when a test employee under the old regime and another under the new regime show different tax computations on the same gross pay, and both are linked to the correct slab set.

  6. Configure TDS and the employee tax exemption flow

    Enable TDS calculation on the payroll, set the monthly tax projection method, and configure the exemption declaration and proof collection so that declared investments and allowances reduce taxable income. Decide with your tax adviser how arrears, bonuses and mid-year joiners are treated in the projection, since these change the monthly TDS amount. The step is done when a test employee with a declared exemption shows lower monthly TDS on the draft slip than the same employee without it, and the tax computation report reflects the same figure.

  7. Run a test payroll for a sample group

    Create a Payroll Entry for a small test group covering each state, each regime and at least one employee above and one below the ESI ceiling. Generate the salary slips, review every statutory line, and compare net pay manually against a calculation done outside the system for two or three employees. Correct any formula or master data issue, then regenerate the slips. Do not submit the test entries to live accounts. The step is done when the test slips match the manual calculation within rounding and no statutory line is missing or duplicated.

  8. Reconcile salary slips with statutory reports

    Submit the final payroll for the test period in a sandbox, then run the statutory reports for PF, ESI, professional tax, labour welfare fund and TDS. Reconcile the totals in each report against the sum of the matching deduction lines on the salary slips and the accounting entries posted to ERPNext. Any difference must be traced to a specific employee or component before go-live. Keep a written reconciliation sheet and have the payroll owner sign it off. The step is done when every statutory total ties to the slips and the journal entries, and the sign-off record is saved with the configuration version used.

How the tax regime selector and TDS work in practice

The tax regime an employee is on decides which TDS computation runs for them every month, so the selector is the first setting to verify before any salary slip is generated. In practice, each employee's chosen regime determines which slabs, deductions and exemptions feed the projected annual taxable income, and the monthly TDS is the remaining tax spread across the pay periods left in the financial year. Confirm with your tax adviser which regimes and slab sets currently apply for each employee category, and check the slab configuration in your India Payroll setup against the official tax notifications before you rely on any figure.

Declarations and proofs are what move the calculation away from the default. Investment declarations, house rent allowance details, home loan interest, and other claims enter as declared amounts, and the proofs submitted later either confirm them or trigger an adjustment in the payroll cycle where verification happens. Decide early who collects proofs, what cut-off dates apply, and how rejected proofs are reversed, because a late proof can change the tax for several months at once. Ask your adviser which exemptions are available under each regime, since claims that are valid under one regime are often not available under the other.

When an employee switches regime mid-year, the safest approach is to treat the change as an event that needs its own review rather than a quiet edit to the structure. Check how the system recalculates tax already deducted in earlier months, how the remaining months are spread, and whether the employee's declared figures still apply under the new regime. Before filing, reconcile the TDS deducted per month against the amounts in your payroll reports, and confirm the return format, challan details and the filing portal requirements with your tax adviser and the official filing portal, because both the rules and the file formats can change between financial years.

Security and access controls for statutory payroll data

Statutory payroll data in Frappe HR combines salary figures with identifiers such as PAN, UAN and ESI numbers, so access has to be decided by role before the first salary slip is generated. The cards below cover who can see that data, how structures and slips are protected, how changes to statutory settings are traced, how backups are handled and how payroll admins are separated from approvers.

Field-level visibility for PAN, UAN and ESI

PAN, UAN and ESI numbers sit on the employee record and flow into salary slips and statutory exports, so anyone who can open the employee record may see them. Decide which roles can read these identifiers and which can only see masked or partial values in reports. Test the setup with a non-payroll HR user and with a manager, then confirm that print formats and exported files do not expose fields the user cannot open on screen. Ask your implementer to document each field's permission path.

Role permissions on salary structures

Salary structures and their components define the formulas that calculate PF, ESI, professional tax and TDS for every employee assigned to them. Restrict create, write and submit rights on Salary Structure and Salary Component to a small payroll group, and keep read access separate. Review who holds the Payroll Manager role, because a single user with both structure editing and slip approval can change a deduction and approve the result without a second check.

Controls on salary slips

Salary slips hold the computed PF, ESI, professional tax and TDS amounts for each month, so they are the record auditors and employees will compare against statutory returns. Limit who can edit a draft slip, and decide whether submitted slips can be amended only through a cancel and reissue path. Confirm that employees see only their own slips, and that payslip emails and downloads follow the same rule.

Audit trail for statutory settings changes

Changes to PF and ESI rates, professional tax slabs by state, labour welfare fund amounts and the tax regime selector alter every slip that follows. Frappe records version history on most documents, so confirm that version tracking is enabled on these settings and on tax slab records. Require a written reason for each change in your change log, and review the history before each payroll run.

Backups of payroll data

Payroll data needs its own recovery plan because a corrupted month can affect PF challans, TDS certificates and bank files. Schedule database backups that include the Frappe site files, and test a restore to a separate site before relying on it. Ask whether backups are encrypted, where they are stored, who can download them and how long they are kept. Restores should be rehearsed with payroll staff so they know which submitted slips to check after recovery.

Separation between payroll admins and approvers

The person who prepares a payroll entry should not be the person who approves the salary slips and the bank payout. Map a payroll admin role for setup and processing, and a separate approver role for review and submission. Keep system administrators who can change permissions out of the approval chain, and record who holds each role in your access register. Review the mapping when staff change roles or leave the payroll team.

Questions buyers ask before hiring help with India payroll

What drives the implementation effort and cost for Indian statutory payroll?

The biggest drivers are headcount, the number of states where employees work, how many distinct salary structures you run, the volume and quality of historical payroll data, and any custom pay rules that go beyond the standard components. Each state adds its own professional tax and labour welfare fund rules to configure and test, so a multi-state workforce takes more setup than a single-state one. Structures multiply the testing, because each one needs its own earnings, deductions and PF, ESI and TDS treatment checked. Historical data drives the migration work, since opening balances for leave, loans and tax-to-date must be reconciled before a live run. Ask any partner to break the quote down by these drivers.

How long does it take to reach a tested payroll run?

The timeline depends on the same drivers as cost, plus how quickly your payroll and tax team can confirm rules and sign off test results. The sequence usually runs from requirements and rule confirmation, through configuration of components, structures and tax slabs, to parallel test runs against your existing payroll. Each parallel run should be compared line by line with your current output before you trust the setup. Ask for a written schedule with named client review points, since delays most often come from waiting on rule confirmation or data corrections rather than from the build itself.

What does the work need from our payroll and tax team?

It needs people who can state the rules and check the results. Your payroll lead should confirm PF, ESI, professional tax and labour welfare fund rules for each state where you have staff, along with the salary components and their taxable treatment. Your tax team should confirm the regime choice options employees will use, the TDS deduction approach, the declaration and proof process, and the filing calendar. Someone must also own the sign-off on parallel runs and the historical data extract. Ask the implementation partner to list these named responsibilities in the written scope so gaps are visible before work starts.

Can an internal team set up Indian payroll on its own?

An internal team with Frappe and ERPNext experience and a clear payroll rulebook can do it, but the effort is concentrated in testing and rule interpretation rather than in clicking through configuration. The risks are wrong state rules, incorrect tax computation for employees who change regime or join mid-year, and missed filing deadlines. Teams that build in-house should plan for a parallel run, an independent review of the calculations, and ongoing ownership of statutory changes. If your team lacks any of those skills, a fixed-scope engagement can cover the build and hand over documented runs.

What recurring work follows each statutory change?

Each change to PF, ESI, professional tax, labour welfare fund or income tax rules needs a review of the affected components, slabs and formulas, followed by testing before the next payroll run. State professional tax and labour welfare fund rules can change at different times, so the review cycle should cover every state where you operate. Recurring work also includes updating the Frappe HR app when new releases arrive, rechecking custom scripts for compatibility, and refreshing exemption and filing templates each financial year. Ask whether support is covered by a retainer or billed per change, and what the response expectations are written to be.

How is a fixed-scope quote built for India payroll?

A fixed-scope quote starts from a written list of what is in and out: the states, the employee groups, the salary structures, the tax regime handling, the statutory returns covered, the historical data to migrate, and the number of parallel test runs. Each item becomes a deliverable with an acceptance check, and the quote states what the client must provide, such as rule confirmations and data extracts. Ask for the quote to list one-time build work separately from any recurring support, and to name what would trigger a scope change. A quote follows from the written scope, so a vague scope will produce a vague number.

Which parts of Indian payroll does the open-source app cover and which need checking?

The India Payroll app for Frappe HR provides the building blocks for PF, ESI, professional tax and labour welfare fund calculations and a regime selector for income tax, but you should confirm each rule against current statutory guidance and your own employee profile. Check the app version against the Frappe and ERPNext versions you run, since supported releases change over time. Also confirm how TDS filing files are produced and submitted in your environment, because filing formats and portals are outside the software itself. Treat the app as a starting point that your payroll and tax team validates.

What DeployOpen confirms and delivers on this scope

DeployOpen plans, configures and tests the India Payroll setup inside your own infrastructure, whether that is your cloud account, a data center or an isolated network. The work covers the Provident Fund, ESI, professional tax and labour welfare fund configuration for each state where you employ staff, the tax regime selection and the TDS computation settings, all validated against salary slips you approve before any live payroll run. DeployOpen also prepares the evidence a reviewer will ask for: a configuration record, test payroll runs with expected outputs, role and permission settings for the people who can edit components, and a change log for every statutory update applied after go-live.

DeployOpen does not give statutory opinions, file returns or certify compliance. Whether a contribution rate, wage ceiling, exemption or state slab is correct for your establishment is a question for your tax adviser, labour counsel or payroll compliance lead, and the filing itself stays with your own team or your filing provider. An independent auditor decides whether your controls are adequate. Before the build starts, confirm in writing who signs off each rule set, which statutory source the configuration follows, and who is responsible for updating rates when a notification changes. Those answers determine how much of the test evidence will be usable in an audit.

How DeployOpen scopes and supports Frappe HR India payroll

DeployOpen plans, configures, tests and hands over Indian statutory payroll in Frappe HR on ERPNext, inside infrastructure you control. Each engagement starts from a written scope that names the states, statutory components, tax regime rules and filing outputs your payroll must produce.

How we scope

  • Map each employee group to its PF, ESI, professional tax and labour welfare fund obligations by state and establishment.
  • Record which tax regime choices employees can make, and who approves and evidences each declaration in the written scope.
  • Agree in writing which TDS outputs, challans and reports are produced in Frappe HR and which are prepared by your payroll or tax team.

How we build

  • Configure salary components, formulas and structures for PF, ESI and professional tax, then test each rule against sample salary slips.
  • Set up income tax slabs by effective date and link them through structure assignments so mid-year changes do not break calculations.
  • Validate accounting entries and bank payout files in a staging copy of your ERPNext site before any live payroll run.

How we hand over

  • Document each statutory rule, its configuration location and the owner responsible for updating it when rates or state rules change.
  • Provide test cases and a reconciliation checklist that your payroll and finance staff can rerun for each pay cycle.
  • Walk your team through correction procedures, including how to rerun a payroll entry and what to verify before filing.

How we support

  • Engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts.
  • Ongoing support, upgrades and continuous testing are available as a retainer, so statutory changes can be applied on a planned cycle.
  • Confirm with your payroll adviser or the relevant authorities which rate and filing changes apply to your establishments before each change is released.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.