Withholding Tax (what happen behind the scene)
From the study, we have found that Withholding Tax functionality of Colombia Localization can be applied for many countries, including Thailand.
Following is the summary of what is happening behind the scene,
Withholding Tax lines (a new Tab on Invoice / Payment window) will be generated by clicking on "Generate Withholding" Button on Invoice Tab. We also have flexibility to set posting account entry either on Invoice or Payment.
ADempiere use Withholding Type window, as the main window to setup Rules for which to apply on each invoice/payment transaction.
- Withholding will apply only for DocType with Generate Withholding = Yes or Auto (setup in Document Type window), CONTINUE else END
- Get information that will be used to determine which rule to apply, i.e., BP Info and Organization Info (ISIC, Tax Payer Type), Product or Charge 's Withholding Category, etc.
- Seek the matching Withholding Rules from "Withholding Type" window to find the right Withholding Tax Rate to apply.
- Identify eligible Withholding Types based on "Sales Transaction" checkbox.
- Withholding Rule Configuration Tab is telling the logic of Withholding Rule selection criteria.
- From the list of all possible rules ADemepiere will select only 1 Withholding Rule that match with the selection criteria above.
- And from the selected Withholding Rule, ADempeire will use "Withholding Rule Calc" tab for detail on how the withholding tax will be calculated. I.e., calculate on invoice / payment, calculation base line (line, invoice, tax) Tax Rate, Threshold min/max and Refund.
Note: Clicking on "Generate Withholding" button will trigger process org.globalqss.model.LCO_MInvoice.recalcWithholdings() and generate/update Withholding Lines.