xMatix
Sign in Request demo
xMatix
PRODUCTS
SalesField Sales & SFACRMRewardsClaimsInventoryProcurementWarehouse ManagementField ServiceServiceSupportTelephony & MessagingFinance & AccountingPayrollExpense ManagementCommercePortalsAnalytics & ReportingData StudioMobile AppSee all products →
PLATFORM
Platform overviewApp BuilderAutomationIntegrationsSecurity & GovernanceChange ManagementDevelopers
SENSE AI
Sense AI overviewSense AssistSense ControlSense VisionAI StudioTrust & governanceIn Claude & ChatGPTUse cases
SOLUTIONS
Auto DMSConsumer Goods DMSSales Force Automation (SFA) FMCG & DistributionManufacturing & Dealer NetworksAutomotive & DealershipsPharma & HealthcareConsumer DurablesAgri-InputsBuilding MaterialsService NetworksWarehousing & 3PLFinancial AccountingERP SoftwareIndia GST ComplianceUAE VAT & e-InvoicingSaudi ZATCA & VATAll solutions →
RESOURCES
Knowledge CenterDeveloper & CLIBlogGuidesWhat is xMatix?Company facts
COMPANY
AboutCareersPartnersEventsContactAuthorsLegal
Sign in Request demo
Home/Docs/Finance & Accounting/TDS sections: the withholding rate master
HOW-TO · Last reviewed

TDS sections: the withholding rate master

A TDS Section record is one rate row of the withholding-tax master: the section and payment code, whether it is TDS or TCS, the rate, the higher rate without a PAN, the exemption thresholds and the point at which tax is withheld. Every TDS or TCS amount that xMatix works out on a bill, an invoice, a payment or a credit note comes from one of these rows. Set them up before your first withholding document. Bill and invoice lines then carry a section, and the deductions they produce move on to challans, quarterly returns and certificates. The whole cycle is described in TDS & TCS.

Overview

Each row answers four questions for the calculation:

  • Which obligation is it? Section Code (for example 194C), Payment Code (the four-digit code used from FY 2026-27, for example 1024) and Nature (TDS or TCS).
  • Whom does it apply to? Deductee Type Scope splits sections that have two rates: one row for individuals and HUFs, another for everyone else.
  • How much? Rate, Rate No PAN, Threshold Single, Threshold Annual and Levied On Excess Over Threshold.
  • When and for how long? Deduction Point, Effective From, Effective To and Is Active.

Rates and thresholds are data, not code. The shipped catalog fills them in for you, and you can change any row afterwards.

When to use it

  • Before the first withholding document, provision the statutory catalog so bill and invoice lines have sections to pick.
  • When you set up a vendor or customer, choose the section their documents usually fall under as the account's Default TDS Section.
  • When a document deducts the wrong amount, open the section row it used and check the rate, thresholds, scope and dates.
  • When the law changes a rate or threshold, edit the row (or re-provision after a platform update brings a new catalog).

How xMatix handles it

The statutory catalog

Provision Statutory Catalog writes the FY 2026-27 rows under the Income-tax Act 2025 into your master. It creates one row per payment code and names each one section code [payment code], for example 194C [1024]:

NameNatureRate %Rate No PAN %Threshold SingleThreshold AnnualScopeDeduction Point
194H [1006] — commission or brokerageTDS220—20,000AnyEarlier of bill or payment
194I(a) [1008] — rent of plant, machinery or equipmentTDS220—6,00,000AnyEarlier of bill or payment
194I(b) [1009] — rent of land, building or furnitureTDS1020—6,00,000AnyEarlier of bill or payment
194A [1022] — interest other than on securitiesTDS1020—10,000AnyEarlier of bill or payment
194C [1023] — contractor, individual or HUFTDS12030,0001,00,000Individual / HUFEarlier of bill or payment
194C [1024] — contractor, othersTDS22030,0001,00,000OthersEarlier of bill or payment
194J-T [1026] — technical services, call centreTDS220—50,000AnyEarlier of bill or payment
194J-P [1027] — professional servicesTDS1020—50,000AnyEarlier of bill or payment
194Q [1031] — purchase of goods above 50 lakhTDS0.15—50,00,000 (on the excess)AnyEarlier of bill or payment
194T [1067] — payments to a partnerTDS1020—20,000AnyEarlier of bill or payment
206C(1) [1071] — sale of scrapTCS15——AnyAt bill booking
206C(1F) [1072] — motor vehicle above 10 lakhTCS1510,00,000—AnyEarlier of bill or payment

