Defining Invoice Fee Schedules

The Fee Set Up window allows defining fee schedules for the FeeConfig calculator in the context of billing fees. When the FeeConfig calculator is set on the Billing Grid, the fee schedule defined in the Fee Config panel will be used to compute the billing fee.

 

1. Fee Schedule Definition

From the Calypso Navigator, navigate to Configuration > Fees, Haircuts, & Margin Calls > Fee Set Up (menu action refdata.FeeSetUpWindow) to open the Fee Set Up window, Fee Config panel.

Sample invoice fee schedule

In this example, if the number of trades for a given broker is below 20, the fee rate will be 10, and if the number of trades is 20 or above (and below 50), the fee rate will be 8.

» Enter a configuration name and set the fee parameters as needed. They are described below.
» Then click Add to add an entry to the fee schedule. It brings up the Formula Definition dialog. It is described below.
» Click to save the configuration. The configuration will be used when the FeeConfig calculator is set on a Billing Grid, based on the selected filters.

Note that if the Authorization mode is enabled, an authorized user must approve your entry.

 

You can also click to bring up the Browse panel for loading existing configurations.

 

References

These parameters are used to compute the fee.

Fields Description

Config ID

ID of the configuration given by the system upon saving.

Name

Enter a configuration name.

Config Type

Select "Billing Fee" to generate invoice fees.

Rule Type

Select the reference amount unit:

Avg Price (unit amount).
Transactional (number of transactions).
Volume (trade amount).

 Ⓘ   [NOTE: The Maintenance and Safekeeping rules only apply to account management fees and are generated by the ACCOUNT_BILLING scheduled task on inventory positions - Please refer to Calypso Cash Management documentation "Generating Account Fees" for details]

Scale By

Select the reference amount of the fee schedule:

For Avg Price, you can select Price.
For Transactional, you can select Count.
For Volume, you can select Quantity, ConvQuantity (Trade Quantity converted to the fee currency), MarketValue (Trade Quantity * Trade Price), Notional, ConvNotional (Trade Notional converted to the fee currency), or MADVQuantity (Monthly Average Daily Volume).

The fee rate used to compute the fee at fee creation depends on the event's reference amount (notional, quantity, etc.). At the end of the billing period, a rebate can be applied to adjust the fee rate based on all the events of the period.

See Invoice Rebate and Conversion Process for details.

Range by Tenor

Check to set the fee range by tenor, or clear to set the fee range by number of days.

Range by ResidualMat Check to set the fee range by residual maturity, or clear to set the fee range by product.

Tiered

Check to indicate that the reference amount is distributed over the range, rather than applied to the absolute range.

For example, you have the following range:

0 to 1,000 - Fee rate is 10%
1,000 to 5,000 - Fee rate is 5%
5,000 and up - Fee rate is 2%

The reference amount is 7,000.

For the non-tiered method, the fee rate is 2% (5,000 and up range).
For the tiered method, the fee rate is 10% for the first 1,000 - Then 5% for the next 4,000 - Then 2% for the remaining 2,000.

Event Type

Select the event type:

For Avg Price and Volume, you can only select Trade - The fee is computed on trade events.
For Transactional, you can select Message, Trade or Transfer - The fee is computed on message events, transfers events, or trade events.

See Cash Management - Management Fees for details on account management fees.

Fee Currency

You can select a fee currency, or leave empty for ANY.

Conversion

Check if you want to convert the fee using the FX rate at the end of the billing cycle. It is converted using the fee date FX rate otherwise.

For computing the converted fee at the end of the billing cycle, you need to run the scheduled task EOD_REBATE_FEE.

See Invoice Rebate and Conversion Process for details.

Select the pricing environment for loading the FX rates. If not set, the pricing environment defined in the Billing engine will be used.

Day Count

Select a daycount as needed.

Effective From

Enter the effective start date of the configuration.

Effective To

Enter the effective end date of the configuration (optional).

Description

Enter a free form description as needed.

 

Rebate

Check the Rebate checkbox to compute a rebate on the invoice fees.

See Invoice Rebate and Conversion Process for details.

Fields Description

Rebate Type

Select the Rebate type:

Default - At the end of the billing period, a rebate is applied to adjust the fee rate based on all the events of the period (Trade period), or for each billing entry (Daily period).

Rebate Period - Select the rebate period: Trade or Daily.

Add Fee Amount By Range - To compute a billing fee by range as needed - You can select:

No - No billing fee by range.
Yes, on the fly - Billing fee by range is computed by the billing engine each time a new billing fee is attached/removed to the Billing trade. Event type is FeeConfigRange.
Yes, on rebate - Billing fee by range is computed by EOD_REBATE_FEE scheduled task. Event type is FeeConfigRange.

