Configuration Steps: Duty and Tax Calculation on Trade Transaction/Declaration

Customs duty and taxes calculation on trade transaction and/or declaration setup involves the following major steps:

  1. Define Value Qualifiers
  2. Define Value Sets (for the charges and other values required to calculate customs duty and other taxes)
  3. Define Product Classification Codes and Unit of Measures Conversion Rates
  4. Define Formula Expressions
  5. Define Compliance Rules with Control Category of VALUE SET
  6. Define Compliance Rule Set and Rule Set Group for value set assignment
  7. Define Compliance Rules with Control Category of VALUE QUALIFIER FORMULA
  8. Define Compliance Rule Sets and Rule Set Groups for value formula assignment
  9. Configure an External System for estimate duty and tax callout

The application includes a pre-seeded setup covering value qualifiers, value sets, formula expressions, compliance rules, rule sets, and rule set groups. Navigate to Master Data > Power Data > Compliance Rules > Compliance Rule Set Groups and look at the following: RULE SET GROUP ID = BASE VALUE SET - RULE SET GROUP and RULE SET GROUP ID = BASE FORMULA - RULE SET GROUP. You can drill down on each one of them to find all the details regarding the pre-seeded setup.

The setup described below explains in detail the steps you need to follow in case you want to support additional charges and values required to calculate customs duty and other taxes.

Defining Value Qualifiers Required for Calculating Customs Duty and Other Taxes

To begin, define the charges and other values required to calculate customs duty and other taxes that are not yet in the system. For example, the following value qualifiers are required:

  • INTL FREIGHT
  • INVOICE VALUE
  • INSURANCE
  • FOB VALUE

Refer to the Value Qualifiers topic for more details.

Defining Product Classification Codes and Unit of Measures Conversion Rates

Define or upload the product classification codes and assign them to the items. In most instances you get this data from a third party content provider. For example, the Harmonized Tariff Code (HTS) classification code 8482400000 is required for the ITEM ID of NEEDLE ROLLER BEARINGS.

Customs duty calculation relies on the units of measure (UOMs) associated with the HTS codes of the country and therefore, quantities need to be expressed in these UOMs before making the call out to the customs duty and taxes calculation service.

Generic conversions (e.g. pounds to kilograms) are pre-seeded in the application. For those non-conventional conversions (e.g. cases to pounds), you need to define the conversion factor from the UOM on the item to the UOMs associated with the product classification code.  You can do it in the Item Unit of Measure Conversion page.

Refer to the Classify Item and Unit of Measure Conversion Factor on Item topics for more details.

Defining Value Sets

Define value sets containing value qualifiers that are required to calculate customs duty and other taxes.

For example, the following value set is required when a product is shipped by air from China to Great Britain.

Navigate to Master Data > Power Data > Configurations > Value Sets and create the following value set:

  • Value Set ID = ELC-VALUE SET-1.
  • Name = ELC-VALUE SET-1.
  • Description = SET OF VALUE QUALIFIERS REQUIRED TO CALCULATE THE TAXABLE BASE AMOUNT FOR CUSTOMS DUTY.
  • In the Value Qualifiers section, select and save each one of the following value qualifiers:
    • Value Qualifier ID = INVOICE VALUE and Method of Calculation = ENTERED MANUALLY.
    • Value Qualifier ID = INSURANCE and Method of Calculation = SYSTEM CALCULATED.
    • Value Qualifier ID = FOB VALUE and Method of Calculation = SYSTEM CALCULATED.

Defining Formula Expression

Define the formula expressions that will be used by the application to calculate charges or other values needed in the process of calculating customs duty and taxes.

For example, the following formulas are needed for calculating the taxable base for customs duty like international freight, insurance, and FOB value. To add these formula expressions:

Navigate to Master Data > Power Data > Configurations > Formula Expressions and create the following formula expressions:

  • To create the formula expression to calculate insurance:
    • Enter an Expression ID = ELC-INSURANCE FORMULA-2.
      • Enter an Expression Name = ELC-INSURANCE FORMULA-2.
      • Enter an Expression Description = ELC-INSURANCE FORMULA-2.
      • Select Object Type = Transaction Line.
      • Select Usage Type = FORMULA.
    • In the Expression Identifiers section, define the following identifiers:
      • Identifier = INVOICE_VALUE.
        • Select Object Type = Transaction Line.
        • Select Business Object Attribute = Transaction Line - Value.
        • Select Attribute Qualifier = INVOICE VALUE.
        • Click Save.
      • Identifier = INSURANCE.
        • Select Object Type = Transaction Line.
        • Select Business Object Attribute = Transaction Line - Value.
        • Select Attribute Qualifier = INSURANCE.
        • Click Save.
      • In the Expression section:
        • Enter the Formula Expression of “INSURANCE=0.06*INVOICE_VALUE”.
        • Click Verify to check whether the formula expression is correct.
        • Click Finished.
  • To create the formula expression to calculate FOB value:
    • Enter an Expression ID = ELC-FOB VALUE-2.
      • Enter an Expression Name = ELC-FOB VALUE-2.
      • Enter an Expression Description = ELC-FOB VALUE-2.
      • Select Object Type = Transaction Line.
      • Select Usage Type = FORMULA.
    • Under Expression Identifiers, define the following identifiers:
      • Identifier = INTL_FREIGHT.
        • Select Object Type = Transaction Line.
        • Select Business Object Attribute = Transaction Line - Value.
        • Select Attribute Qualifier = INTL FREIGHT.
        • Click Save
      • Identifier = ORDERED_QTY.
        • Select Object Type = Transaction Line.
        • Select Business Object Attribute = Transaction Line - Quantity.
        • Select Attribute Qualifier = ORDERED.
        • Click Save.
      • Identifier = FOB_VALUE.
        • Select Object Type = Transaction Line.
        • Select Business Object Attribute = Transaction Line - Value.
        • Select Attribute Qualifier = FOB VALUE.
        • Click Save.
      • Identifier = INVOICE_VALUE.
        • Select Object Type = Transaction Line.
        • Select Business Object Attribute = Transaction Line - Value.
        • Select Attribute Qualifier = INVOICE VALUE.
        • Click Save.
      • Identifier = INSURANCE.
        • Select Object Type = Transaction Line.
        • Select Business Object Attribute = Transaction Line - Value.
        • Select Attribute Qualifier = INSURANCE.
        • Click Save.
    • In the Expression section
      • Enter the Formula Expression of “FOB_VALUE=(ORDERED_QTY*INVOICE_VALUE)-INTL_FREIGHT-INSURANCE”.
      • Click Verify to check whether the formula expression is correct.
      • Click Finished.

Defining Compliance Rules with Control Category of VALUE SET

Define compliance rules with a control category of VALUE SET. These rules will assign a group of value qualifiers to those trade transaction lines/declaration lines that match the parameters on the rules.

For example, the following VALUE SET rule will assign the value set of ELC-VALUE-SET-1 to a trade transaction line with a SHIP_FROM address in China, a SHIP_TO address in Great Britain,  a transport mode of AIR and Incoterms of CIF. This value set includes value qualifiers such as international freight, invoice value, insurance, and FOB value.

Navigate to Master Data > Power Data > Compliance Rules > Compliance Rules.

  • In the Compliance Rule tab:
    • Enter a Compliance Rule ID = ELC-CHARGES ASSIGNMENT RULE-1.
    • Select a Control Category = VALUE_SET.
    • Enter Description = ELC-CHARGES ASSIGNMENT RULE-1.
    • The Active check box is selected by default.
    • The For Transaction Line check box is selected by default.
    • In the Rule Parameters section:
      • Under Transaction, select Transport Mode = AIR and Incoterm ID = CIF.
      • Under Country, select a Country Qualifier ID = SHIP_FROM with a Country ID = CHN.
      • Under Country, select a Country Qualifier ID = SHIP_TO with a Country ID = GBR.
  • In the Controls tab:
    • Select a Value Set = ELC-VALUE SET-1

Defining Compliance Rule Set and Rule Set Group for Value Set Assignment

Create a compliance rule set and a compliance rule set group, containing the compliance rules that will assign a set of value qualifiers to the trade transaction lines/declaration lines. An example is a Compliance Rule Set = ELC-CHARGES ASSIGNMENT RULE SET-1 that includes the ELC-CHARGES ASSIGNMENT RULE-1 rule created above, and a Compliance Rule Set Group = ELC-CHARGES ASSIGMENT RULE-SET-GROUP-1 that includes the Compliance Rule Set = ELC-CHARGES ASSIGNMENT RULE SET-1.

Navigate to Master Data > Power Data > Compliance Rules > Compliance Rule Sets.

  • Compliance Rule Set:
    • Enter a Compliance Rule Set ID = ELC-CHARGES ASSIGNMENT RULE SET-1.
    • Select a Regime ID = EAR.
    • In the Compliance Rule section:
      • Select a Compliance Rule ID = ELC-CHARGES ASSIGNMENT RULE-1.