Every provisioned row starts on 1 April 2026, with no end date, Minor Head 200, Is Active on, and a Form Code of 140 (TDS) or 143 (TCS). The catalog covers only the codes listed above. For any other section, create a row yourself.

Provisioning is safe to repeat. It matches rows by Payment Code: an existing row with the same code is updated to the shipped values and nothing is duplicated. A re-run overwrites any change you made to those rows, including rate, thresholds, dates and Is Active. Rows with other payment codes are left alone.

It also closes the older rows. Every row that has no Payment Code and no Effective To gets an Effective To of 31 March 2026 (31 March 2025 for a 206C(1H) row). Rows that already have an end date are not touched.

Which row a document uses

A bill or invoice line names one section row. When the document posts, xMatix checks that row on the document date. It must not be switched off (an empty Is Active counts as on), the date must fall between Effective From and Effective To (either may be empty), and its Deductee Type Scope must suit the party.

If the named row fails any of these checks, xMatix looks for another row with the same Section Code and Nature that passes them. It prefers a row with a scope, then the one with the latest Effective From. This is how a line tagged with an older 194C row deducts under 194C [1023] or 194C [1024] from April 2026, and how a line tagged [1023] moves to [1024] for a company vendor. If no row of that section code passes, nothing is withheld, and no error is shown.

The scope is matched against the party's Deductee Type. Individual and HUF fall under Individual / HUF. Company, Firm / LLP, AOP / BOI, Local Authority, Government and Trust fall under Others. A row with no scope suits every party. A party with no Deductee Type matches only rows with no scope, so the catalog's 194C rows never apply to it.

How the amount is worked out

  1. Thresholds. Tax applies when the document's amount for the section reaches Threshold Single, or when the year-to-date total goes above Threshold Annual. When both are empty, every amount is taxed. The year-to-date total adds this document to the party's earlier register entries for the same company, financial year and section code that are not reversed. Both rows of a dual-rate section count towards one total. For example, 194C [1023] and [1024] share one, but 194J-P and 194J-T are separate.
  2. Only deducted amounts count towards the year-to-date total. A document that stays below the thresholds writes nothing to the register, so it is not counted later. Several small bills to one vendor never add up to Threshold Annual on their own. See Common problems.
  3. Base. Once tax applies, it applies to the whole document amount for the section. Earlier documents that fell below the threshold are not taxed again. With Levied On Excess Over Threshold on, only the part of the year-to-date total above Threshold Annual is taxed.
  4. Rate. The Rate applies when the party's account has a PAN. Without a PAN, Rate No PAN applies and the deduction is reported with remarks code C. If Rate No PAN is empty or 0, the normal rate applies even without a PAN. A valid lower deduction certificate replaces the rate while it has headroom.
  5. Rates are percentages (2 means 2%). Amounts are rounded to two decimals.

When tax is withheld

Deduction Point decides which event withholds:

Deduction PointTDS on vendor billsTCS on customer invoices
At bill bookingWhen the bill postsWhen the invoice posts
At payment / receiptWhen a payment settles the billWhen a receipt is posted against the invoice
Earlier of bill or paymentWhichever comes first, only onceWhichever comes first, only once
(empty)Treated as At bill bookingTreated as At bill booking

A document and section are never withheld twice. An advance payment that settles no bill withholds nothing.

Deduction Point applies only where your company withholds. When a customer deducts TDS from what they pay you, the timing comes from the Finance module setting Withholding tax on receivables is recognised at, or from a company's own override in Org Settings, not from the section.