Range Amount Type - To define the amount type of the billing fee by range - It is set to RANGE by default. You can set to another value as needed.

Discount - A discount rebate is applied based on the total fee amount of the billing period (Trade period) or for each billing entry (Daily period), and the discount schedule.

Select the rebate period: Trade or Daily.

Click Add to add a discount entry.

Enter a minimum fee and a maximum fee and enter the discount percentage.

CapFloor - At the end of the billing period (Trade period) or for each billing entry (Daily period), a rebate is applied if the fee is not within the minimum and maximum amounts.

Select the rebate period, the currency, the cap amount, and the floor amount.

The FX rate used to convert the cap or floor amount into the settlement currency is the one available on the end date of the billing trade.

 

Billing Fee by Range

Fee billing entries are generated for each range in addition to fee billing entries for each event when Add Fee Amount By Range = "Yes, on the fly" or "Yes, on rebate".

 

The transfer attribute AccountHolderAccountId is set to the GL Account of the DDA transfer for DDA transfers of Customer Transfer trades.

The Account ID of the billing trade is set to the GL Account of the external transfer by default. If domain "BillingEvent.TransferMessageAccountSelector" contains Value = AccountHolderAccount, it is fetched from the “AccountHolderAccount” transfer attribute instead.

 

If billing account attribute LastBillingInvoiceNumber is set, the trade keyword InvoiceNumber is set to LastBillingInvoiceNumber + 1.

You can use the trade workflow rule UpdateAccountBillingInvoiceNumber to update the account attribute LastBillingInvoiceNumber from the trade keyword InvoiceNumber. It should be used on a transition where the result status is VERIFIED.

 

Filtering

These parameters are used to determine the conditions of application of the fee. You can use pre-defined filtering criteria, or a filter template.

Pre-defined criteria:

 

Fields Description

Processing Org

Select a processing organization as needed, or ALL.

Legal Entity

Select a legal entity of specified role, or ALL.

Role

Select a role.

Fee Type

Enter the fee type - The fee type must be defined in the Fee Definition window.

Exchange

Select one or multiple exchanges (legal entity of role MarketPlace), or leave empty for ALL.

Product Type

Select one or multiple product types, or leave empty for ALL.
Product groups are identified as "G. <group name>" and are created using Configuration > Product > Group.

Security ID

Enter one or multiple product IDs (separated by commas), or leave empty for ALL.

Book

Select one or multiple books, or leave empty for ALL.

Book Attr

Select one or multiple book attribute / attribute value, or leave empty for ALL.

Currency

Select one or multiple currencies, or leave empty for ALL.

Account ID

Only applies to account management fees.

Fee Date

Only applies to account management fees.

SD Filter

Select a static data filter as needed, or leave empty.

Attributes

Click to add attribute criteria as needed.

 

Filter template:

» To add a new filter template, choose > Filter category > Add. You will be prompted to enter a filter category name. Enter a name and click OK.
» Then choose > Filter fields template. You will be prompted to select a filter category previously created, and to select the filter criteria you want to use.

 

Fields Description

Filter Category

Select a filter template previously created.

Role

Select a role.

Fee Type

Enter the fee type - The fee type must be defined in the Fee Definition window.

Filter Template Criteria

Select the values for the filter criteria defined in the filter template.

In this example, the filter template contains the filter criteria Book and Strategy attribute.

 

Formula Definition

Click Add to bring up the Formula Definition dialog.

Sample formula

» Enter the parameters to define the ranges of the fee schedule. They are described below.
» You can type in the formula, or double-click variables and operators to add them to the formula. Only the displayed variables and operators can be used in the formula.
» Click OK OK when you are done.

 

Fields Description

Min Amount

Max Amount

Enter the minimum and maximum amounts of the range. It refers to the reference amount defined by the Rule Type and Scale By parameters: Count, Quantity, Notional, or Price.

No value is considered as 0 for the minimum amount, and infinite for the maximum amount.

The minimum amount is inclusive.

The maximum amount is non inclusive.

Min Tenor

Max Tenor

Min Days

Max Days

You can also select a minimum tenor and a maximum tenor to scale the fee rates by product maturity ("Range by ResidualMat" is not checked), or by residual maturity ("Range by ResidualMat" is checked).

 Ⓘ   [NOTE: For products without maturity date, the fee rates are scaled by settlement date instead]

The minimum tenor is non-inclusive.

The maximum tenor is inclusive.

When the "End Date" falls on a non-business day, its is rolled to the following business day. So in this situation the minimum tenor becomes inclusive and the maximum tenor becomes non-inclusive.

