Providing you have suitable access control permissions, you can create an ABOR configuration module.
To do this, you must have already created a chart of accounts (CoA) with general ledger accounts, posting modules and (optionally) cleardown modules and general ledger profiles.
Subsequently, you can create an ABOR that references the ABOR configuration module.
The following methods to create a module are available:
- Method 1: Using the LUSID web app
- Method 2: Using the LUSID API
- Method 3: Using Luminesce
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 > Mapping.
- On the ABOR Configurations dashboard, click the Create abor configuration button and follow the instructions:
Using the LUSID API
- Obtain an API access token.
- Call the CreateAborConfiguration 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 (the code must be unique within the scope). - Optionally, a
displayName
anddescription
. Note these are informational fields only. - A
recipeId
that uniquely identifies a recipe able to value the portfolio(s) you intend to create an ABOR for. Note this recipe must not have theallowPartiallySuccessfulEvaluation
option set toTrue
. - A
chartOfAccountsId
that uniquely identifies a CoA. - In the
postingModuleCodes
collection, the code of at least one posting module belonging to this CoA. Note the order of multiple posting module codes is significant; LUSID evaluates the posting rules they contain in the order specified. - Optionally in the
cleardownModuleCodes
collection, the code of one or more cleardown modules belonging to this CoA. Note the order of multiple cleardown module codes is significant; LUSID evaluates the cleardown rules they contain in the order specified. - Optionally in the
properties
collection, any number of custom properties from theAborConfiguration
domain to extend the data model. Alternatively, you can add or remove properties using the UpsertAborConfigurationProperties API at any time.
- A
Consider the following example, of a module with a scope of Abor
(highlighted in red in the URL) and a code of Standard
(in yellow in the body). Note the codes of the posting modules must exist in the CoA, and posting rules in the DailyNAV
posting module are evaluated before posting rules in the EoYNAV
posting module:
curl -X POST 'https://<your-domain>.lusid.com/api/api/aborconfiguration/Abor' -H 'Content-Type: application/json-patch+json' -H 'Authorization: Bearer <your-API-access-token>' -d '{ "code": "Standard", "description": "Standard ABOR configuration module", "displayName": "Standard AborConfig", "chartOfAccountsId": { "scope": "Abor", "code": "Standard" }, "recipeId": { "scope": "Recipes", "code": "Equities" }, "postingModuleCodes": [ "DailyNAV", "EoYNAV" ], "cleardownModuleCodes": [ "EoY" ], "properties": { "AborConfiguration/Abor/AborAdministrator": { "key": "AborConfiguration/Abor/AborAdministrator", "value": { "labelValue": "Harry Jones" }, "effectiveFrom": "2020-03-05T00:00:00.0000000+00:00" } } }'
In the response, LUSID confirms the identifier of the module consists of the scope and code (highlighted in red):
{
"id": {
"scope": "Abor",
"code": "Standard"
},
"description": "Standard ABOR configuration module",
"displayName": "Standard AborConfig",
"recipeId": {
"scope": "Recipes",
"code": "Equities"
},
"chartOfAccountsId": {
"scope": "Abor",
"code": "Standard"
},
"postingModuleCodes": [
"DailyNAV", "EoYNAV"
],
"cleardownModuleCodes": [
"EoY"
],
"properties": {
"AborConfiguration/Abor/AborAdministrator": {
"key": "AborConfiguration/Abor/AborAdministrator",
"value": {
"labelValue": "Harry Jones"
},
"effectiveFrom": "2020-03-05T00:00:00.0000000+00:00",
"effectiveUntil": "9999-12-31T23:59:59.9999999+00:00"
}
},
...
}