Nature and the accounts it hits

  • TDS on a bill: debit Accounts Payable, credit the TDS Payable control account.
  • TCS on an invoice: debit Accounts Receivable, credit the TCS Payable control account.
  • A TDS section on an invoice line records TDS the customer withholds: debit TDS Receivable, credit Accounts Receivable.

Posting does not check that a section's Nature fits the document. A TCS section put on a bill line deducts like TDS but is recorded as TCS, so it lands in TCS challans and the TCS return. Use TDS rows on purchase documents and TCS rows on sales documents.

The Nature of each register entry also decides which quarterly return reports it: TDS goes to Form 140 and TCS to Form 143. Salary TDS does not use this master at all. Payroll works it out from salary slabs and declarations.

Collecting TCS as a line tax (Document Tax Slot)

By default, TCS is posted as a separate journal next to the invoice and does not change the invoice total. When a TCS row with At bill booking or Earlier of bill or payment has a Document Tax Slot (Tax 1 to Tax 6), xMatix writes the TCS into that tax slot on each invoice line when the line is saved. The slot is named after the section code. The TCS is then part of the line total, the invoice total and the invoice's own journal, and no separate TCS journal is posted. Choose a slot that your GST tax groups do not use: xMatix never overwrites a slot that already holds another tax, so a slot in use means no TCS on that line. TDS rows ignore the slot.

Prerequisites

  • Access to the Finance Setup app, or to the tax settings app, and a security profile with access to TDS Section records (see Permissions).
  • The company's TDS Payable, TCS Payable and TDS Receivable control accounts, described in GL accounts. Without them, posting a document with a section on its lines fails.
  • For each vendor and customer: PAN, Deductee Type, and where useful a Default TDS Section, on the account.

Procedure

Step 1 — Open the TDS Sections list

Open the Finance Setup app and, under Withholding Tax (TDS), open TDS Sections. The same list is in the tax settings app under TDS Setup. The All TDS Sections view shows Name, Section Code, Rate, Nature, Created By, Updated On and Modified By.

Step 2 — Provision the statutory catalog

The Provision Statutory Catalog button needs a section to run from. On the list it appears only after you tick a row. On a section's record page it is in the header.

  1. If the list is empty, create one section first (Step 3). You can give it Payment Code 1024, Section Code 194C and Nature TDS — deducted on payables, and provisioning then completes that row. A starter row with no Payment Code is end-dated to 31 March 2026 by the run.
  2. Tick one row on the list, or open any section, and select Provision Statutory Catalog.
  3. Confirm the prompt Upsert the FY 2026-27 Income-tax Act 2025 payment-code catalog and end-date superseded old-era rows. Select Yes.
  4. The list refreshes with the catalog rows. Running it again later restores the shipped values on those rows.

The run is the same whichever row you start it from. Tick a single row: ticking several runs the catalog once per row.

Step 3 — Create a section by hand

For a section the catalog does not cover, or your own variant of one:

  1. On the list, select New. The form has three panels.
  2. Statutory: enter Name (required), Section Code, Payment Code and New Section Ref, and choose Nature, Form Code, Minor Head, Deductee Type Scope, Deduction Point and, for TCS collected on the invoice, Document Tax Slot.
  3. Rates & Thresholds: enter Rate and Rate No PAN as percentages, Threshold Single and Threshold Annual as amounts, and switch on Levied On Excess Over Threshold if only the excess is taxed.
  4. Validity: set Effective From, Effective To if the row has an end, switch Is Active on, and add a Description.
  5. Save. The section opens on its record page, with the same three groups as tabs.

Nature defaults to TDS, Deduction Point to At bill booking and Minor Head to 200 — Regular. The name is what you type: sections have no numbering series.

Step 4 — Change a rate, threshold or date

On the section's record page, select Edit and change the fields in place, then save. The change applies to documents posted from then on. Deductions already in the register keep the rate they were taken at.

To keep history when a rate changes on a date, do not overwrite the row. Set Effective To on the old row, then select Clone and give the copy the new rate and an Effective From of the following day. Both rows share the Section Code, so lines tagged with either one use whichever row is in force on the document date. The clone keeps the Payment Code, and provisioning updates only one row per payment code, so change the copy's Payment Code or Name if you re-provision later.