If "Range by Tenor" is not checked, you can enter a number of days instead of selecting a tenor.

Calc Unit

Enter a calculation unit when defining a fee expressed as an amount per unit.

For example 2 per million of notional: Calc Unit = 1000000 and Formula = 2*UnitNotional.

Variables

You can use the following variables in the formula depending on the selected reference amount:

Quantity

ConvQuantity (Trade Quantity converted to fee currency)

MarketValue (Trade Quantity * Trade Price)

Notional

ConvNotional (Trade Notional converted to fee currency)

MADVQuantity (Monthly Average Daily Volume)

TradeAccrual (trade Accrual field)

LegalEntityWHT (WHT rate from legal entity attribute LegalEntityTaxRate_<COUNTRY>)

WHTRate (WHT rate from Withholding Tax Configuration).

Operators

You can use the following operators in the formula: Subtract (-), Multiply (*), Add (+), Divide (/), Exponent (^), Absolute Value, Max, Min, Round, Round Up, Round Down.

 Ⓘ   [NOTE: If the fee is always paid, the formula should be defined as an absolute value]

Functions

You can select a function in Functions area and click Add to add it to the formula.

Currently, only the DayCountFactor function is available, you will be prompted to select the start date, end date and daycount.

 

2. Invoice Rebate and Conversion Process

Rebate entries and conversion entries are generated using the scheduled task EOD_REBATE_FEE.

The rebate process adjusts the fee rate / amount at the end of the billing period based on the selected rebate type.

Default - The fee rate is adjusted based on all the events of the billing period
Discount - A discount is applied based on the total fee amount and the discount schedule
CapFloor - The fee amount is adjusted if it is not within the minimum and maximum fee amount

 

The conversion process converts the fee using the FX rate at the end of the billing cycle.

 

The scheduled task EOD_REBATE_FEE must be run daily. It retrieves the billing trades for which the end date falls on the scheduled task valuation date.

The system creates new billing entries of type REBATE to book the difference between the billing fee amount originally computed and the billing fee amount computed at the end of the period, once the actual fee rate or FX rate is known, or the discount or cap floor is applied. There is one REBATE billing entry per trading book.

You can set the book attribute "Rebate Book" on the book of the original billing trade to book the rebate fee in the rebate book. If this book attribute is not set, the rebate fee is booked in the same book as the original billing trade.

Sample EOD_REBATE_FEE scheduled task setup

You need to set the following attributes:

Contract Fee = False.
Process - Select "Amount Recalc" to compute rebates, or "Conversion" to convert the fee using the FX rate at the end of the billing period.
APPLY ACTION - It is possible to specify the action to be applied in the scheduled task. For example, the billing trade could stay in PENDING status during the billing period and move to VERIFIED status once the rebate is computed, if any. This could be achieved by setting the action to AUTHORIZE for example.
LegalEntity - You can enter a legal entity ID as needed.

 

3. Example of Transactional Fee for Messages

Define a generic billing grid valid for any agent with the FeeConfig calculator.

Sample invoice billing grid

 

Make sure that the fee billing type is defined within Fee Definition.
For example, CUSTODIAN FEE.

Define the fee config with financial conditions specific to the agent.

Each message will be charged 2 USD. The final fee amount will depend on the number of messages sent at the end of the period (Scale By = Count).

Sample invoice fee schedule configuration

 

Define a billing rule with the settlement ccy (AUD in this example, meaning all fees will have to be converted from USD to AUD).

Sample contract fee rebate billing rule

 

FX.AUD.USD (10/17/2011)=1.52

FX.AUD.USD (10/24/2011)=1.51

FX.AUD.USD (10/28/2011)=1.50

The following billing trade is created:

 

Run the scheduled task EOD_REBATE_FEE on the end date of the billing period to compute the rebate. The rebate amount is computed globally but is then allocated by original trading book.

FX rate on 10/31/2011 is 1.05

 

4. Invoice Accounting Events

 

4.1 Trade Capture

The accounting event NOM_NET_EB is used to book the entry amount, on entry date, using the original trading book. The amount booked is the theoretical fee amount.

Sample NOM_NET_EB accounting event

 

To book the converted amount, it is possible to use the accounting event FXNOM_NET_EB.

Sample FXNOM_NET_EB accounting event

 

4.2 End of Billing Period

The rebate amount if any, is booked using the accounting event REBATE_EB on settle date of the billing trade, using the original trading book.

 Ⓘ   [NOTE: Rebate amounts can only be computed if you are using a Fee Config]

Sample REBATE_EB accounting event

 

4.3 Settlement

The CST UNNET accounting event can be used to book the settlement amount per original trading book.

Sample CST accounting event