Professional services companies in India receive TDS deductions on the majority of their domestic client payments. At 20–50 payments per month, each with a different TDS section, rate, and deductor PAN, the matching problem is not trivial.
Generic reconciliation tools fail here because they match amounts, not amounts-plus-TDS-structures. The result: most Indian professional services companies have 40–60% of their AR payments flagged as exceptions every month — not because the payments are wrong, but because the matching logic is wrong.
The Net-vs-Gross Problem
When a client pays ₹90,000 against a ₹1,00,000 professional services invoice (deducting 10% TDS under Section 194J), the bank statement shows a credit of ₹90,000. The AR ledger shows an outstanding invoice of ₹1,00,000.
A generic matching system compares ₹90,000 (bank) against ₹1,00,000 (invoice) — and flags a ₹10,000 mismatch. The finance team then manually:
- Identifies the TDS deduction from the remittance advice
- Splits the payment into ₹90,000 collected + ₹10,000 TDS receivable
- Closes the invoice
- Creates a TDS receivable entry
- Waits for the credit to appear in Form 26AS
At 100 such invoices per month, this takes 3–5 days. At 500 invoices, it is the full-time work of 2–3 people.
The correct approach: the matching engine knows that this client-invoice combination generates a 10% TDS deduction under Section 194J, and automatically splits the credit at matching time.
TDS Section Rate Reference for Matching
| Section | Payment type | TDS rate | Example: ₹1,00,000 invoice |
|---|---|---|---|
| 194C | Contractor (company) | 2% | ₹98,000 credit + ₹2,000 TDS |
| 194C | Contractor (individual/HUF) | 1% | ₹99,000 credit + ₹1,000 TDS |
| 194J | Professional services | 10% | ₹90,000 credit + ₹10,000 TDS |
| 194J | Technical services (post-2020) | 2% | ₹98,000 credit + ₹2,000 TDS |
| 194H | Commission | 5% | ₹95,000 credit + ₹5,000 TDS |
| 194I | Rent (plant/machinery) | 2% | ₹98,000 credit + ₹2,000 TDS |
| 194I | Rent (land/building) | 10% | ₹90,000 credit + ₹10,000 TDS |
| 195 | Non-resident payments | Rate varies | Depends on DTAA |
The matching engine must maintain a rate register by client and section — not just apply a flat TDS rate to all invoices.
Multi-Pass Matching Logic for TDS
Correct TDS invoice matching runs in multiple passes:
Pass 1 — Exact match: Bank credit = Invoice amount (no TDS deducted). Match and close.
Pass 2 — TDS deduction match: Bank credit = Invoice amount × (1 − applicable TDS rate). Generate TDS receivable entry. Match and close invoice.
Pass 3 — Cross-reference match: Bank credit does not match any single invoice but matches an invoice net of TDS when combined with another invoice. This handles cases where clients consolidate multiple invoice payments into one RTGS transfer.
Pass 4 — Exception: Items not matched in Passes 1–3. Flag for human review with the suggested match candidates listed.
The output of Pass 2 and Pass 3 automatically generates TDS receivable entries — which are then matched against Form 26AS when the deductor’s TDS return is processed.
Building the TDS Counterparty Register
Correct net-vs-gross matching requires a register of:
- Client TAN: The deductor’s Tax Account Number — links to Form 26AS entries
- Applicable section: The TDS section that applies to invoices raised on this client
- Rate override: If the client has a lower deduction certificate under Section 197, the actual rate (not the standard rate) applies
- Threshold tracking: Sections 194C and 194H have annual payment thresholds below which TDS is not deducted — the matching engine must know how much has been paid year-to-date
Without this register, the matching engine cannot determine the correct split for each payment. The register is maintained in the reconciliation system, not in the ERP — because ERPs do not maintain client-level TDS deduction profiles at the level of granularity required for automated matching.
Common Matching Errors and Their Causes
Wrong section rate: Client applies 10% under 194J when 2% applies for technical services (post-Finance Act 2020). Result: bank credit is ₹10,000 lower than expected. Resolution: request correction return from deductor.
TDS deducted above threshold: Client deducts TDS on a payment that falls below the annual threshold for the section. Result: TDS receivable generated, but no credit appears in Form 26AS. Resolution: contact client for a refund or correction.
Consolidated payment without invoice references: Client pays multiple invoices in one RTGS, deducting TDS only on the professional services invoices, not the reimbursement invoices. Result: the net credit does not match any single invoice at any TDS rate. Resolution: match using invoice reference in the remittance advice.
Lower deduction certificate not updated: Client continues to deduct at standard rate after a Section 197 lower deduction certificate has been issued. Result: excess TDS in Form 26AS, but the books show standard rate TDS. Resolution: reconcile Form 26AS to the lower rate and carry the excess as an advance tax asset.
TDS reconciliation software that maintains section-level matching rules by client and automatically generates TDS receivable entries eliminates Pass 2 matching as a manual activity — reducing the matching workload by 60–80% for professional services companies with 50+ active TDS deductors.
Reconciliation software India that handles both the gross-to-net matching and the Form 26AS verification in a single workflow connects the invoice matching pass to the TDS receivable reconciliation — removing the two-step manual process that most Indian finance teams currently run.
The Income Tax India portal publishes current TDS rates by section, threshold limits, and the rules for Section 197 lower deduction certificates — the primary reference for configuring client-level rate registers.