A configurable withholding-tax engine for ERPNext that automates threshold-based TDS/WHT deduction, cumulative-invoice tracking, certificate generation and statutory return data. ECOSIRE builds it to your regime, installs it, and supports it after you confirm scope. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $399.00 USD; request a quote for a scoped proposal.

A configurable withholding-tax engine for ERPNext that automates threshold-based TDS/WHT deduction, cumulative-invoice tracking, certificate generation and statutory return data. ECOSIRE builds it to your regime, installs it, and supports it after you confirm scope.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
Withholding tax is where ERPNext's native tax handling runs out of road for finance teams that operate under TDS (India) or WHT regimes. ERPNext core ships a basic Tax Withholding Category, but real compliance demands more: per-category thresholds evaluated against cumulative supplier billing across a fiscal year, lower/nil-deduction certificate handling, PAN/TIN-driven higher rates, section-wise mapping, and the ability to produce deduction certificates and return-ready extracts. Teams end up patching this with spreadsheets, manual journal entries and quarter-end reconciliation marathons — exactly the error-prone, audit-risky work that should be automated inside ERPNext.
Withholding categories, rates and section codes modeled as dedicated Frappe DocTypes, editable without code changes
Threshold-based calculation per category evaluated on both single-transaction and cumulative-billing bases
Cumulative-invoice threshold tracking that aggregates a supplier's fiscal-year billing before deciding whether to deduct
Server-side computation via hooks.py doc events (before_save / on_submit / on_cancel) on Purchase Invoice, Sales Invoice, Payment Entry and Journal Entry
Higher no-PAN / no-TIN rate automatically applied when a party lacks a valid tax identifier
Lower/nil-deduction certificate support so exempt or reduced-rate suppliers are honored per validity period
ECOSIRE builds a proper Frappe app (its own module, not a fragile pile of customizations) that layers a full withholding engine onto ERPNext. We model withholding categories, rates and thresholds as dedicated DocTypes, then hook into the Purchase Invoice, Sales Invoice, Payment Entry and Journal Entry lifecycle via hooks.py doc events (before_save, on_submit, on_cancel). Server-side logic computes the correct withholding amount, checks whether a supplier or customer has crossed the single-transaction or cumulative-invoice threshold for the relevant category, applies the higher no-PAN/no-TIN rate where required, and writes the deduction lines back onto the document. Because the calculation lives in server scripts and whitelisted methods rather than the browser, the numbers are consistent whether a document is created in the UI, imported, or posted through the Frappe REST API.
On top of the engine we build the compliance outputs your accountants actually file. A Withholding Certificate DocType generates numbered, print-format-ready certificates (Form 16A-style for TDS, or your jurisdiction's equivalent) with a controlled naming series and role-gated issuance. Scheduler events (scheduler_events in hooks.py) can run periodic jobs to accrue liabilities, flag suppliers approaching thresholds, and stage return data. Statutory return extracts — for example 26Q/27Q for Indian TDS or the PND series for other WHT regimes — are produced as query reports and downloadable files mapped to the exact columns your filing utility expects. Permissions and role profiles (a Withholding Manager vs. a read-only reviewer, for instance) keep issuance and rate configuration separate from data entry.
Because this is build-to-order, nothing ships until we agree on your exact regime. It starts with a scoping call where we capture your jurisdiction(s), the specific sections/categories and rates, threshold rules, certificate formats and the return formats you file. We then build against Frappe/ERPNext v15/v16, deliver on a staging site for UAT, and only cut over to production once you sign off. Typical delivery is 2-4 weeks from confirmed scope depending on how many regimes and return formats are in play. You receive the installable source, a git repository handover and documentation, so the app is yours to run — with an agreed post-go-live support window from ECOSIRE.
Owns supplier deductions, certificate issuance and quarterly returns. Needs correct rates applied automatically, cumulative thresholds tracked without spreadsheets, and return-ready extracts that match the filing utility exactly.
Accountable for compliance and audit readiness across entities. Wants withholding enforced consistently in ERPNext, deductions traceable to source documents, and issuance controlled by role rather than trusted to manual discipline.
Maintains the ERPNext instance and integrations. Needs a clean, upgrade-safe Frappe app with its own module, whitelisted APIs and a git handover — not ad-hoc customizations that break on the next bench update.
Handles TDS in India plus WHT in other jurisdictions. Needs one engine that supports multiple category sets, party-side and customer-side withholding, and jurisdiction-specific certificates and returns.
Buy the license on ecosire.com and download the Withholding Tax (TDS/WHT) Automation for ERPNext 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 Withholding Tax (TDS/WHT) Automation for ERPNext 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 |
|---|---|---|---|---|
| Threshold logic | Single + cumulative-billing thresholds per category, built to your rules | Whatever you build; often only single-transaction | Fixed threshold model, hard to adapt | |
| Certificates | Dedicated certificate DocType, numbered, role-gated print formats | Build from scratch each time | Generic template, limited formats | |
| Statutory returns | Extracts mapped to your exact filing columns (26Q/27Q, PND, etc.) | Manual report building and mapping | One or two preset formats | |
| Both party sides | Supplier-side and customer-side withholding in one install | Extra effort per side | Usually payable-side only | |
| Regime fit | Configured to your jurisdiction(s) during scoping | Fully yours but slow to build | Built for one market, may not match yours | |
| Ownership & handover | Full source + git repo handover, documented | You own it but carry all build risk | Vendor-controlled, closed | |
| Support | Post-go-live window + training from the builders | Depends on your team's availability | Generic ticket queue | |
| Version fit | Built and tested on your v15/v16 bench | You manage compatibility | May lag ERPNext releases |
No. This is build-to-order. ECOSIRE builds the withholding app to your specific regime, categories, rates and return formats, then installs it and supports it. There is no instant self-service download — it starts with a scoping call.
Typically 2-4 weeks from confirmed scope. The exact timeline depends on how many jurisdictions, category sets and statutory return formats you need. We give you a firm estimate after the scoping call, deliver on staging for UAT, and cut over to production only after your sign-off.
The engine is regime-agnostic and configured to yours. It handles Indian TDS (section-wise categories, cumulative thresholds, 26Q/27Q, Form 16A-style certificates) and other WHT regimes (including PND-style returns). We model your exact categories, rates and thresholds during scoping.
Frappe/ERPNext v15 and v16. We confirm your running version during scoping and build and test against it so the app installs cleanly on your bench and survives standard upgrades.
A Withholding Certificate DocType generates numbered, print-format certificates with role-gated issuance. Statutory returns are delivered as Frappe query reports mapped to your filing format's exact columns (for example 26Q/27Q or the PND series), downloadable for upload to your filing utility.
You receive an agreed post-go-live support window for defect fixes and configuration questions. Because you also get the git repository and full source, your team can maintain or extend the app. Further enhancements or version upgrades can be scoped as follow-on work.
Yes. You get the installable source and a git repository handover for your version of the app, plus technical documentation. It runs on your own ERPNext instance and is yours to maintain.
A configurable withholding-tax engine for ERPNext that automates threshold-based TDS/WHT deduction, cumulative-invoice tracking, certificate generation and statutory return data. ECOSIRE builds it to your regime, installs it, and supports it after you confirm scope.