TAXATION MANAGEMENT USING ASYCUDA++ Ó UNCTAD - SITE (V1.15) A.8 The function DoTax("TaxCod", "MP", TaxBase, Rate, Amount) carries out the following action ·     Recognises "ICD" - "TaxCod" (Tax Code) - as Import Customs Duty ·     Recognises from "1" - "MP"  (Method  of  Payment)  that  the  tax  is  to  be  paid  rather  than  "0", which means not payable. StatVal  (Statistical  Value)  is  a  variable  that  represents  the   TaxBase  calculated  (by  a  Valuation Rule) from declaration data. Rate(ComCod) is the Rate of tax and is taken up from the Commodity Code column. StatVal * Rate(ComCod)/100) is the calculated  Amount of tax, using the TaxBase and the Rate of tax Example 3.  Relief of the normal (full) Customs Duties: Rule "EEC"; If PreferCod = "EEC" Then   Num01 IS Rate( ComCod );   Num02 IS ( StatVal * Num01 / 100 );   If Num01 > 0 Then     Action IS RelTax( "ICD" , "EEC" , StatVal , Num01 , Num02 );   Endif;   If Num01 = 0 Then     Action IS RelTax( "ICD" , "EEC" , StatVal , 0 , 0 );   Endif; Endif; Explanation: This Rule applies if PreferCod (Item Preference Code) - taken from the declaration data - is "EEC". The   numeric   values   of   the   tax   rate   (taken   from   the   Commodity   Code   column)   and   the   tax calculation (tax base multiplied by rate) have been given to the working variables called Num01 and Num02. This is to make the 'action' line easier to read. The function in this case is RelTax( ). RelTax ("TaxCod", "Relcode", TaxBase, Rate, Amount) carries out the following action "TaxCod" is "ICD" - Import Customs Duty "RelCode"  is  for  statistical  purposes  and  allocates  the  amount  of  tax  'lost'  by  the  relief  to  Relief Code "EEC". Num01 - Rate(ComCod) is the Rate of tax and is taken from Commodity Code column "EEC". Num02 -  Statval * Rate(ComCod)/100) is the calculated Amount of tax, using the   TaxBase  and the Rate of tax applying for "EEC". (The second 'action' statement - "If Num01 = 0"  is to allow for rates of duty of "0"). The Num0* variables do not  initialise  automatically.  They  must  be  assigned  to the rule if that is what you want. If you need to carry a variable from rule to rule you can use this feature as a sort of accumulator.