Calling the Tax Determination Process

You can determine tax default parameters and calculate taxes online or in batch by calling two common routines—the tax determination function and the tax calculation function. When you determine tax defaults and calculate taxes online, the calling application must use rowsets. When you determine tax defaults and calculate taxes in batch, the calling application must use temporary tables.

The Tax Determination process is a common routine that determines tax applicability, tax calculation codes, and component codes. Calling applications can call this function in batch mode, or online from the header or transaction line level. Calling this function online from the header level enables the transaction to track at the header level tax determination information that might not vary by transaction line, such as the supplier tax transaction type.

When the calling application passes tax determination information (such as supplier tax transaction type), the tax determination function does not overwrite the value initially passed.

This section provides an overview of the Tax Determination process, and discusses:

  • Preparations necessary before calling the Tax Determination process.

  • Reapplying default tax parameters.

  • Validating transaction lines.

  • Tax Determination input parameters.

  • Tax Determination output parameters.

When an application calls the tax determination function, the process compares the ship from and ship to country, and performs the following for each row the calling application passes:

  1. If the ship from and ship to country are not the same.

  2. If the tax transaction type is defined as Interunit Transfer, no customs duty is applicable.

  3. If the ship from and ship to country are the same:

    1. The process checks the Business Unit Tax Applicability table to determine whether the business unit is customs duty applicable.

      If the business unit is not applicable for either type of tax, the function marks the appropriate tax applicable flags as No and exits.

    2. If the business unit is tax applicable, the process checks the trading partner tax applicability table to determine if the trading partner is customs duty applicable.

      If tax is applicable, the process retrieves the default tax transaction type and the trading partner's tax category. If the tax is not applicable to the trading partner for either type of tax, the function marks the appropriate tax applicable flags as No and exits.

    3. If both the business unit and the trading partner are tax applicable, and if an item or product ID were provided by the calling application, the process checks the item or product tax applicability table to determine if the item or product is customs duty applicable.

      If tax applicable, the process retrieves the item tax category. If the item or product is not applicable for any type of tax, the function marks the appropriate tax applicable flags as No and exits.

    4. If the business unit, trading partner, and item or product (if applicable) are all customs duty applicable, the process:

      Checks the Tax Determination table to determine the tax calculation code applicable for customs duty.

      Accesses the Tax Rate Code table and inserts a row into the Tax Detail child rowset for every tax detail row associated with the tax calculation code.

Prior to calling the Tax Determination process, the calling application must determine which business unit value the tax determination will use, and determine the ship from country, ship from state, ship to country, and ship to state.

Determining the Business Unit for Tax Determination

Refer to the following table to determine the correct business unit to use for tax determination:

Application

Use Business Unit

Inventory

Ship From Inventory

Order Management

  • If a Ship From Inventory business unit exists on the schedule line, use the Inventory business unit.

  • If no Ship From Inventory business unit exists on the schedule line, use the Order Management business unit.

Billing

Bill Header: Billing business unit (used only for online manual bill entry)

 

Bill Line:

  • If an Inventory business unit exists, use the Inventory business unit.

  • If no Inventory business unit exists, use the Order Management business unit.

  • If no Order Management business unit exists, use the Billing business unit.

Receivables

Group Control: Use the Receivables business unit (used for online pending item entry only).

 

Pending Item:

  • If an Order Management business unit has been specified, use the Order Management business unit.

  • If no Order Management business unit has been specified, but a Billing business has been specified, use the Billing business unit.

  • If neither an Order Management business or a Billing business has have been specified, use the Receivables business unit.

Purchasing

  • If an Inventory business unit has been defined for the ship to location, use the Inventory business unit.

  • If no Inventory business unit has been defined for the ship to location, use the Purchasing business unit.

Payables

Header: Payables business unit (for online manual entry only).

 

Transaction Lines:

  • If an Inventory business unit has been defined for the ship to location, use the Inventory business unit.

  • If no Inventory business unit has been defined for the ship to location, use the Payables business unit.

Determining the Ship From Country and State

Refer to the following table to determine the correct ship from country and state to use:

Application

Use Ship From Country, State

