TDS on software contracts is the most expensive ambiguity in the Indian engineering procurement stack. The classification, 194J or 194C, is roughly eight points of withholding on every invoice. The default most ops teams pick is wrong about a third of the time, and when it is wrong, the buyer pays, not the vendor.

We have walked into one engagement where the under-withholding bill across three years of software contracts came to a number with seven figures attached, before interest. The assessing officer was patient about it. The CFO was not.

What 194J and 194C actually say

Section 194J of the Income Tax Act covers fees for professional or technical services. The rate is 10%. Section 194C covers payments to contractors for what the Act calls “work”. The rate is 2%, or 1% if the payee is an individual or HUF.

The Act gives surprisingly little explicit guidance on where the line sits for software services. The CBDT has issued circulars over the years, most notably Circular 715 from 1995, and the ITAT has decided cases both ways depending on the contract. What this means in practice is that the classification is a judgement call, and the documentation behind the judgement call matters more than the call itself.

The cases where TDS on software contracts goes wrong are not the clean ones. A consulting firm writing an architecture document is 194J. A printing vendor producing 10,000 brochures from a template you supplied is 194C. Nobody gets these wrong. The cases that go wrong are the ones in the middle of the software stack.

Where the ambiguity lives

Decision tree for classifying TDS on software contracts between Section 194J and 194C based on whether the deliverable is knowledge work or scoped execution

The four categories that come up in every engagement, in roughly the order of how often we see them misclassified:

  • SaaS subscriptions from Indian vendors. Often defaulted to 194C. If the subscription includes professional support, the support component is usually 194J and the vendor should be invoicing the two components separately.
  • Managed cloud or DevOps retainers. Almost always 194J. The vendor is selling judgement, not execution of a defined work order.
  • Custom development work. 194J if the deliverable is bespoke and requires the vendor to make design decisions. 194C if the deliverable is implementation of a fully-specified design that you wrote.
  • Hosting and infrastructure resale. Generally 194C. Unless the contract bundles consultative support, in which case the bundle is mixed and the invoice should be split.

If you take one thing from this piece, take this. Read the statement of work, not the invoice. The invoice tells you what was billed. The SOW tells you what was sold.

The cash flow consequence of getting it wrong

Under-withholding is the expensive direction, and it lands on the buyer. If you withhold at 2% on a contract that should have been at 10%, the AO raises a demand against you for the 8% shortfall plus interest under Section 201. The vendor has usually already declared the income and paid advance tax. Recovering the shortfall from them is a commercial conversation that goes poorly. If you negotiated a net-of-TDS price, you negotiated the wrong contract.

Over-withholding is the cheap direction, in the sense that the worst case is the vendor reclaims the excess via their return. The catch is that the vendor will dispute it with you for the next two quarters, and the AR team becomes the front line for the argument. We have watched this happen on a single contract for six months. The 8 points of cash flow you saved on the wrong side of 194 became a recurring tax on the AR team’s attention.

A 30-second checklist for the procurement file

  1. Read the SOW before classifying.
  2. If the deliverable requires the vendor to make design or judgement calls, treat it as 194J.
  3. If the deliverable is execution against a spec you wrote, treat it as 194C.
  4. For mixed contracts, ask the vendor to split the invoice into the two components. They will. They want you to withhold correctly more than you do.
  5. Document the reasoning per contract in the procurement file. The AO will ask, two years from now, why you classified the way you did. The right answer is “here is the note we wrote at the time”.

Most ops teams treat TDS classification as a finance problem. It is closer to a contracts problem, and it benefits from being looked at the way you look at any other ambiguous clause. Read the document. Write down what you decided. Keep the note.

Related: Your governance framework does not know which model version is live. Different domain, same auditor-on-the-other-end logic.