Defining Withholding Tax Fees

Withholding tax fees can be applied automatically to interest cashflows. This section describes the setup and generation of withholding tax fees for INTEREST cashflows on Money Market trades and Sec Finance trades.

 Ⓘ   [NOTE: The Withholding Tax setup for corporate actions on bonds is described in the Calypso Fixed Income documentation and is a different process]

 

1. Before you Begin

The following settings are required to generate Withholding Tax fees.

 

Environment Property

The withholding tax process is enabled if the environment property WITHHOLDINGTAX is set to true.

 

Counterparty

You can identify multiple categories of withholding taxes using the legal entity attribute WHT-Category, and use it in a static data filter in the fee grid definition.

 

Flow Type

You need to add WITHHOLDINGTAX to the domain "flowType". A cashflow of type WITHHOLDINGTAX will be generated based on the fee grid criteria.

 Ⓘ   [NOTE: The flow type must be the same as the fee type]

 

Authorizing Withholding Tax Attributes

In order for the Authorization mode to apply to withholding tax attributes, you need to add “WithholdingTaxAttribute” to the domain “classAuthMode”.

 

2. Fee Definition

Define a fee type WITHHOLDINGTAX for the role Counterparty as shown below. You can define multiple fees with different names.

» Check only Transfer and Accounting.
» Select the FeeGrid calculator.

 

2.1 Withholding Tax Attributes

You can define a number of withholding tax attributes with a validity period. Multiple fee grids can be defined based on the values of these attributes (through the use of static data filters). Changes to these attributes will be reflected in the WHT calculation.

From the Calypso Navigator, navigate to Configuration > Fees, Haircuts, & Margin Calls > Withholding Tax Attributes (menu action refdata.WithholdingTaxAttributeWindow) to define withholding tax attributes.

 

2.2 Tax Registration

In order to register Cash trades with the tax office (Japanese and Indonesian requirements), the event type action “Tax Registration” has been added to cash trades. Choose Cash > Tax Registration in the Trade Cash window to apply the “Tax Registration” action. The static data filter element “Is Tax Registered” allows applying different fee grids whether the trade is registered or not.

 

2.3 Fee Grid Definition

From the Calypso Navigator, navigate to Configuration > Fees, Haircuts, & Margin Calls > Fee Set Up, and select the Fee Grid panel to define a fee grid for the counterparty.

» Check the “WithHolding Tax” checkbox.
» Select the WITHHOLDINGTAX fee type.
» You can set the fee grid attribute DefaultLegalEntity to a legal entity short name to pay the tax to a given legal entity. Otherwise, the tax will be paid to the counterparty.
» You can set a static data filter on the legal entity attribute WHT-Category, the flow type INTEREST, and the direction.

For example:

CPTY_ATTRIBUTE.WHT-Category = 1
Buy/Sell = Buy
Xfer Type = INTEREST
» You can set static data filters based on the withholding tax attributes using the static data filter elements: PO_WHT_BOOK_ATTRIBUTE, PO_WHT_LE_ATTRIBUTE, CPTY_WHT_ACCOUNT_ATTRIBUTE, and CPTY_WHT_LE_ATTRIBUTE.

 Ⓘ   [NOTE: These static data filter elements only apply to CASH interest cashflows, not SECURITY cashflows]

» You can set static data filters based on the “Is Tax Registered” static data filter element to apply different fee grids whether the trade is registered or not.
» If the Authorization mode is enabled, an authorized user must approve your entry.

 

Rounding by Unit

A specific fee calculator has been implemented to handle rounding conventions different than the Ccy decimals: WHTRoundToUnit. In order to use this fee calculator, you must configure the WITHHOLDINGTAX fee with:

Feed Grid attribute WHT_USE_CALCULATOR = true
Fee Grid Calculator = WHTRoundToUnit (you may need to add it to the domain “feeCalculator”)

 

Truncating by Unit

A specific fee calculator has been implemented to allow truncating the tax amount: WHTTruncateToUnit. In order to use this fee calculator, you must configure the WITHHOLDINGTAX fee with:

Feed Grid attribute WHT_USE_CALCULATOR = true
Fee Grid Calculator = WHTTruncateToUnit (you may need to add it to the domain “feeCalculator”)

 

3. Netting

INTEREST and WITHHOLDINGTAX transfers should be netted.

 

4. Pricer Measures

The WITHHOLDINGTAX pricer measures can be created from the Calypso Navigator using Configuration > System > Add Pricer Measure. The class is tk.pricer.PricerMeasureWithholdingTax, and the ID should be an ID not already in use.

 

5. Accounting

The accounting event WITHHOLDINGTAX is triggered by VERIFIED_TRADE, CANCELED_TRADE, TERMINATED_TRADE, and RATE_RESET.

If you have defined multiple fees, define multiple accounting events with "Fee Related Event" checked, in the form:

"<CAPITALIZE_INT_TAX>_<Name of WHT Tax Fee>”.

For example: CAPITALIZE_INT_TAX_WHT if the fee is defined as “WHT”.