How do I add a fee to a fund or to share classes?

Prev Next

You can add a fee (for example, a legal, admin or management fee) to:

  • A fund, in which case the fee amount is apportioned across all share classes according to the capital ratio.

  • One or some share classes in a fund, in which case the fee amount is apportioned across just those share classes.

A fee can either be:

  • For a fixed amount, for example £25,000.

  • For a percentage of an amount, for example 2.5% of fund GAV, or fund NAV, or fund GAV after all other fees are deducted. More information.

Recommended reading: Tutorial on adding fees and posting fee transactions

Call the CreateFee API, for example:

curl -X POST 'https://<your-domain>.lusid.com/api/api/funds/Growth/Equities/fees'
  -H 'Content-Type: application/json-patch+json'
  -H 'Authorization: Bearer <your-API-access-token>'
  -d '{
  "code": "MyLegalFee",
  "feeTypeId": {
    "scope": "MyFeeTypes",
    "code": "LegalFees"
  },
  "shareClasses": ["ShareClassA", "ShareClassB"]
  "displayName": "Percentage legal fee",
  "treatment": "Daily",
  "payableFrequency": "Quarterly",
  "accrualCurrency": "GBP",
  "businessDayConvention": "Previous",
  "feeRatePercentage": 0.01,
  "calculationBase": "GAV"
}'
JSON

Navigate to Fund Accounting > Fees & Expenses and click the Create fee button, for example:

Write a Luminesce SQL query using the Lusid.Fund.Fee.Writer provider and execute it using a tool such as the LUSID web app:

This section supplements the API documentation and on-screen help text in the LUSID web app.

The feeTypeId must reference a pre-existing fee type determining how LUSID automatically generates accrual and payable fee transactions.

LUSID API only: Populate the shareClasses collection with short codes to add the fee to one or more share classes in a fund. If you omit this field, the fee is applied to the whole fund.

To specify a:

  • Fixed fee, specify the totalAnnualAccrualAmount field.

  • Percentage fee, specify the feeRatePercentage (as a decimal, for example 0.2 for 20% or 0.01 for 1%) and calculationBase fields. More information.

The businessDayConvention field determines whether fee accruals are calculated for weekends or not. Specify Previous to add daily accruals for Saturday and Sunday to the total for Friday, and Following to add them to the total for Monday. Specify None to treat weekends as normal business days.

If you omit portfolioId, LUSID automatically generates accrual and payable transactions in the first portfolio registered with the underlying ABOR.

If you omit anchorDate, LUSID uses 1 January for payable transactions. A fee paid annually pays on this date. A fee paid quarterly first pays on this date, and then at 3 month intervals, so for example 1 April, 1 July and 1 October. A fee paid monthly first pays on this date and then on the same day each month, for example 1 February, 1 March and so on. You can change 1 January to any other day and month combination.

If you omit endDate, a fee is valid forever.

You can extend the data model of a fee by adding custom properties from the Fee domain. Alternatively, you can add or remove properties independently using the UpsertFeeProperties API.

Once created, you can call the PatchFee API, but only to change the endDate. To change any other attribute you must delete and re-create the fee.

The calculationBase field determines the amount to calculate a percentage from. Note you can optionally combine the allowed values in the table below using mathematical operators, for example:

  • "calculationBase": "GAV - Fees[MyLegalFee].Amount - Fees[MyAdminFee].Amount"

  • "calculationBase": "(GAV + Dealing[SUBS]) - Fees[MyAdminFee].Amount"

  • "calculationBase": "(Amount / 2) + Fees[MyLegalFee].TotalAccrual"

  • "calculationBase": "ShareClass.Fees[MyLegalFee].CalculationBase * 5"

Category

Allowed value syntax

Example value

Notes

GAV

GAV

ShareClass.GAV

"calculationBase": "GAV"

"calculationBase": "ShareClass.GAV"

The Gross Asset Value of the fund or share class at the current valuation point.

NAV

Amount

ShareClass.PreviousNAV

"calculationBase": "Amount"

"calculationBase": "ShareClass.PreviousNAV"

The Net Asset Value (NAV) of the fund or share class at the previous valuation point.

Subscriptions
and redemptions

Dealing[<dealing-name>]

ShareClass.Dealing[<dealing-name>]

"calculationBase": "Dealing[SUBS]"

"calculationBase": "ShareClass.Dealing[SUBS]"

The value of the general ledger account referenced by the named dealing filter when applied to the fund or share class journal entry lines at the current valuation point.

Fees

Fees[<fee-name>].Amount

ShareClass.Fees[<fee-name>].Amount

"calculationBase": "Fees[MyLegalFee].Amount"

"calculationBase": "ShareClass.Fees[MyLegalFee].Amount"

The value accrued by another, named fund or share class fee during the current valuation point.

Fees[<fee-name>].TotalAccrual

ShareClass.Fees[<fee-name>].TotalAccrual

"calculationBase": "Fees[MyLegalFee].TotalAccrual"

"calculationBase": "ShareClass.Fees[MyLegalFee].TotalAccrual"

The value accrued by another, named fund or share class fee since fund inception up to the current valuation point.

Fees[<fee-name>].PreviousTotalAccrual

ShareClass.Fees[<fee-name>].PreviousTotalAccrual

"calculationBase": "Fees[MyLegalFee].PreviousTotalAccrual"

"calculationBase": "ShareClass.Fees[MyLegalFee].PreviousTotalAccrual"

The value accrued by another, named fund or share class fee since fund inception up to the previous valuation point.

Fees[<fee-name>].CalculationBase

ShareClass.Fees[<fee-name>].CalculationBase

"calculationBase": "Fees[MyLegalFee].CalculationBase"

"calculationBase": "ShareClass.Fees[MyLegalFee].CalculationBase"

Inherits the calculation base formula of another, named fund or share class fee.

Other

A constant value

"calculationBase": "100000"