---
title: "How do I add a fee to a fund or to share classes?"
slug: "how-do-i-add-a-fee-to-a-fund"
updated: 2025-09-10T14:15:31Z
published: 2025-09-10T14:15:31Z
canonical: "support.lusid.com/how-do-i-add-a-fee-to-a-fund"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://support.lusid.com/llms.txt
> Use this file to discover all available pages before exploring further.

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

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](/v1/docs/how-do-i-add-a-fee-to-a-fund#appendix-specifying-a-calculation-base-for-a-percentage-fee).

**Recommended reading**: [Tutorial on adding fees and posting fee transactions](/v1/docs/adding-fees-to-a-fund-and-automatically-posting-fee-transactions)

## Methods

LUSID web appLUSID APILuminesce

Call the [CreateFee](https://www.lusid.com/docs/api/lusid/endpoints/funds/CreateFee) API, for example:

```json
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"
}'
```

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

![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image-LRPZBO25.png)

Write a Luminesce SQL query using the [Lusid.Fund.Fee.Writer](/v1/docs/lusidfundfeewriter) provider and execute it using a tool such as the LUSID web app:

![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image(833).png)

## Data fields and properties

This section supplements the [API documentation](https://www.lusid.com/docs/api/lusid/endpoints/funds/CreateFee) and on-screen help text in the LUSID web app.

### Mandatory fields

The `feeTypeId` must reference a pre-existing [fee type](/v1/docs/how-do-i-create-a-fee-type) determining how LUSID automatically generates accrual and payable fee transactions.

To specify a:

- Fixed value 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](/v1/docs/how-do-i-add-a-fee-to-a-fund#appendix-specifying-a-calculation-base-for-a-percentage-fee).

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.

### Optional fields

If you omit `portfolioId`, LUSID automatically generates accrual and payable transactions in the first portfolio [registered with the fund](/v1/docs/how-do-i-create-a-fund).

If you omit the `shareClasses` collection with one or more [short codes](/v1/docs/how-do-i-create-a-fund-share-class-as-an-instrument), the fee is applied to the whole fund.

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.

### Properties

You can extend the data model of a fee by adding [custom properties](/v1/docs/properties) from the `Fee` domain. Alternatively, you can add or remove properties independently using the [UpsertFeeProperties](https://www.lusid.com/docs/api#operation/UpsertFeeProperties) API.

## Subsequent updates

Once created, you can call the [PatchFee](https://www.lusid.com/docs/api#operation/PatchFee) API, but only to change the `endDate`. To change any other attribute you must delete and re-create the fee.

## Appendix: Specifying a calculation base for a percentage 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[&lt;dealing-name&gt;]` `ShareClass.Dealing[&lt;dealing-name&gt;]` | `"calculationBase": "Dealing[SUBS]"` `"calculationBase": "ShareClass.Dealing[SUBS]"` | The value of the general ledger account referenced by the named [dealing filter](/v1/docs/how-do-i-create-a-fund-configuration-module) when applied to the fund or share class journal entry lines at the current valuation point. |
| Fees | `Fees[&lt;fee-name&gt;].Amount` `ShareClass.Fees[&lt;fee-name&gt;].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[&lt;fee-name&gt;].TotalAccrual` `ShareClass.Fees[&lt;fee-name&gt;].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[&lt;fee-name&gt;].PreviousTotalAccrual` `ShareClass.Fees[&lt;fee-name&gt;].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[&lt;fee-name&gt;].CalculationBase` `ShareClass.Fees[&lt;fee-name&gt;].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"` |  |
