Rules data and citations
Rules live in src/tdsdesk/data/fy_<start>_<end>.json, one file per financial year, and are selected with --fy.
Nothing about rates or thresholds is hard-coded in Python: the engine reads sections, effective-dated rate slabs,
thresholds, the 206AA / 206AB parameters, deposit due dates, interest percentages, the 234E fee and the quarterly
return due dates from the file. To add a year, copy the previous file and edit the values.
Status of the data: the values below are transcribed from the statute and Finance Act amendments as understood at the time of writing. Items marked illustrative are interpretations or simplifications. Verify every value against the current Act and CBDT notifications before relying on it for a filing.
Sections, rates and thresholds
| Key | Nature (CSV) | Section | NSDL code | Rate | Threshold FY 2024-25 | Threshold FY 2025-26 |
|---|---|---|---|---|---|---|
| 194C | contract |
194C(1)/(2) | 94C | 1% individual/HUF, 2% others | single 30,000; aggregate 1,00,000 | same |
| 194J_PROF | professional_fees |
194J(1)(b) | 94JB | 10% | 30,000 per FY | 50,000 per FY |
| 194J_TECH | technical_services |
194J(1)(ba) | 94JA | 2% | 30,000 per FY | 50,000 per FY |
| 194I_PM | rent_plant_machinery |
194I(a) | 94IA | 2% | 2,40,000 per FY | 6,00,000 per FY |
| 194I_LB | rent_land_building |
194I(b) | 94IB | 10% | 2,40,000 per FY | 6,00,000 per FY |
| 194H | commission |
194H | 94H | 5% until 30-Sep-2024, 2% from 1-Oct-2024 | 15,000 | 20,000 |
| 194A | interest |
194A (payer other than a bank) | 94A | 10% | 5,000 | 10,000 |
| 194Q | purchase_of_goods |
194Q | 94Q | 0.1% on the excess | 50,00,000 | 50,00,000 |
Citations (also stored in each rules file):
- 194C: threshold proviso in section 194C(5). A deduction is made when one payment exceeds 30,000 or the aggregate in the FY exceeds 1,00,000. Transporter exemption (194C(6)) is not modelled.
- 194J: section 194J(1), first and second provisos. "Fees for technical services" includes call-centre services and royalty for the sale, distribution or exhibition of cinematographic films at 2%. Finance Act 2025 raised the threshold from 30,000 to 50,000 from 1-Apr-2025.
- 194I: threshold raised from 2,40,000 to 6,00,000 by Finance Act 2025. Illustrative: the threshold is applied separately to clause (a) and clause (b) rent for the same deductee.
- 194H: Finance (No. 2) Act 2024 reduced the rate from 5% to 2% from 1-Oct-2024 (the rules file carries both slabs for FY 2024-25). Finance Act 2025 raised the threshold from 15,000 to 20,000.
- 194A: Finance Act 2025 raised the non-bank threshold from 5,000 to 10,000. Bank, co-operative bank and senior citizen thresholds are not modelled.
- 194Q: tax is deducted only on purchases above 50,00,000 in the FY from that seller, and only if the buyer's
turnover exceeded 10 crore in the preceding FY. Use
--no-194qwhen the buyer is below that turnover. The interplay with seller TCS under 206C(1H) is not modelled. - GST: CBDT Circulars 23/2017 and 13/2021 allow TDS on the amount excluding GST when GST is shown separately in
the invoice. The register's
gst_amountcolumn is subtracted before the threshold test and the rate is applied.
Higher-rate provisions
- 206AA (
sec_206AA): PAN missing or invalid in format, orpan_aadhaar_operative = N(CBDT Circular 3/2023 treats an inoperative PAN as not furnished). Rate is the higher of the normal rate and 20%. For 194Q the proviso to 206AA(1) fixes the floor at 5%. The task description words this as "higher of 20% or twice the rate"; for every rate in the data (at most 10%) the two give 20%, so the statutory wording is implemented. - 206AB (
sec_206AB): specified person, rate is the higher of twice the normal rate and 5%. Section 206AB was omitted by Finance Act 2025 from 1-Apr-2025, soenabledistruein the FY 2024-25 file andfalsein FY 2025-26. A flagged deductee in FY 2025-26 is reported with a note and taxed at the normal rate. - Both 206AA and 206AB apply: the higher of the two rates is used (206AB(1), proviso).
- Section 197 certificate: the certificate rate applies to the portion of the taxable base within the
certificate's remaining limit, on events inside its validity window (inclusive), for the certificate's section
(blank means all sections;
194Jmatches both 194J categories). The balance above the limit is taxed at the normal rate. Illustrative precedence: a valid certificate overrides 206AB, but is ignored when the PAN is missing or inoperative, because 206AA applies without exception and a certificate cannot be issued without a PAN.
Date and rounding rules
- Deposit due date: the 7th of the following month; 30 April for tax deducted in March (Rule 30). Weekend or bank holiday shifts are not modelled.
- TDS is rounded to the nearest rupee, half up (section 288B). Interest is rounded the same way.
- Quarterly 26Q due dates (31 Jul, 31 Oct, 31 Jan, 31 May) are stored per FY.
- Event date of a payment is the earlier of credit and payment date (section 194C/194J etc. "credited or paid, whichever is earlier").