Providing you have suitable access control permissions, you can create a fund configuration module that identifies general ledger accounts in the underlying ABOR responsible for recording activity such as dealing (subscriptions and redemptions) and P&L.
Once created, you can create a fund that references the fund configuration module.
Using the LUSID web app
Sign in to the LUSID web app as a user with suitable permissions.
From the top left menu, select Financial Reporting > Fund Configurations.
Click the Create fund configuration button to open the dialog and specify a Scope, Code and Display Name.
In the Dealing Filters section, click the Add button and add at least one filter identifying general ledger account(s) recording dealing activity, for example a subscriptions account. Note the Filter ID can be any meaningful string, and the syntax and allowed values for filter expressions are documented below:
Optionally, click the Add button again to add more filters identifying accounts recording dealing activity, for example a redemptions account. Note the order in which multiple dealing filters are specified is significant; LUSID uses the first matching filter found, so if you have more than one you might want to change the order using the drag handles:
In the PnL Filters section, click the Add button and add at least one filter identifying general ledger account(s) recording P&L activity.
Click the Create button to create the fund configuration module in the list.
Note: Do not add Back Out Filters for now.
Using Luminesce
You can use the Lusid.FundConfiguration.Writer provider.
Using the LUSID API
Call the CreateFundConfiguration API, specifying a scope in the URL and, in the body of the request:
A
code
that, together with the scope, uniquely identifies the module in LUSID.A
displayName
and, optionally, adescription
.In the
dealingFilters
collection, a set of filters identifying dealing accounts in the underlying ABOR. Note the order in which filters are specified is significant; LUSID uses the first matching filter found. Each rule must consist of:A
filterId
that uniquely identifies the rule in the set.A
filter
expression. Syntax and allowed values.
In the
pnlFilters
collection, a set of rules identifying P&L account(s) in the underlying ABOR in the same way as above.Optionally in the
properties
collection, any number of custom properties from theFundConfiguration
domain to extend the data model. Alternatively, you can add or remove properties independently using the UpsertFundConfigurationProperties API.
Note: Set
backOutFilters
to an empty collection for now.
Consider the following request, of a fund configuration module with a scope of MyFunds
(in the URL) and a code of StandardFundConfig
(in the body):
curl -X POST 'https://<your-domain>.lusid.com/api/api/fundconfigurations/MyFunds'
-H 'Content-Type: application/json-patch+json'
-H 'Authorization: Bearer <your-API-access-token>'
-d '{
"code": "StandardConfigModule",
"displayName": "Standard Fund Configuration",
"dealingFilters": [
{
"filterId": "SUBS",
"filter": "generalLedgerAccountCode eq '3-Subscriptions'"
},
{
"filterId": "REDS",
"filter": "generalLedgerAccountCode eq '4-Redemptions'"
}
],
"pnlFilters": [
{
"filterId": "PnL",
"filter": "generalLedgerAccountCode eq '5-PnL'"
}
],
"backOutFilters": []
}'
Providing the request is successful, the response confirms the unique ID of the entity consists of its scope and code:
{
"id": {
"scope": "MyFunds",
"code": "StandardConfigModule"
},
"displayName": "Standard Fund Configuration Module",
...
}
Syntax and allowed values
The syntax of a filter
expression is:
<attribute> <operator> <value>
...where:
<attribute>
and<value>
are explained in the table below.<operator>
is one of the LUSID filter operators.
Note the following:
A
filter
expression is case-insensitive.A string
<value>
must be enclosed in single straight quote marks (the%27
UTF-8 encoding).You can concatenate expressions using the
and
andor
operators. If you use both, standard boolean operator precedence applies.
| Data type | Example expression | Explanation/origin of |
---|---|---|---|
An account field | System-defined |
| This can be any of the stored fields for an account, prefixed by |
An account property | User-defined |
| This can be any property with a 3-stage key in the |
An ABOR property | User-defined |
| This can be any property with a 3-stage key in the |