Forward Deployed EngineeringSalary, offers and pay mechanics

Client TDS on Freelance Invoices: 2% or 10% and Your Cash Flow

PK
Pankit Kumar
Sr. Data Scientist at Parexel (a Goldman Sachs–backed company) · 27 September 2026 · 4 min read
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.

The short answer

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 typeTDS rate
Fees for technical services (not professional services)2%
Other professional fees10%

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.

python
# 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.

PK
Pankit Kumar
Lead Instructor, NeuraPath Academy

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
Counselling is free · no obligation

Not sure which programme fits?

Tell us your background and we will map it to the right entry point — including saying so when a cheaper programme is the better fit. A counsellor replies within one working day.