Client TDS on Freelance Invoices: 2% or 10% and Your Cash Flow
In this article (5 sections)
Related programme: the FDE for Freshers course (6–7 months; EMI from ₹8,000/month · full fee shared on your counselling call). See also open Forward Deployed Engineer jobs in India, updated daily.
Under section 393 of the Income-tax Act, 2025, a client paying you fees deducts TDS at 2% for fees for technical services and at 10% for other professional fees. The deduction is a credit against your tax, not the tax itself. On hypothetical invoices of ₹1,50,000 a month, 10% withholds ₹1,80,000 over tax year 2026-27 and 2% withholds ₹36,000. If you use the 50% presumptive scheme, your tax on those receipts is nil, so everything withheld is money you wait to get back.
The rule, briefly
Section 393(1), Table Sl. 6(iii) of the Income-tax Act, 2025_Bill.pdf) replaced the old section 194J. It sets:
| Payment type | TDS rate |
|---|---|
| Fees for technical services (not professional services) | 2% |
| Other professional fees | 10% |
The Table also sets a threshold of ₹50,000. How it applies to your pattern of payments is a question for the client's accounts team, so ask them early.
Invoices below are shown before any GST, which is a separate matter; see the GST threshold for freelance data work.
Case 1: presumptive profit within the rebate
You bill one client ₹1,50,000 a month for twelve months: ₹18,00,000 of receipts. If you are eligible for section 58(2) presumptive tax, deemed profit is 50%, or ₹9,00,000. With no other income, that sits within the section 156 rebate on the new regime for 2026-27, so tax is nil. The slab rates are on the e-filing portal.
| At 10% | At 2% | |
|---|---|---|
| TDS each month | ₹15,000 | ₹3,000 |
| TDS over the year | ₹1,80,000 | ₹36,000 |
| Tax due | ₹0 | ₹0 |
| Refundable when you file | ₹1,80,000 | ₹36,000 |
| Monthly cash received | ₹1,35,000 | ₹1,47,000 |
The ₹12,000 monthly difference is what you actually live on, and it is the figure to budget with. Presumptive tax vs a salary covers who qualifies and what the 50% leaves out.
Case 2: tax is due, and 2% is not enough
Double the work: ₹3,00,000 a month, ₹36,00,000 a year. Deemed profit is ₹18,00,000. The standard deduction applies to salary, and section 58(4) allows nothing further against presumptive income, so tax is ₹20,000 + ₹40,000 + ₹60,000 + ₹40,000 = ₹1,60,000, or ₹1,66,400 with cess.
| At 10% | At 2% | |
|---|---|---|
| TDS over the year | ₹3,60,000 | ₹72,000 |
| Tax due | ₹1,66,400 | ₹1,66,400 |
| Position when you file | ₹1,93,600 refundable | ₹94,400 payable |
At 10% you are still over-deducted. At 2% you owe ₹94,400 yourself, so set that aside from each payment rather than treating the 98% as yours. Check when that tax falls due before the year ends, not at filing time.
What waiting costs
Over-deducted TDS is not lost, but it is cash you do not have. Suppose, as an assumption for planning, that the refund reaches you six months after the tax year ends. Each month's deduction is then held from the month it is withheld until that date. April's ₹15,000 waits 17 months; March's waits 6.
Across Case 1 at 10%, the twelve deductions add up to 138 rupee-months of ₹15,000. At a hypothetical 7% a year that you could have earned or saved on a loan, the waiting costs about ₹12,075. At 2%, it is about ₹2,415. The six-month wait is our assumption, not a stated timeline; replace it with your own.
# Hypothetical freelance invoices. New regime, tax year 2026-27.
def slabs(income):
owed, floor = 0.0, 0
for ceiling, rate in ((400000, 0), (800000, .05), (1200000, .10),
(1600000, .15), (2000000, .20), (2400000, .25),
(10**12, .30)):
owed += max(0, min(income, ceiling) - floor) * rate
floor = ceiling
if income <= 1200000:
return 0.0
return round(min(owed, income - 1200000) * 1.04)
def tds_position(monthly_invoice, tds_rate, wait_after_year=6, yearly_rate=0.07):
receipts = monthly_invoice * 12
assert receipts <= 5000000, "check the presumptive receipts limit"
tax = slabs(0.5 * receipts) # section 58(2) deemed profit
withheld = monthly_invoice * tds_rate
months_held = sum((12 - m) + wait_after_year for m in range(1, 13))
return {
"tds_year": round(withheld * 12),
"tax": tax,
"refund_or_due": round(withheld * 12 - tax),
"waiting_cost": round(withheld * months_held / 12 * yearly_rate),
}
for invoice in (150000, 300000):
for rate in (0.10, 0.02):
print(invoice, rate, tds_position(invoice, rate))Practical steps
- Agree the rate before the first invoice. Describe the work plainly in the contract, and ask which rate the client will apply and why.
- Reconcile every payment. Invoice amount, TDS, and cash received should agree on each remittance. A missing TDS credit is harder to chase later than at the time.
- Budget on the net. Your monthly plan should use the cash you actually receive, with any refund treated as a later one-off.
- Ask for the client's TDS record. Request its record of tax deducted on your payments from time to time, and check it against your own list of remittances.
- Keep a running tax estimate. If your income grows mid-year, as in Case 2, recheck whether the TDS still covers your tax.
Client-facing delivery work often starts as a freelance engagement, and knowing how the money moves helps you quote it properly. Our FDE for Freshers programme is taught live online, with optional in-person labs at our Noida centre. Eligible learners meeting attendance and capstone criteria get assured job interviews through our hiring network, plus a post-course internship.
Frequently asked questions
Who decides whether 2% or 10% applies?
The client deducts, based on whether it treats the payment as fees for technical services or as professional fees. If you think the rate is wrong for your work, raise it before the first invoice and get the client's reasoning in writing. A chartered accountant can advise on how your engagement is characterised.
Does TDS mean I have paid my tax?
It is a credit against your final tax for the year, not the tax itself. If the credit exceeds what you owe, the excess is refundable when you file. If it falls short, you pay the difference.
Pankit Kumar has 10 years in Data Science & AI, building and shipping production systems in regulated pharma and clinical environments. He is a freelance trainer at Boston Institute of Analytics, AnalytixLabs and Scaler, and has taught this material to thousands of working professionals.
This article is part of our FDE for Freshers programme — 6–7 months. Build your engineering foundations, then take AI from discovery to delivery.
Explore FDE for Freshers