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 ![]() |
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:
Ⓘ [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:
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.
|
|||||||||||||||
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:
The reference amount is 7,000.
|
|||||||||||||||
Event Type |
Select the event type:
|
|||||||||||||||
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.
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:
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:
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.
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.
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. |
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 |
Filter template:
» | To add a new filter template, choose ![]() |
» | Then choose ![]() |
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