Tax codes are an addition, whereas WHT is a deduction, therefore to contra them off so as to create a NETT tax code and then apply that hybrid code to a line item would not only be impractical but a total nightmare. Especially when the calculation of the Tax code and the WHT is based on completely different criteria.
Alternatively, you could add a string of individual tax codes to a line item but that also becomes equally unworkable as every line item would need to repeat each string, rather than using invoice wide WHT codes.
If we re-visit @uzair94 where he sells the same 10,000 of goods to two different customers.
Customer 1 gets charged 17% GST and deducts 4.5% WHT-1 of the invoice total.
Customer 2 gets charged 17% GST and deducts 4.5% WHT-1 of the invoice total plus deducts WHT-2 which is only 20% of the 17% GST.
This would require two aggregate tax codes and as @sharpdrivetek stated, if you have 19 GST tax codes, then you would require 38 aggregate codes, 19 (GST + WHT-1) applicable to Customer type 1 and 19 (GST + WHT-1 +WHT-2) applicable to Customer type 2. Taxes aren’t just levied on the type of supply (GST) but also on the type of customer (WHT), so the aggregate tax codes would have to reflect all possible combinations of supply and customer.
Furthermore when you consider @uzair94 stated circumstances: (1) WHT-1 and WHT-2 belong to two different authorities and (2) the frequency is also different, one is monthly and one is yearly, then having aggregated tax codes at the front end doesn’t enable (without a lot of complicated programming) the user’s reporting requirements at the backend.
In addition, you also have the added complication where the jurisdiction has WHT rates which are individual taxpayer based. That is, Supplier 1 may have 5% WHT deducted while Supplier 2 may have 10% WHT deducted. In fact you could have 15 Suppliers all with different WHT rates. Now try combining these variable WHT rates with any GST/VAT code.
Australia is one jurisdiction which has this WHT model, it was previously call Prescribed Payment Deductions (PPD) but is now known as Voluntary Agreement (VA) which is either a flat 20% or a rate prescribed by the Tax Commissioner for that individual taxpayer. https://www.ato.gov.au/business/payg-withholding/payments-you-need-to-withhold-from/payments-under-a-voluntary-agreement/
Furthermore these VA rates would never form part of Localisations, therefore, removing WHT from its current location would disenfranchise those users which require a basic WHT application. Also, especially applicable if a jurisdiction only has WHT, no GST/VAT tax.
So in adopting the KIS principle, @sharpdrivetek’s illustrated approach allows the Tax codes and WHT (which are apples and oranges) to function independently without impeding user flexibility…