Navigate to Master Data > Power Data > Compliance Rules > Compliance Rule Set Groups.

  • Compliance Rule Set Group:
    • Enter a Compliance Rule Set Group ID = ELC-CHARGES ASSIGMENT RULE-SET-GROUP-1.
    • Select a Compliance Algorithm ID = CUMULATIVE.
    • In the Compliance Rule Set section:
      • Enter a Sequence Number = 1.
      • Select a Compliance Rule Set ID = ELC-CHARGES ASSIGNMENT RULE SET-1.
      • Select a Control Override Option = Not Allowed.
      • Select an Exception Override Type = Not Allowed.

Defining Compliance Rules with Control Category of VALUE QUALIFIER FORMULA

Define compliance rules with a control category of VALUE QUALIFIER FORMULA. These rules will assign the formulas and perform the corresponding calculation for value qualifiers assigned to the trade transaction lines/declaration lines.

For example, formulas are required to calculate the following values when shipping an item from China to Great Britain with a transport mode of AIR and Incoterms of CIF:

  • Insurance
  • FOB Value

Navigate to Master Data > Power Data > Compliance Rules > Compliance Rules.

  • Compliance Rule tab:
    • Enter a Compliance Rule ID = ELC-CHARGES FORMULA ASSIGNMENT RULE-1.
    • Select a Control Category = VALUE_QUALIFIER_FORMULA.
    • Enter Description = ASSIGNMENT OF FORMULAS TO VALUE QUALIFIERS IN ORDER TO CALCULATE TAXABLE BASE AMOUNT ON TRANSACTION LINES.
    • The Active check box is selected by default.
    • The Transaction Line check box is selected by default.
    • In the Rule Parameters section:
      • Under Transaction, select Transport Mode = AIR.
      • Under Transaction select Incoterm ID = CIF.
      • Under Countries, select a Country Qualifier ID = SHIP_FROM with a Country Code = CHN.
      • Under Countries, select a Country Qualifier ID = SHIP_TO with a Country Code = GBR.
  • Controls tab:
    • Select the following Value Qualifiers:
      • Value Qualifier = INSURANCE and Formula Expression = ELC-INSURANCE FORMULA-2 and Formula Rank = 1.0.
      • Value Qualifier = FOB VALUE and Formula Expression = ELC-FOB Value-2 and Formula Rank = 1.0.

Defining Compliance Rule Set and Rule Set Group for Value Formulas Assignment

Create a compliance rule set and compliance rule set group, which are required to run the compliance rule screening process that will assign the formulas and execute the corresponding calculations for value qualifiers on the transaction lines.

An example is a Compliance Rule Set = ELC-CHARGES FORMULA ASSIGNMENT RULE SET-1 that includes the ELC-CHARGES FORMULA ASSIGNMENT RULE-1 rule created above, and a Compliance Rule Set Group = ELC-CHARGES FORMULA ASSIGNMENT RULE SET GROUP-1 that includes the Compliance Rule Set = ELC-CHARGES FORMULA ASSIGNMENT RULE SET-1.

Navigate to Master Data > Power Data > Compliance Rules > Compliance Rule Sets.

  • Compliance Rule Set:
    • Enter a Compliance Rule Set ID = ELC-CHARGES FORMULA ASSIGNMENT RULE SET-1.
    • Select a Regime ID = EAR.
    • In the Compliance Rule section:
      • Select a Compliance Rule ID = ELC-CHARGES FORMULA ASSIGNMENT RULE-1.

Navigate to Master Data > Power Data > Compliance Rules > Compliance Rule Set Groups.

  • Compliance Rule Set Group:
    • Enter a Compliance Rule Set Group ID = ELC-CHARGES FORMULA ASSIGNMENT RULE SET GROUP-1.
    • Select a Compliance Algorithm ID = CUMULATIVE.
    • In the Compliance Rule Set section:
      • Enter a Sequence Number = 1.
      • Select a Compliance Rule Set ID = ELC-CHARGES FORMULA ASSIGNMENT RULE SET-1.
      • Select a Control Override Option = Not Allowed.
      • Select an Exception Override Type = Not Allowed.

Configuring an External System for Estimate Duty and Tax Callout

Specify the properties that are required for the callout to an external duty and tax service that will estimate duty and taxes. You need to identify the external system as well as the data elements that will be used to handle the requests and responses.

The third party content provider receives as default five categories of values:

  • COST_OF_GOODS: Extended price of the item excluding freight, insurance, and other charges.
  • FREIGHT_AMOUNT: The freight that should be considered for regular customs duty and taxes calculation.
  • DUTIABLE_FREIGHT_AMOUNT: There are instances when regulations specify that just a portion of the freight should be considered for regular customs duty and taxes calculation.
  • INSURANCE: The insurance value that should be considered for customs duty and taxes calculation.
  • OTHERS: In case there are additional values that need to be considered for customs duty and taxes calculation.

