How ERPNext TDS setup for India supports your withholding obligations
Yes, ERPNext can apply tax deducted at source on purchases using predefined categories. ERPNext ships 28 predefined Tax Withholding Categories for Indian TDS, each carrying a rate, single and cumulative transaction thresholds per fiscal year, and a company-wise TDS payable account. When Apply Tax Withholding Amount is checked on a Purchase Invoice, the system applies the matching category, so your accounts payable team does not need to calculate each deduction by hand. DeployOpen configures these categories, maps them to your suppliers and accounts, and documents the setup so your team can explain how it works.
DeployOpen does not file returns, issue certificates on the department's behalf, or certify compliance. Obligations stay with your company and your tax advisers, including filing quarterly TDS returns, the Form 26Q-type statements, issuing deductee certificates, and confirming the rate that applies to each payment. Before go-live, confirm with your adviser that each of the 28 categories and its thresholds matches the current rules for your transactions, and agree who owns rate changes when the rules are amended. The categories are a starting point that your adviser must validate, not a substitute for that review.
Plan the lower deduction certificate process as part of the same project. Where a supplier holds a certificate authorizing a lower or nil deduction, ERPNext needs the certificate details recorded against the supplier so the reduced rate is applied within the certificate's validity and limits. Decide who records and checks these certificates, how expiry is tracked, and what evidence you keep for an internal or external review. The ERPNext documentation on lower deduction certificates sets out the fields involved, and your implementation scope should name the owner for each step.
Mapping TDS requirements to ERPNext settings
This table compares each TDS requirement under Indian withholding rules with the ERPNext capability that supports it and the configuration your team must complete. Read each row as a checklist item: the platform provides the mechanism, but your tax adviser confirms the categories, rates and thresholds that apply to your transactions.
| Requirement | Platform capability | Configuration needed |
|---|---|---|
| Withholding categories and rates | ERPNext ships 28 predefined Tax Withholding Categories, each with a rate | Review each category, confirm its rate against current Indian tax rules, and disable or adjust categories you do not use |
| Single transaction threshold | Each category carries a single transaction threshold for the fiscal year | Confirm the threshold value for each section, then test that a below-threshold invoice is not withheld |
| Cumulative threshold per fiscal year | Each category carries a cumulative threshold tracked per fiscal year | Confirm how the cumulative limit applies to your supplier and set fiscal year dates correctly before posting |
| Company-wise TDS payable accounts | TDS payable accounts are set per company | Create a payable account for each company entity and map it in the category so withheld amounts post to the right ledger |
| Applying withholding on Purchase Invoices | Withholding applies on Purchase Invoices when Apply Tax Withholding Amount is checked | Assign the supplier to the correct category, check the box on each invoice that requires it, and confirm the withheld amount in a test invoice |
| Lower deduction certificates | ERPNext records lower deduction certificates against suppliers for reduced withholding | Capture certificate number, validity period and applicable rate, and confirm the certificate is valid on the posting date |
| Evidence for review | Withholding entries post to the ledger and can be reviewed through reports | Define who exports and reviews TDS entries each period and keep test and approval records for your auditor |
Working with the 28 predefined withholding categories
ERPNext ships 28 predefined Tax Withholding Categories for Indian TDS, each with a rate, single and cumulative thresholds per fiscal year, and a company-wise TDS payable account. Each category needs a decision: whether it matches your supplier spend, whether its rate is current, and how changes are made without disturbing invoices already processed.
Map categories to your supplier spend
Start from the payments you actually make, not from the full list. Review your supplier master and recent purchase invoices, then note which expense types (professional fees, contractor payments, rent, commission, and similar) trigger deduction for your company. Categories with no matching spend can stay unused, but confirm with your tax adviser which section applies to each supplier type before you assign it. Assign the category on the supplier so that Purchase Invoices pick it up consistently.
Check rates against current notifications
The rates shipped with ERPNext are a starting point, not a legal reference. Before go-live, compare each rate and threshold you plan to use with the rates currently notified by the Indian tax authority, and record who checked them and when. Rate changes after a notification need a named owner in your finance team. Ask your adviser whether any supplier-specific or lower rates apply, because those are handled differently.
Set single and cumulative thresholds
Each category carries a single transaction threshold and a cumulative threshold per fiscal year. Confirm how ERPNext measures each one for your company, including whether the cumulative total resets on the fiscal year start you have configured. Test with an illustrative supplier whose invoices cross the single limit on one invoice and another whose small invoices cross the cumulative limit over time. Document the expected deduction for each case so you can compare it with the system output.
Configure company-wise TDS payable accounts
The TDS payable account is set per company, so a group with several legal entities needs one account for each entity and a clear mapping from category to company. Check that the liability account exists, sits in the correct chart of accounts, and is not shared between entities. Confirm the account name and type with your accountant before posting, because changing it later affects how deductions are reported and reconciled.
Adjust categories without breaking history
Changing a category's rate or threshold affects future invoices, not those already posted. Prefer adding a new category or a dated change control entry over editing a category used in submitted invoices. Keep a written log of every change, including the notification it follows and the approver. Before editing, run a test on a copy of your site, and confirm that past deduction reports still reproduce the original amounts.
Control who edits categories
Restrict edit rights on Tax Withholding Categories and TDS-related accounts to the finance roles that own tax filing. Review the permissions on the Purchase Invoice tax section as well, so that users cannot switch withholding off on individual invoices without approval. Ask your implementation partner to document which roles can change categories, and retain the access log evidence for those changes as part of your control set.
How withholding is applied on Purchase Invoices
The withholding flow in ERPNext starts with the supplier master, not the invoice. Each supplier must be linked to the tax withholding category that governs the payment, because the category carries the rate and the single and cumulative thresholds that ERPNext tests. ERPNext ships 28 predefined Tax Withholding Categories for Indian TDS, so the first decision is mapping each supplier's nature of payment to the right one. When the Purchase Invoice is created, Apply Tax Withholding Amount must be checked. Without that check, ERPNext does not compute the deduction, and the invoice posts the full amount to the payable account. Confirm the category mapping with your tax adviser before go-live, since a wrong category silently produces the wrong deduction.
Once the box is checked, ERPNext evaluates the invoice against the single transaction threshold and then against the cumulative threshold for the fiscal year. The deduction is posted to the TDS payable account configured for the company. Both thresholds reset with the fiscal year, so a supplier's running total from a prior year must not carry into the new one. Test at least one scenario where cumulative payments cross the threshold partway through the year, and check that the deduction starts on the invoice where the limit is exceeded and that the journal entries land in the correct account. For groups with more than one company, test that each company uses its own TDS payable account and that suppliers shared between companies do not leak totals across entities. Use invoices with illustrative amounts and dates in a staging site, and compare the results with a manual calculation from your tax rules.
Configuration sequence for India TDS in ERPNext
This sequence takes a self-hosted ERPNext instance from company and fiscal year setup to documented, change-controlled TDS configuration that has been tested against single and cumulative threshold cases. It gives the finance and implementation team a repeatable path that the tax adviser can review at each stage.
Confirm company and fiscal year setup
Before any withholding logic is configured, confirm that each company record in ERPNext carries the correct legal name, tax registration details and fiscal year. TDS thresholds are tracked per fiscal year, so a wrong or overlapping fiscal year will distort cumulative totals from the first invoice. The implementation lead and the finance controller should sign off on the company list and fiscal year dates together. The step is complete when every company that deducts tax has a fiscal year that matches its books and the reviewer has recorded that check.
Create or confirm TDS payable accounts per company
ERPNext keeps withheld tax in a company-wise TDS payable account, so each legal entity needs its own liability ledger. Create the accounts in the chart of accounts under the correct parent, or confirm the existing ones, and check that each company points to its own account. The finance team should confirm the account names and account types with the accountant who files the returns. The step is complete when a test list of companies maps to a distinct payable account for each, with no shared ledger across entities.
Review predefined categories and rates with the tax adviser
ERPNext ships 28 predefined Tax Withholding Categories, each with a rate and single and cumulative transaction thresholds per fiscal year. Treat these as a starting template, not as confirmed law for your business. Export the category list, then have the tax adviser compare each rate, threshold and applicable section against the rules in force on the go-live date and record any changes needed. Ask the adviser to confirm who maintains updates when rules change. The step is complete when the adviser has signed off the adjusted category list in writing.
Assign categories to suppliers
Link each supplier to the withholding category that applies to the goods or services they provide, and to the tax treatment set by the adviser. Supplier records also determine whether a supplier is exempt or subject to a lower deduction, so capture that status now rather than at invoice entry. Procurement and accounts payable should agree on a rule for new supplier onboarding so that no vendor is left without a category. The step is complete when a list of active suppliers shows an assigned category for each, and the exceptions are documented with their reasons.
Enable withholding on purchase invoices
Turn on the withholding behavior for Purchase Invoices by checking Apply Tax Withholding Amount on the invoice, and confirm that the withholding category, rate and payable account pull through from the supplier and the category. Verify that the withholding amount reduces the amount payable to the supplier rather than being posted as an expense. Set the permissions so that only the designated accountants can change these fields. The step is complete when a draft purchase invoice for a test supplier shows the expected withholding amount and the correct ledger entries on submission.
Test single and cumulative threshold cases
Build a set of sample purchase invoices that cover each threshold outcome: below the single transaction threshold, above it, a series that crosses the cumulative threshold within the fiscal year, and a case that falls under a lower deduction certificate. Run them in a test company or test site, not in live books. Compare the withheld amount on each invoice against a hand calculation from the adviser. The step is complete when every test case matches the expected result and each mismatch has a recorded root cause and fix. Label these cases as illustrative until the adviser confirms them.
Document settings as change-controlled configuration
Export the final category list, supplier assignments, payable account mapping and the test results, then store them under the same change control used for other financial configuration. Record who approved each change, the date, and the adviser's sign-off reference. Any later change to rates, thresholds or accounts should trigger a new test run before it reaches production. Ask the implementation partner to include this record in the handover pack. The step is complete when a reviewer outside the project team can trace every TDS setting to an approved change and a passing test.
Handling lower deduction certificates
A lower deduction certificate lets a supplier have tax deducted at a rate below the category rate, for a set period and up to a set amount. In ERPNext, the reduced rate should apply only while the certificate is valid and only up to its limit. Once either condition lapses, the standard rate for the withholding category must take over. Before you configure anything, collect the certificate from each affected supplier and record its validity period, certified amount and applicable section on your side, so the ERPNext entries can be checked against the paper document.
Record the certificate against the supplier and its withholding category, using the fields described in the Lower Deduction Certificate documentation. Test each supplier with at least one Purchase Invoice that falls inside the certificate's limit and one that crosses it, and confirm that the withheld amount switches back to the standard rate in the second case. Also test a purchase dated just after the validity period ends. Keep these test invoices in a separate test company or delete them after review, so they do not distort the TDS payable balances for the company's live fiscal year.
The team must confirm certificate validity rules and evidence retention with the company's tax adviser before go-live. Questions to settle include how long the original certificate must be kept, what copy the supplier and the company each need to hold, how certificates issued mid-year interact with cumulative thresholds, and how an expired or exhausted certificate should be handled on invoices already in progress. Document the answers in your TDS procedure, and assign an owner who checks certificate expiry dates on a regular schedule, since ERPNext applies whatever is configured and does not replace that judgment.
Evidence ERPNext produces for TDS reviews
A tax reviewer or auditor will ask to trace each deduction from a vendor payment to the ledger and then to the filing. ERPNext holds most of that trail, but the configuration history and the filings made outside the system need to be kept and matched deliberately.
Purchase invoices showing withholding
Each purchase invoice where Apply Tax Withholding Amount was checked shows the category, rate and amount deducted. Reviewers sample these to confirm the deduction matched the vendor's category and the threshold in force at posting. Check that the sampled invoices were posted under the correct company and fiscal year, and that amended invoices keep a clear trail back to the original.
TDS payable ledger balances
The TDS payable account is set per company, so each legal entity has its own balance to reconcile. Pull the general ledger for that account by company and period, then compare the closing balance with the amounts deposited to the tax authority. Any difference should trace to a named journal entry or invoice, not a manual adjustment.
Category and threshold configuration
The 28 predefined Tax Withholding Categories carry the rates and single and cumulative thresholds used in calculations. Export the category settings and their change history so a reviewer can see which rate applied on a given date. Confirm that any edit to a category was approved and that the category used on each supplier matches the nature of the payment.
Lower deduction certificate records
When a vendor holds a lower deduction certificate, the reduced rate and its validity period should be recorded in ERPNext and linked to that supplier. Reviewers check that deductions in the certificate's validity window used the lower rate and that no deduction went below it. Keep a copy of the certificate itself alongside the record, since ERPNext stores the terms, not the issuing document.
User activity on TDS settings
Reviewers ask who changed a rate, threshold, account mapping or certificate, and when. Use the version history on these documents and restrict edit rights to a named finance role. Confirm which changes need a second approver, and how that approval is recorded outside the system if your process requires it.
Reconciling with filings made outside ERPNext
Returns and challans filed on the government portal are the document the tax authority holds, so ERPNext records must agree with them. Keep a period-by-period reconciliation that ties the TDS payable balance and deducted amounts to each filing acknowledgment. Store exports of configuration and approvals together with that reconciliation so one package answers a review.
Questions buyers ask before configuring TDS in ERPNext
Can our finance team configure TDS in ERPNext without a partner?
Yes, many finance teams configure the core TDS setup themselves, because ERPNext ships 28 predefined Tax Withholding Categories with rates and thresholds that you can review and adjust. The harder part is deciding which categories apply to your suppliers, which accounts receive the withholding, and how each category maps to your company structure. Teams with an in-house ERPNext administrator and a clear tax position usually keep the configuration in-house, while teams without that experience often bring in a partner for the first build. Confirm the rates and thresholds with your tax adviser before you rely on them, since the configuration reflects your interpretation of the rules.
What drives the effort of a TDS setup in ERPNext?
Effort mostly follows the size and cleanliness of your data and the number of decisions you need to make. The main drivers are:
- The number of suppliers and how many have a PAN, tax category and deduction status recorded correctly
- How many of the 28 predefined categories you actually use, and whether you need custom categories
- The number of companies, since each company needs its own TDS payable account
- The volume of lower deduction certificates and how they are recorded against suppliers
- The quality of historical purchase invoices, which affects how cleanly thresholds can be tested
A setup with a short supplier list and one company is a much smaller piece of work than a group with many entities and years of messy vendor records.
How long does a TDS setup take in ERPNext?
The duration depends on scope, so it is better to ask for a timeline tied to a written scope than to rely on a general figure. A single company with a clean supplier master and a few active categories moves faster than a multi-company group that needs account mapping, certificate handling and test invoices for each category. Ask the partner to break the timeline into discovery, configuration, test runs on sample invoices, and sign-off by your tax adviser. Each stage depends on your team making decisions and providing data on time, so the calendar is often set as much by your readiness as by the build itself.
What must our team provide before a TDS engagement starts?
Three inputs decide whether the work goes smoothly: tax adviser sign-off on the categories, rates and thresholds to apply, a supplier master extract with tax identifiers and deduction status, and a set of sample purchase invoices covering each type of payment you make. Your tax adviser should confirm how the predefined categories map to your transactions, including any lower deduction certificates you expect to receive. You should also name a finance owner who can answer questions and approve test results. Missing inputs are the most common reason a TDS setup slips, so ask for this list in writing at the start.
Do we need paid add-ons or extra licenses for TDS in ERPNext?
The TDS configuration described in the ERPNext documentation is part of the open-source ERPNext application, so self-hosting it does not carry a license fee. The costs that remain are the infrastructure you run it on, the people who configure and maintain it, and any external services you choose to use. The ERPNext pricing page lists self-hosting as free and shows hosting costs for Frappe Cloud, which is one option among several. Ask any partner to state in writing which components, apps and external services the proposal assumes, so you can confirm that nothing paid is hidden in the plan.
What should a TDS setup quote include?
A useful quote lists the scope in plain terms, so you can compare it with your own estimate. It should cover the companies and fiscal years in scope, the Tax Withholding Categories to configure, the company-wise TDS payable accounts, the handling of lower deduction certificates, data cleanup for the supplier master, test cases on sample invoices, and the handover documentation. It should separate one-time work from recurring work such as updates to rates or thresholds and support after go-live. Ask who signs off the tax logic and what happens if the scope changes after approval, because that clause determines the real cost.
Who is responsible for the tax logic in our TDS setup?
Your organization stays responsible for the tax position, and the configuration must reflect the advice your tax adviser gives you. A partner can build the ERPNext setup, test it against sample transactions and document what each setting does, but it does not replace your adviser or confirm that a rate applies to a given payment. Put this split in the statement of work, including who approves each category and who signs off test results before go-live. Confirm the current rules with your adviser and the official guidance for your fiscal year, since the configuration must match them.
Official ERPNext TDS documentation
Start with the ERPNext TDS setup for India guide, which is the primary reference for the configuration covered on this page. It walks through the Tax Withholding Categories that ERPNext ships with, the rate and threshold fields on each category, and the company-wise TDS payable accounts that receive withheld amounts. Read it alongside your own chart of accounts before you change any default. Your team should confirm that each category's rate, single and cumulative thresholds, and payable account match the sections your company deducts under, and that the Apply Tax Withholding Amount setting on Purchase Invoices behaves the way your accounts payable process expects. Record which documentation version you tested against, because the guide and the application can change between releases.
Then read the Lower Deduction Certificate page before you enter any certificate in the system. It explains how a certificate issued for a lower or nil rate is recorded and applied to a supplier, so the withholding calculation reflects it for the validity period stated on the certificate. Ask your team to confirm that certificate validity dates, supplier references and the amounts covered are checked by a named person at entry, not only at audit time. Rate and threshold rules for TDS are set by the Indian tax authority and change through notifications and budget amendments. Confirm current rates, thresholds and filing obligations with the tax department and your chartered accountant or tax adviser before go-live, and again whenever a change is announced.
How DeployOpen scopes and delivers TDS configuration
DeployOpen is a Chainscore Labs company that plans, implements, customizes and supports self-hosted open-source platforms inside your own infrastructure. For ERPNext TDS setup for India, we start from your deductee categories, thresholds and accounts, configure them in your own environment, and document the result so your finance and IT teams can run it afterwards.
How we scope
- We map your deductee types and payment flows to the ERPNext withholding categories your company actually uses.
- We agree in writing which companies, fiscal years, accounts and Purchase Invoice workflows are in scope before work starts.
- We confirm with your tax advisor which rates, thresholds and certificate handling rules apply, and record those decisions in the scope.
How we build
- We configure Tax Withholding Categories, rates and thresholds, then set company-wise TDS payable accounts for each legal entity in scope.
- We set up Lower Deduction Certificate handling and test how certificates change deduction on sample supplier invoices.
- We test single and cumulative threshold behavior across a fiscal year using test suppliers and dated Purchase Invoices in a staging site.
How we hand over
- You receive the configuration record, account mapping and test cases showing expected and actual deduction results.
- We document who should maintain categories, rates and certificates, and the steps to change them when rules are updated.
- We run a walkthrough with your finance and accounts staff so they can post, review and reconcile TDS entries independently.
How we support
- Ongoing support, upgrades and testing are available as a retainer, which covers changes to rates or thresholds after go-live.
- Changes to ERPNext versions are planned and tested on a copy of your site before they reach production.
- Ask any provider to confirm how rate changes, certificate updates and version upgrades will be tested and approved on your side.

