REDA One Help Center
EN
Language
English EN Español ES Português PT Italiano coming soon Français FR Deutsch coming soon العربية coming soon
reda.one ↗
Home / REDA Financials AI / Tax Management / Withholding Tax (WHT/TDS) / WHT Rules & Rates

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.

Getting there. Open the App Launcher (the grid icon at the top-left of any page) → REDA Financials Admin → the Withholding Tax Rules tab; a rule's rates are a related list on the rule. In practice the Tax Seeding Wizard creates each country's rules and rates; open the tab to review or maintain one, then assign a rule to each vendor's Account.
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.
One rule, often several rates. A single WHT rule can carry multiple rates, and the engine picks (or fires several of) them based on the vendor — their classification and whether they have a tax ID. That’s how one “professional fees” rule covers companies, individuals, and non-residents at different rates.

The WHT Rule — the conditions

FieldWhat it does
CodeIdentifier (e.g. IN-TDS-194C, GB-WHT-INT) — UPPER CASE, enforced; this is the key seeding matches on
Country CodeGroups 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 SideSales / 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 CodeThe legal section (194C, ITA 2007 s.874…) — prints on certificates
Nature of PaymentWhat the payment is — shown on the certificate
Payee Type ScopeBoth · Individual Only · Company Only · Non-Resident Only
Payer Regime ScopeRestrict by your regime (e.g. Lucro Real) — the Brazil PCC gate
Single Payment ThresholdMinimum line amount before WHT applies — compared in the rule’s currency (see below)
Base Includes TaxOff = WHT on the pre-tax subtotal (the usual case); on = subtotal plus tax
Effective From / ToValidity window — Effective To can’t precede Effective From

The WHT Rate — the percentages

Each rule has one or more child rates. A rate carries:

FieldWhat it does
RateThe withholding percentage — must be greater than zero
Applies ToAlways · Company · Individual · Non-Resident · No Tax ID
GL AccountA WHT Payable liability account for this rate
ActiveOff → the rate never fires
One posting account, per-rate detail. In the current release, the ledger credit created when a bill posts always goes to the entity’s Default WHT Payable account — the per-rate GL Account does not split the posting. The per-rate breakdown (which section, which rate, which amount) is fully preserved in the WHT Transaction records, which is what returns and certificates are built from.

How the engine picks the rate(s)

This is the clever part. Given a vendor, the engine selects rates like this:

No tax ID? If the vendor has no taxpayer ID, only the No Tax ID rates fire — typically a higher penalty rate. Nothing else applies.
Otherwise, every Always rate fires, plus the one rate matching the vendor’s classification (Company, Individual, or Non-Resident).
Why “Always” rates exist. They let several withholdings ride on one rule — useful where a payment attracts a set of contributions together. The classification rates handle the “it depends who the vendor is” cases (a company vs an individual vs a non-resident at different rates).

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:

SectionNature of paymentRatesThreshold
194CContractorsCompany 2% / Individual 1%₹30,000
194J(a)Technical service fees2%₹30,000
194J(b)Professional fees10%₹30,000
194I(a)Rent — land & building10%₹2,40,000
194I(b)Rent — plant & machinery2%₹2,40,000
194HCommission & brokerage5%₹15,000
195Payments to non-residentsNon-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

RuleSectionScopeRate
GB-WHT-INTITA 2007 s.874Non-resident only20% on interest
GB-WHT-ROYITA 2007 s.903Non-resident only20% 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

RulePaymentRates
BR-IRRF-SERVICOSDomestic service feesCompany 1.5%, Individual 1.5%
BR-IRRF-NR-SERVICOSService fees to non-residentsNon-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.

Thresholds compare in the rule’s currency. In a multi-currency setup, a bill in one currency can hit a rule whose threshold is denominated in another. The engine converts the line amount into the rule’s currency at the document date for the comparison only — the base and the withheld amount themselves stay in the document’s currency. Practical consequence: check the currency of your withholding rules. A “₹30,000” threshold saved on a rule denominated in dollars is a $30,000 threshold — and almost nothing will ever be withheld.

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 messageWhat 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

  1. Understanding Withholding Tax — the concepts these rules encode.
  2. Purchase-Side WHT (TDS on Bills) — rules applied on the purchase side.
  3. Sales-Side WHT (via Cash Receipt) — rules applied on the sales side.
  4. WHT Exemptions — overrides to these rates.
  5. 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?