A build-to-order ERPNext application that automates state-wise professional tax slabs and statutory deductions inside your payroll and accounting flow. ECOSIRE scopes, builds, installs, and supports it for your Frappe/ERPNext v15/v16 site. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $299.00 USD; request a quote for a scoped proposal.

A build-to-order ERPNext application that automates state-wise professional tax slabs and statutory deductions inside your payroll and accounting flow. ECOSIRE scopes, builds, installs, and supports it for your Frappe/ERPNext v15/v16 site.
ابھی کوئی ادائیگی نہیں۔ یہ ہماری ٹیم کو قیمت کی درخواست بھیجتا ہے — ہم قیمت اور اگلے اقدامات کے ساتھ ای میل کے ذریعے رابطہ کریں گے۔
Professional Tax (PT) in India is levied by individual states, each with its own slab schedule, deduction periodicity (monthly, half-yearly, or annual), rounding rules, and challan/return formats. ERPNext core lets you attach a generic Salary Component and a fixed formula to a Salary Structure, but it has no concept of a state-driven slab table that changes by fiscal year, no built-in logic to pick the right slab based on an employee's work state, and no PT return or challan dataset to hand your compliance team. Payroll officers end up maintaining spreadsheets of state slabs, hard-coding conditions into Salary Component formulas, and manually reconciling deductions at return-filing time — which breaks the moment a state revises its schedule or an employee transfers between locations.
State-wise `Professional Tax Slab` DocType with fiscal-year versioning — revise a state's schedule without touching prior payroll history
Slab resolution driven by the Employee's work state / branch, so multi-state workforces deduct correctly from one Salary Structure
Deduction injected into `Salary Slip` via `hooks.py` doc events (`before_validate` / `on_submit`) instead of brittle static component formulas
Server-side calculation method that honors each state's deduction periodicity — monthly, half-yearly, or the February-loaded annual model (Maharashtra)
`PT State Configuration` DocType capturing collecting authority, employer PT registration number, and return frequency per state
Automated `PT Return` generation via a scheduler event that aggregates submitted slips into challan-ready datasets per state and period
We build a proper Frappe app (its own module, not a customization dumped into the site) that models this correctly. A Professional Tax Slab DocType holds per-state, fiscal-year-versioned slab rows (income band from/to, PT amount, and the deduction month(s) that state collects in), with a parent PT State Configuration DocType capturing the collecting authority, employer registration number, and return frequency. A child structure links each employee's applicable state (resolved from the Employee's work location / branch), and the deduction amount is computed at payroll run time rather than baked into a static formula. This means a Maharashtra employee correctly gets the February-loaded higher slab while a Karnataka employee is deducted every month — from the same Salary Structure.
Technically, the deduction is injected into Salary Slip via a hooks.py doc event (before_validate / on_submit) backed by a server-side calculation method, so the PT component reflects the correct versioned slab for the payroll period's fiscal year. A scheduler event runs a periodic reconciliation that aggregates submitted slips into a PT Return document per state and period, producing the challan-ready dataset (employee count by slab, total PT payable, employer split) your team exports for filing. Whitelisted methods exposed over the Frappe REST API let your finance tooling pull PT summaries programmatically; client scripts on the Salary Structure and Employee forms give payroll staff inline slab previews; and role profiles plus DocType permissions keep slab maintenance restricted to a Payroll Manager while officers only run and view.
Because this is build-to-order, nothing ships until we agree on scope. We start with a short scoping call to confirm which states you operate in, your ERPNext version (v15 or v16), your Salary Structure conventions, and your return-filing workflow. We then build against your requirements, deliver installable source code and documentation, validate on a staging copy of your site with real UAT data, and hand over the git repository. Typical delivery is 2-4 weeks from confirmed scope, and every engagement includes a post-go-live support window.
Runs monthly payroll in ERPNext and is accountable for correct PT deduction across every state the company employs in. Needs the right slab applied automatically and a clean return/challan dataset at filing time — not a spreadsheet reconciliation each month.
Owns statutory compliance and slab governance. Needs to maintain versioned state slabs, restrict who can change them, and trust that revisions apply from the correct fiscal year without corrupting historical slips.
Responsible for the ERPNext instance and its upgrade path. Wants PT logic delivered as a clean, versioned Frappe app on v15/v16 — not scattered customizations — with source code, docs, and a git handover they can maintain.
Oversees a workforce spread across several states with different PT rules and periodicities. Needs deductions resolved per employee work location and consolidated PT liability reporting by state for the finance close.
Buy the license on ecosire.com and download the Professional Tax & Statutory Deductions app ZIP from your account dashboard.
Extract the ZIP into your bench's apps folder, or run `bench get-app` with the path to the extracted app.
Run `bench --site SITE_NAME install-app APP_NAME` followed by `bench migrate` to install Professional Tax & Statutory Deductions and apply its schema.
Open the ECOSIRE License settings on your site and activate your license key. Requires the free ecosire_connect and ecosire_license_client apps.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| State-wise slab logic | Versioned `Professional Tax Slab` DocType, resolved per employee state | Whatever you build; usually hard-coded formulas | Often single-state or fixed slab tables | |
| Fiscal-year versioning | Built in; revisions apply from the correct FY, history preserved | Rarely modeled; edits corrupt old slips | Typically no year-over-year versioning | |
| Multi-state periodicity | Monthly, half-yearly, and Feb-loaded annual handled correctly | Possible but labor-intensive to get right | Usually assumes one periodicity | |
| PT return / challan data | Auto-generated `PT Return` datasets via scheduler event | Depends on developer; often manual | Sometimes a basic report, rarely challan-ready | |
| Employer/employee split | Modeled and reported separately | Extra work to separate | Often not separated | |
| Integration & API | Whitelisted REST methods + client scripts | Only if you scope and build it | Varies; frequently closed | |
| Support & ownership | Post-go-live window + git repo handover | You own maintenance entirely | Vendor SLA, closed source, per-seat | |
| v15/v16 fit | Built and tested for both, staging UAT + rollback | Depends on your team's testing | May lag ERPNext releases |
No. This is a build-to-order engagement. ECOSIRE builds the application to your confirmed requirements — your states, your ERPNext version, your Salary Structure conventions — then installs, tests, and supports it. There is no instant marketplace download.
Typical delivery is 2-4 weeks from confirmed scope. The clock starts once we finish the scoping call and agree on the states, ERPNext version, and payroll workflow to build against. Larger or multi-state scopes may sit at the upper end of that range.
We model the states you operate in, each with its own fiscal-year-versioned slab schedule and collection periodicity — monthly (e.g. Karnataka), half-yearly, or the February-loaded annual model (Maharashtra). Adding a new state later is a slab-configuration change, not a rebuild.
Slabs are versioned by fiscal year in the `Professional Tax Slab` DocType. You add the revised schedule against the new fiscal year; prior payroll runs keep using the slab that was in effect then, so historical Salary Slips are never retroactively changed.
We build and test for Frappe/ERPNext v15 and v16. During the post-go-live support window we fix defects and answer configuration questions. Beyond that window, ongoing support and version-upgrade compatibility are available under a separate support agreement, and you also hold the git repository to maintain it yourself.
It ships as its own Frappe module using standard `hooks.py` doc events rather than overwriting core files, which minimizes collision risk. We validate against a staging copy of your site during UAT and provide a rollback plan before any production cutover.
Yes. The app exposes whitelisted methods over the Frappe REST API so your finance or compliance tooling can pull PT summaries and return datasets programmatically, and the `PT Return` documents export challan-ready figures per state and period.
A build-to-order ERPNext application that automates state-wise professional tax slabs and statutory deductions inside your payroll and accounting flow. ECOSIRE scopes, builds, installs, and supports it for your Frappe/ERPNext v15/v16 site.