Inventory and Order Management

  • If an Inventory business unit is available, use the Inventory business unit location country and state.

  • If no Inventory business unit is available, use the Order Management business unit location country and state.

Billing

  • If an Inventory business unit is available, use the Inventory business unit location country and state.

  • If no Inventory business unit is available, use the Order Management business unit location country and state.

  • If no Order Management business unit is available, use the Billing business unit location country and state.

Receivables

  • If an Order Management business unit is available, use the Order Management business unit location country and state.

  • If no Order Management business unit is available, but a Billing business is available, use the Billing business unit location country and state.

  • If neither an Order Management business or a Billing business is available, use the Receivables business unit location country and state.

Purchasing and Payables

Use the country and state from the ordering supplier location.

Determining the Ship To Country and State

Refer to the following table to determine the correct ship to country and state:

Application

Use Ship From Country, State

Inventory, Order Management, Billing, and Receivables

  • Use the Ship To Customer country and state.

  • For InterUnit transfers, use the destination business unit location country and state.

Purchasing and Payables

Access the ship to location.

  • If there is an Inventory business unit specified for the ship to location, use the Inventory business unit location country and state.

  • If there is no Inventory business unit specified for the ship to location, use the ship to location country and state.

If you make changes to the trading partner information, item or product ID, tax transaction type, or to any of the tax calculation codes, you are required to call the tax determination function again to reapply defaults based on the new values.

Preparing Fields for Updated Tax Parameters

The calling application must blank out the fields related to modified information prior to calling the tax determination function.

Change To

Calling Application Responsibilities

Trading Partner

  • If the custom duty is not equal to the default tax calculation code, issue a warning that the tax determination function will overwrite the tax calculation code.

  • Blank out the tax calculation codes, use assessable value flag, tax form code, and service tax flag.

  • Delete all rows from the tax detail table for the affected transaction lines.

  • Blank out the tax authorities, tax transaction type and trading partner customs.

Note: Taxability rules may differ for trading partners. Consequently, the Tax Determination process may blank out fields related to the item (when the new trading partner is not taxable), or populate fields related to the item (when the new trading partner is taxable), even if the item did not change.

Ship To Location (for procure to pay) or Ship From Location (for order to cash)

  • If the customs duty is not equal to the default tax calculation code, issue a warning that the tax determination function will overwrite the tax calculation code.

  • Blank out the tax calculation codes, use assessable value flag, tax form code, and service tax flag.

  • Delete all rows from the tax detail table for the affected transaction lines.

  • Blank out customs duty applicability flags, tax location reporting currency, and tax authorities.

  • When the Item/Product Kit Use flag is set to I (item), blank out tax categories, and chapter ID. Zero out assessable value.

Note: The last step is applicable only when items are specified on the transaction line. Item tax applicability may be specified by Inventory business unit, or at the item master level. If you change the ship to or ship from location, the Tax Determination process might use a different business unit to determine taxability—a different Inventory business unit, an Inventory business unit where a product-specific business unit was previously used, or a product-specific business unit where an Inventory business unit was previously used. Consequently, the Tax Determination process must recheck the tax applicability of the item, even if the item had not changed.

Note: Taxability rules may differ for business units. Consequently, the tax determination function may blank out fields related to the trading partner or item (when the new business unit is not taxable), or populate fields related to the trading partner or item (when the new business unit is taxable), even if the trading partner or item did not change.

Item or Product Kit

  • If the customs duty is not equal to the default tax calculation code, issue a warning that the tax determination function will overwrite the tax calculation code.

  • Blank out the tax calculation codes, use assessable value flag, tax form code, and service tax flag.

  • Delete all rows from the tax detail table for the affected transaction lines.

  • Blank out the customs duty applicability flags customs and tax categories, and chapter ID. Zero out assessable value.

Tax Transaction Type

  • If the customs duty is not equal to the default tax calculation code, issue a warning that the tax determination function will overwrite the tax calculation code.

  • Blank out the tax rate codes, use assessable value flag, tax form code, and service tax flag.

  • Delete all rows from the tax detail table for the affected transaction lines.

  • Blank out the tax authorities flags.