The following are the default properties to map the request:

  • gtm.dutyTax.dsg.requestMapping.valueQualifier.FOB VALUE = COST_OF_GOODS
  • gtm.dutyTax.dsg.requestMapping.valueQualifier.INSURANCE = INSURANCE
  • gtm.dutyTax.dsg.requestMapping.valueQualifier.INTL FREIGHT = FREIGHT_AMOUNT
  • gtm.dutyTax.dsg.requestMapping.valueQualifier.DUT INTL FREIGHT = DUTIABLE_FREIGHT_AMOUNT

You can add or modify these properties according to your business needs. For example, if there is no specific value qualifier for Dutiable International Freight, you can use the INTL FREIGHT value qualifier to map the FREIGHT_AMOUNT as well as the DUTIABLE_FREIGHT_AMOUNT categories from the content provider. In that case, the mapping will be:

  • gtm.dutyTax.dsg.requestMapping.valueQualifier.FOB VALUE = COST_OF_GOODS
  • gtm.dutyTax.dsg.requestMapping.valueQualifier.INSURANCE = INSURANCE
  • gtm.dutyTax.dsg.requestMapping.valueQualifier.INTL FREIGHT = FREIGHT_AMOUNT
  • gtm.dutyTax.dsg.requestMapping.valueQualifier.INTL FREIGHT = DUTIABLE_FREIGHT_AMOUNT

In addition to the value qualifiers indicated above, a Remark Qualifier of TRADE PREFERENCE from the trade transaction line/declaration line is also sent as part of the data in the request to the content provider. This value qualifier is hard coded and cannot be modified. The remark text should be the exact name of the trade program as identified by the content provider. For example, to get a duty related to North American Free Trade Agreement (NAFTA), specify the Remark Qualifier ID = TARIFF PREFERENCE with Remark Text = United States FTA agreement (option 8).

Following are the default properties to map the responses for Customs Duty, VAT, Excise Tax, Other Taxes, Harbor Maintenance Fee, and Merchandise Processing Fee. These properties are pre-seeded in the application:

  • gtm.dutyTax.dsg.responseMapping.valueQualifier.DUTY = DUTY
  • gtm.dutyTax.dsg.responseMapping.valueQualifier.EXCISE = EXCISE
  • gtm.dutyTax.dsg.responseMapping.valueQualifier.VAT = VAT
  • gtm.dutyTax.dsg.responseMapping.valueQualifier.OTHER = OTHER
  • gtm.dutyTax.dsg.responseMapping.valueQualifier.OTHER.HMF = HMF
  • gtm.dutyTax.dsg.responseMapping.valueQualifier.OTHER.MPF = MPF

Taxes sent by the content provider at header level are stored at the trade transaction/declaration header using these properties. Taxes sent by the content provider at line level are stored at the trade transaction line/declaration line using these properties.

You can add or modify these properties according to your business needs. The following convention should be used to add new properties:

  • gtm.dutyTax.dsg.responseMapping.valueQualifier.<Content Provider Category> = <Gtm Value qualifier> (or)
  • gtm.dutyTax.dsg.responseMapping.valueQualifier.<Content Provider Category>.<Specific Tax> = <Gtm Value qualifier>

The first one maps, all the taxes under the particular category to GTM value qualifier. The second one maps specific tax to GTM value qualifier.

For example, if you know that your products deal with the Petrol Excise Tax instead of the regular excise tax, you may want to modify the following property:

  • gtm.dutyTax.dsg.responseMapping.valueQualifier.EXCISE = PETROL EXCISE TAX

If you know that your products may be charged with a United States Department of Agriculture (USDA) special contribution, you may want to add the following property:

  • gtm.dutyTax.dsg.responseMapping.valueQualifier.OTHER.USDA13=ELC.AFB

The third party content provider sends the corresponding taxable based amount for customs duty in the response. The application uses the value qualifier of CUSTOMS VALUE on the trade transaction line/declaration line for the mapping. This value qualifier is pre-seeded and cannot be modified. The customs duty and taxes in the response correspond to the general rate without checking lower rates for existing trade programs.

When requesting the rate for a specific trade program using the remark qualifier TRADE PREFERENCE, the duty returned by the content provider will be the lower value between the general rate and the trade program rate. An additional statement - “General duty rate returned since it is lower than the requested tariff preference rate” - in the section Transaction History or Declaration History will indicate that the duty calculated corresponds to the general rate instead of the trade program rate.

Refer to the gtm.dutyTax properties Topic for more details.

Related Topics