/settings/erp/finance/withholding-codes — in the left navigation under Settings → ERP / Finance → Withholding Codes. (The older link /accounting/settings/withholding-codes redirects here.)
📷 Screenshot: Withholding Codes settings page listing each code with its basis and thresholds — to be added.
Multi-business note
Withholding codes are stored per business. Each business configures its own codes and keeps its own running totals. Switch the active business with the business switcher before adding or editing codes.How a withholding code works
A withholding code bundles together everything needed to apply WHT to a vendor payment:- A basis — whether the rate is applied to the gross amount (before VAT) or the net amount (after VAT). Uganda typically withholds on net; some cases use gross.
- One or more thresholds (a bracket table) — the rate to apply, and the cumulative amount at which it starts. The simplest code has a single threshold of 0, meaning WHT applies “from the first shilling”.
- GL accounts — a payable account (the WHT you’ve withheld and now owe the authority) and an optional recoverable account (WHT that can be reclaimed).
- Vendor categories — optional labels used to match the code to the right kind of supplier.
Thresholds explained
Thresholds let a single code change rate as a vendor’s cumulative year-to-date amount grows. Each threshold row has:- Threshold amount — the cumulative amount at or above which this row applies.
- Rate percent — the WHT rate for that bracket.
- Row order — the display/evaluation order.
The common Uganda setup: one threshold with threshold amount = 0 and your standard rate (e.g. 6%). That applies WHT to every payment regardless of cumulative total.
Creating a withholding code
- Go to Settings → ERP / Finance → Withholding Codes (
/settings/erp/finance/withholding-codes). - Click Add Withholding Code.
- Fill in the fields below, including at least one threshold row.
- Save.
📷 Screenshot: Create-withholding-code form with basis selector, account pickers, and the threshold rows table — to be added.
Fields
How WHT is applied and posted
When a withholding deduction is taken on a vendor payment, Hitaji records it as a deduction line on that payment. Each deduction line carries the withholding code, the amount withheld, and the GL account it hits. Behind the scenes. A withholding deduction reduces the net cash leaving on the payment and credits the WHT Payable account. So for a 1,000,000 payment with 60,000 WHT: the supplier receives 940,000 of cash, and 60,000 is parked in WHT Payable as money you now owe the tax authority. When you later remit to the authority, that payable is cleared.A payment can carry several deduction lines (WHT, bank charges, early-payment discount, or other). Only the withholding lines require a withholding code; the engine also keeps a cached total of WHT withheld on the payment for reporting.The exact moment WHT is computed — at bill submit or at payment — is governed by your business’s WHT timing setting.
Balances (year-to-date running totals)
To apply the correct bracket, Hitaji keeps a withholding balance per party, per code, per fiscal year. Each balance row tracks:- the cumulative amount transacted with that party this year, and
- the cumulative tax withheld so far.
Editing a withholding code
Open a code and change its label, basis, accounts, vendor categories, active flag, or its threshold rows. If you replace the thresholds, you must still provide at least one — Hitaji rejects an empty threshold set. Any payable/recoverable account must still be an active account in the current book.Deleting a withholding code
A withholding code is soft-deleted. You cannot delete a code that is still referenced — if any bill line or any payment deduction uses it, Hitaji blocks the deletion with a count, e.g. “WithholdingCode WHT6 is referenced by 3 bill line(s) / payment(s) and cannot be deleted”. Deactivate the code instead so it leaves the pickers while preserving history and balances.Access & permissions
- Viewing withholding codes requires the
accounting:readscope. - Creating, editing and deleting withholding codes requires
accounting:adminoraccounting:config.
Related
- Tax codes — VAT / sales tax on invoices and bills.
- Customers & Vendors (Contacts)
- Payment terms
- Categories