WHT Rules & Rates
Withholding works through two records: a WHT Rule (when withholding applies and to whom) and its WHT Rates (the percentages). It mirrors the tax-side rule/rate idea, but with its own conditions tuned to how withholding actually works — by section, by payee type, by threshold.
Access you'll need. Setting up and maintaining withholding tax rules and rates requires the Accounting Admin v2 or Accounting Controller v2 permission set. The Accounts Payable v2, Accounts Receivable v2, and Read Only v2 sets can view them but not change them.
The WHT Rule — the conditions
| Field | What it does |
|---|---|
| Code | Identifier (e.g. IN-TDS-194C, GB-WHT-INT) — UPPER CASE, enforced; this is the key seeding matches on |
| Country Code | Groups the rule under its country in lists and the seeding wizard — it does not restrict which documents the rule fires on; the vendor assignment does that |
| Applicable Side | Sales / Purchase / Both — which direction the rule may be used on. Purchase is the default, and in practice the only one that calculates: the sales-side withholding engine was retired in May 2026, so a rule set to Sales never fires. Sales-side withholding is recorded by hand on a Cash Receipt of type WHT Received — see Sales-Side Withholding. |
| Section Code | The legal section (194C, ITA 2007 s.874…) — prints on certificates |
| Nature of Payment | What the payment is — shown on the certificate |
| Payee Type Scope | Both · Individual Only · Company Only · Non-Resident Only |
| Payer Regime Scope | Restrict by your regime (e.g. Lucro Real) — the Brazil PCC gate |
| Single Payment Threshold | Minimum line amount before WHT applies — compared in the rule’s currency (see below) |
| Base Includes Tax | Off = WHT on the pre-tax subtotal (the usual case); on = subtotal plus tax |
| Effective From / To | Validity window — Effective To can’t precede Effective From |
The WHT Rate — the percentages
Each rule has one or more child rates. A rate carries:
| Field | What it does |
|---|---|
| Rate | The withholding percentage — must be greater than zero |
| Applies To | Always · Company · Individual · Non-Resident · No Tax ID |
| GL Account | A WHT Payable liability account for this rate |
| Active | Off → the rate never fires |
How the engine picks the rate(s)
This is the clever part. Given a vendor, the engine selects rates like this:
Two selection details worth knowing: a vendor whose classification is left blank is treated as a Company, and any classification beginning “Non-Resident” selects the Non-Resident rate. So an incomplete vendor record doesn’t stop withholding — it just may pick a rate you didn’t intend.
Real rules: India, UK, and Brazil
🇮🇳 India — the TDS sections, as seeded
The India pack ships 14 purchase-side rules in total: the seven classic 194-series sections below, plus a parallel set of seven under the new section numbering (more on that after the table). Each has its own threshold and rates:
| Section | Nature of payment | Rates | Threshold |
|---|---|---|---|
| 194C | Contractors | Company 2% / Individual 1% | ₹30,000 |
| 194J(a) | Technical service fees | 2% | ₹30,000 |
| 194J(b) | Professional fees | 10% | ₹30,000 |
| 194I(a) | Rent — land & building | 10% | ₹2,40,000 |
| 194I(b) | Rent — plant & machinery | 2% | ₹2,40,000 |
| 194H | Commission & brokerage | 5% | ₹15,000 |
| 195 | Payments to non-residents | Non-Resident 20% | None |
Note that 194J is deliberately two rules — technical service fees at 2% and professional fees at 10% — so you assign the one matching what the vendor actually does. And because India’s Income-tax Act 2025 renumbered the sections, the pack ships a parallel set of seven under the new 393/413 section codes with identical rates and thresholds: the 194-series rules carry Effective To 31 March 2026 and the successors take over from 1 April 2026. They are separate rules, so make sure each vendor points at the one current for your financial year.
🇬🇧 United Kingdom — narrow, non-resident
| Rule | Section | Scope | Rate |
|---|---|---|---|
GB-WHT-INT | ITA 2007 s.874 | Non-resident only | 20% on interest |
GB-WHT-ROY | ITA 2007 s.903 | Non-resident only | 20% on royalties |
The UK barely withholds — only interest and royalties paid to non-residents, at 20% (often treaty-reduced). The Payee Type Scope = Non-Resident is what keeps these rules from firing on ordinary domestic payments.
🇧🇷 Brazil — IRRF on services
| Rule | Payment | Rates |
|---|---|---|
BR-IRRF-SERVICOS | Domestic service fees | Company 1.5%, Individual 1.5% |
BR-IRRF-NR-SERVICOS | Service fees to non-residents | Non-Resident 15% |
Brazil also withholds the PCC contributions on service payments — PIS 0.65%, COFINS 3%, and CSLL 1%, seeded as withholding rules alongside IRRF. The PCC rules come in pairs gated by Payer Regime Scope (one set for Lucro Real entities, one for Lucro Presumido), which is exactly what that field exists for: the same payment withholds differently depending on your tax regime.
Thresholds and the base
Two rule fields shape the amount. Single Payment Threshold sets a per-line minimum — below it, no WHT applies (India’s sections each have one). Base Includes Tax decides whether WHT is computed on the pre-tax subtotal (the default) or on the subtotal including tax. The withholding is then simply base × rate, rounded to two decimals.
Setting up
- Seeded per country. The packs ship each country’s common withholding rules and rates (TDS sections, IRRF, s.874/903…) — matched by Code, so re-seeding updates rather than duplicates.
- Assign to vendors. Set a vendor’s default WHT rule on the Account; a bill line can override it.
- Give each rate a GL account. Every rate carries a WHT Payable account; the entity’s Default WHT Payable is what bill postings actually credit (see the callout above), and it must be set before a bill with withholding can post.
- Classify vendors with a taxpayer ID and type so the right rate is selected.
- Verify rule currency after seeding in a multi-currency setup, so thresholds compare in the currency the law intends.
The messages you may meet
These are the exact messages the system raises around WHT rules and rates, with the fix alongside:
| The message | What it means / what to do |
|---|---|
| “WHT Rule Code must be in UPPER CASE (e.g., IN-TDS-194A, BR-IRRF). Please correct the value entered.” | Codes are seed keys — keep them upper case, hyphen-separated. |
| “Effective To date cannot be before Effective From date.” | The rule’s validity window is inverted — fix the dates. |
| “Rate must be greater than zero.” | A WHT rate of 0% has no meaning — to stop withholding, deactivate the rate or rule (or record a vendor exemption) instead. |
| “Cannot post invoice with Withholding Tax: Entity … has no Default WHT Payable GL Account configured…” | One-time setup gap — your administrator sets the Default WHT Payable account on the Entity. |
Where to go next
- Understanding Withholding Tax — the concepts these rules encode.
- Purchase-Side WHT (TDS on Bills) — rules applied on the purchase side.
- Sales-Side WHT (via Cash Receipt) — rules applied on the sales side.
- WHT Exemptions — overrides to these rates.
- WHT Transactions & Reporting — the records these rules produce.
Frequently asked questions
Because a rule can carry multiple rates, and every Always rate fires together (plus the one matching the vendor’s classification). This models payments that attract more than one withholding at once.
Only the rule’s No Tax ID rates fire — usually a higher penalty rate — and the classification rates are skipped. It’s the engine’s way of enforcing the higher withholding that applies when a payee can’t be identified (e.g. US backup withholding).
If the rule has a single-payment threshold and the line is below it, no WHT applies. It’s how India’s TDS sections exempt small payments. (In multi-currency, the line is converted to the rule’s currency before the comparison.)
The Applicable Side field sets a rule to Purchase, Sales, or Both. In practice most withholding you configure is purchase-side; sales-side is recorded differently — see Sales-Side WHT.
Was this article helpful?