--- 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://.lusid.com/api/api/funds/Growth/Equities/fees'  -H 'Content-Type: application/json-patch+json'  -H 'Authorization: Bearer '  -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[<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](/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[<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"` | |