Step 5 — Tag documents with a section

  • On a vendor or customer account, set Default TDS Section (and TDS Applicable on). New bill lines, and new lines on purchase credit notes (bill returns), that have no section get the vendor's default when they are added. The default is never copied to invoice lines, is not re-applied when you change the vendor, and is used only if it is an active TDS row.
  • On a bill, invoice or credit note line, the TDS/TCS Section field picks a row directly. A section you pick on the line always wins over the default.

See Bills and Invoice lines for the document side.

Step 6 — Retire a section

Switch Is Active off, or set Effective To. Retiring the only row of a section code stops new withholding under it. If another row with the same section code is in force, lines tagged with the retired row move to that one. Avoid deleting a section that documents or accounts use. Delete hides the row without clearing those references, and lines tagged with it then withhold nothing.

Fields

Statutory

FieldWhat it meansNotes
NameThe row's name, shown in pickersRequired. Provisioned rows are named section code [payment code]. Not numbered automatically.
Section CodeThe statutory section, for example 194C, 194J-P, 206C(1)Links rows of one section: shared thresholds, fallback between rows, certificate matching. Also the name shown on a TCS tax slot.
Payment CodeThe payment code from FY 2026-27, for example 1024Copied to each deduction. Challans and returns group by it. Empty on older rows, which report by Section Code. Provisioning matches on it.
New Section RefThe 2025-Act section reference, for example 393(1)For reference only.
NatureTDS — deducted on payables, or TCS — collected on receivablesDefault TDS. Copied to each deduction. Decides the control account and the return (TDS Form 140, TCS Form 143).
Form Code138 — Salary (ex-24Q), 140 — Resident non-salary (ex-26Q), 143 — TCS (ex-27EQ), 144 — Non-resident (ex-27Q)For reference. The return a deduction goes to follows Nature, not this field.
Minor Head200 — Regular, 400 — DemandDefault 200. For reference: monthly challans are always drafted with minor head 200.
Deductee Type ScopeIndividual / HUF, or OthersEmpty means every party. Matched to the party's Deductee Type.
Deduction PointAt bill booking, At payment / receipt, Earlier of bill or paymentDefault At bill booking. See When tax is withheld.
Document Tax SlotTax 1 to Tax 6TCS only, for invoice-time collection. Puts the TCS on the invoice line instead of a separate journal.

Rates & Thresholds

FieldWhat it meansNotes
RateWithholding rate in percent when the party has a PANReplaced by a lower deduction certificate's rate while one applies.
Rate No PANHigher rate in percent when the party has no PANRemarks code C on the return. Empty or 0 means the normal rate applies without a PAN.
Threshold SingleAmount at which one document is taxed by itselfReached when the document amount is equal to it or more.
Threshold AnnualYear-to-date amount above which tax startsCounts only amounts already in the register.
Levied On Excess Over ThresholdTax only the part above Threshold AnnualOn for 194Q in the catalog.

Validity

FieldWhat it meansNotes
Effective FromFirst date the row governsEmpty means always. Compared with the document's posting date.
Effective ToLast date the row governsEmpty means no end. Set on older rows by provisioning.
Is ActiveWhether the row can be usedOff: the row is skipped, and a same-code row in force is used instead.
DescriptionWhat the section coversFilled by provisioning. For reference only.

Business rules

  • No validation runs when you save a section: rates, thresholds and codes are not checked, and two rows may share a payment code.
  • The row used is resolved on each document's posting date, so back-dated documents use the row in force on their date.
  • Withholding happens once per document and section, however many lines carry it and whichever event comes first.
  • The year-to-date threshold total covers the same company, party, financial year and section code, and counts only register entries that are not reversed.
  • An account with TDS Applicable off is not withheld on, and its default section is not copied. A typed TDS Amount Override on a bill still applies.
  • An account with no PAN gets the Rate No PAN. A PAN marked invalid by verification still counts as a PAN when posting. It is flagged later, when the return is validated.
  • Editing or retiring a section never changes deductions already in the register.
  • Provisioning overwrites the catalog rows each time it runs and end-dates open rows that have no payment code.