Tax Calculation (Rate) Code

  • If tax calculation code was blank, issue a warning that the tax determination function will overwrite the tax calculation code.

  • If tax calculation code was not blank, blank out the use assessable value flag and tax form code. Delete all rows from the tax detail table for the affected transaction lines.

The Tax Determination routines accept as input one or more rows of transaction line data using rowsets for online processing, and temporary tables for batch processing. Each row should be populated with the following values, if available:

Field

Notes (if applicable)

Tax Defaulting Rowset/Table

Name of the Tax Defaulting rowset (online) or temporary table (batch)

Tax Default Option (online processing only)

The calling application must populate this option with one of the following values:

H (header): The tax determination function returns only the additional values on each row in the parent rowset. It returns no rows in the child rowset.

D (detail line): The tax determination function returns additional values on each row in the parent rowset and additional rows in the child rowset.

Tax Calc Date (tax calculation date)

Used for effective date processing.

Business Unit

Refers to the transaction business unit.

Tax Calc Transaction ID

For example, the invoice number for shipment.

Receiver ID

Applicable for receiving materials

Tax Calc Transaction Line Number

 

Tax Calc Schedule Line Number

If applicable.

Business Unit Type

Specifies the type of business unit associated with the customs duty business unit fields. Valid values are:

IN: inventory.

PO: purchasing.

OM: order management.

BI: billing.

AR: accounts receivable.

AP: accounts payable.

Trading Partner Type:

Valid values are:

V: supplier.

C: customer.

Trading Partner Setid

Trading Partner ID

Location or Address Seq Num

For customer, the address sequence number. For supplier, the location.

Item or Product Kit Flag

Valid values are:

I: item

P: kit

N: not applicable

Item or Product Kit ID

Benefit ID

For customs duty only.

Ship From Country

Ship From State

Ship To Country

Ship To State

Note: The following values can be copied from a prior transaction; they can be header defaults applied to the line and populated from a prior function call; or, you can manually overwrite them (specific to tax transaction type and tax rate codes). The Tax Determination process will not overwrite these values if provided by the calling application. The Tax Determination process returns these values if they are not populated by the calling function.

Field

Notes (if applicable)

Tax Transaction Type

Valid values are:

DEB: direct export with bond.

DEWB: direct export without bond.

DIMP: direct import.

DOM: domestic.

IUT: InterUnit transfer.

LEB: local export with bond.

LEWB: local export without bond.

LIMP: local import.

Trading Partner Tax Category - Customs duty

 

The Tax Determination process returns the following values, using rowsets for online processing, and temporary tables for batch processing:

Field

Notes (if applicable)

Business Unit Tax and Customs Duty Applicability (online processing only)

Applicable only when the Tax Default Option is defined as header.

Trading Partner Tax and Customs Duty Applicability (online processing only)

Applicable only when the Tax Default Option is defined as header.

Organization SetID

 

Organization Code

 

Organization Tax Location Code

 

Tax Transaction Type

If the calling application passes a value to the function in this field, the process does not overwrite the value. Valid values are:

DEB: direct export with bond.

DEWB: direct export without bond.

DIMP: direct import.

DOM: domestic.

IUT: InterUnit transfer.

LEB: local export with bond.

LEWB: local export without bond.

LIMP: local import.

Trading Partner Tax Category - Customs Duty

If the calling application passes a value to the function in this field, the process does not overwrite the value.

Item/Product Kit Tax Item Type

Valid values are:

C: capital goods.

R: raw materials.

F: finished goods.

Tax Calculation Code

 

Customs Duty Applicability Flag

Indicates whether the row is customs duty applicable.

Customs Duty Calculation Code

 

Use Assessable Value flag

The system calculates excise duty based on the assessable value. When no sales value is applied to a shipment, excise duty may still be applicable based on the value of the items. Assessable value is based on customer category, item category, or item ID.

Assessable Value

The assessable value in the currency associated with the tax location.

Conversion Rate

Conversion rate between standard unit of measure and excise unit of measure.

Service Tax Flag

 

Tax Location Reporting Currency