Example

A company sets up withholding for April 2026.

  1. The finance administrator opens Finance Setup → Withholding Tax (TDS) → TDS Sections. The list is empty. They select New, enter Name 194C [1024], Section Code 194C, Payment Code 1024 and Nature TDS — deducted on payables, and save.
  2. On that record page they select Provision Statutory Catalog and confirm. Twelve rows now appear, and 194C [1024] has a 2% rate, a single threshold of 30,000, an annual threshold of 1,00,000 and scope Others.
  3. On the vendor Ridgeway Civil Works, they set PAN, Deductee Type Firm / LLP, TDS Applicable on, and Default TDS Section 194C [1024].
  4. A bill for 25,000 posts on 10 April. It is below both thresholds, so nothing is deducted and nothing is added to the register.
  5. A bill for 40,000 posts on 2 May. It reaches the single threshold, so 2% of 40,000 = 800 is deducted. Accounts Payable is debited and TDS Payable credited with 800, and the register gets a row with payment code 1024.
  6. A bill for 20,000 posts on 20 May. The year-to-date total is 40,000 + 20,000 = 60,000, which is not above 1,00,000, and 20,000 is below 30,000, so nothing is deducted. The April bill is not counted, because it was never deducted.

Training

Practice exercise

In a sandbox company:

  1. Provision the statutory catalog. If the list is empty, create a starter row first.
  2. Find 194C [1023] and 194C [1024] and write down their rates and scopes.
  3. Create a vendor with a PAN and Deductee Type Individual, and another with Deductee Type Company. Give both the default section 194C [1024].
  4. Post a 35,000 bill for each vendor, dated on or after 1 April 2026.

Expected result: both bills deduct. The individual's bill deducts 350 under payment code 1023 (the line's row was swapped for the Individual / HUF row), and the company's bill deducts 700 under 1024. Open TDS Transactions to see both rows.

Quick reference

  • Finance Setup → Withholding Tax (TDS) → TDS Sections.
  • Provision Statutory Catalog: tick one row on the list, or use the record page header.
  • Re-provisioning resets the catalog rows to the shipped values.
  • Rows with the same Section Code and Nature stand in for each other by date and deductee type.
  • A party with no Deductee Type never matches a row that has a scope.
  • Year-to-date thresholds count only what was already deducted.
  • Empty Deduction Point means At bill booking.
  • Rate No PAN applies when the account has no PAN.
  • Form Code and Minor Head on the section are for reference only.
  • Don't delete a section in use. Switch Is Active off or set Effective To instead.

Permissions

New, Edit and Delete on sections follow the TDS Section entity permission in the user's security profile. Provision Statutory Catalog and Clone are server actions granted separately:

Shipped profileRecordsProvision Statutory CatalogClone
System administratorFullYesYes
Standard userFullYesYes
Sales executiveFullNoYes

The Finance Setup app is visible to the system administrator, standard user and sales manager profiles. The tax settings app is visible to the system administrator only. A user without the app does not see the list in the menu, and a user without the action grant does not see the button. Withholding on documents happens inside posting, under the poster's own permissions, so posting users need no section permissions. See why a user can't see something.

Because sections drive statutory deductions, consider limiting Edit and Delete on them to finance administrators.

Configuration

  • Section master: Finance Setup → Withholding Tax (TDS) → TDS Sections, or the tax settings app → TDS Setup. Where the list appears can be changed in Setup → Design Studio → Apps → Manage Items.
  • Party settings: on each account, PAN, Deductee Type, TDS Applicable and Default TDS Section. See Accounts.
  • Control accounts: TDS Payable, TCS Payable and TDS Receivable, one each per company. See GL accounts.
  • Receivable timing: Setup → Feature Hub → Administration → Module Settings → Finance → Withholding tax on receivables is recognised at decides when customer-deducted TDS is booked (Bill, meaning at invoice posting, by default). Each company can override it under Setup → Feature Hub → Administration → Org Settings → Companies. The section's Deduction Point does not apply to that.
  • Lower or nil deduction: per party and section, in Lower deduction certificates.
  • Bill override: the bill's TDS Amount Override replaces the computed amount and the thresholds. It is on no shipped bill form; an administrator adds it to the bill layout to use it.
  • TCS on the invoice: Document Tax Slot on the TCS row (see above).

Common problems

TDS was not deducted although the vendor's bills this year are above the annual threshold

The year-to-date total counts only amounts already in the register. Bills that stayed below the thresholds wrote nothing, so they never add up. Deduction starts only when one bill reaches Threshold Single, or when already-deducted amounts plus the new bill exceed Threshold Annual. Where the law requires deduction anyway, enter the amount in the bill's TDS Amount Override (add it to the bill form first), or record the deduction with a journal.

A 194C line deducts nothing for one vendor but works for others

The vendor's account has no Deductee Type. Both catalog 194C rows have a scope, and a party without a deductee type matches only rows without one. Set the Deductee Type on the account and post again. The same applies to any row with a scope.

Lines tagged with an older section stopped deducting after 31 March 2026

Provisioning end-dated the older row, and no catalog row has the same section code. For example, the catalog splits 194J into 194J-P and 194J-T. Pick the new row on the line and on the vendor's Default TDS Section. Another way is to give a catalog row the old section code, but then it no longer shares thresholds with its siblings.

My changed rate went back to the old value

Someone ran Provision Statutory Catalog again. It restores the shipped values on every catalog row. Clone the row, give the copy your rate and its own payment code or name, and switch the catalog row off, or keep a note of your changes and repeat them after each provisioning.

The Provision Statutory Catalog button is not on the list

It appears only after you tick a row. With no rows yet, create one by hand first (Step 3). If it is still missing, the user's profile lacks the action grant.

The TCS is not on the invoice total

The TCS row has no Document Tax Slot, its Deduction Point is At payment / receipt, or the chosen slot already holds another tax on the line. Without a slot, TCS is posted as its own journal against the invoice, which is expected.

Posting fails with a message about a TDS or TCS control account

The company has no control account tagged for that withholding type. See GL accounts.

A party without a PAN was deducted at the normal rate

The row's Rate No PAN is empty or 0. Fill it in (the catalog uses 20% for TDS and 5% for TCS).

Common questions

Do I have to use the statutory catalog?

No. The catalog is a quick start that fills in the commonly used FY 2026-27 rows with their rates, thresholds and deduction points. You can create every row by hand instead, or add your own rows next to the catalog. Bear in mind that re-running provisioning resets the catalog rows. Rows you create with payment codes outside the catalog are never touched. Rows you create without a payment code are given an end date of 31 March 2026 the first time provisioning runs, unless they already have one, so set Effective To on them deliberately or give them a payment code.

What happens to deductions already posted when I change a section?

Nothing. Each deduction in the TDS Transactions register stores the section code, payment code, rate, base and tax it was taken with. A section change applies only to documents posted afterwards. If a posted bill should have been deducted differently, typing the amount in the bill's TDS Amount Override and running Post TDS re-posts its deduction. Neither is on the shipped bill page, so an administrator adds them first (see Bills). The re-post is refused once the deduction is on a challan or in a Filed return. Then check the challan and the return for that period before you file.

Why are there two rows for 194C?

The section has a 1% rate for individuals and HUFs and 2% for everyone else, and each rate has its own payment code (1023 and 1024). The rows share the section code, so you can tag a line or a vendor default with either one. xMatix picks the row that suits the party's Deductee Type on the document date. Both rows count towards one annual threshold.

Does the section decide which quarterly return a deduction goes to?

Only through Nature. TDS deductions go to the resident non-salary return (Form 140) and TCS collections to the TCS return (Form 143). The Form Code field on the section is not used for this. Salary TDS is handled by payroll and does not use sections. A Form 144 (non-resident) return cannot be computed, so do not rely on Form Code 144 rows for returns.