Providing you have suitable access control permissions, you can add one or more posting modules containing posting rules to an existing chart of accounts (CoA).
Subsequently, you can create an ABOR configuration module that references the CoA and any of its posting modules.
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 Posting Modules dashboard, select the parent Chart of Accounts from the dropdown (highlighted in red below).
Click the Create posting module button and follow the instructions:
You can add posting rules in the Create Posting Module dialog, but it might be easier to navigate to the Posting Rules dashboard instead, selecting the parent Chart of Accounts and Posting Module from their respective dropdowns (highlighted in red below).
Click the Create posting rule button and follow the instructions:
Using Luminesce
You can use the Lusid.PostingModule.Writer provider to create a posting module and then the Lusid.PostingModule.Rule.Writer provider to set posting rules.
Using the LUSID API
Call the CreatePostingModule API, specifying the scope and code of the parent CoA in the URL and, in the body of the request:
A
code
that uniquely identifies the posting module in the CoA.A
displayName
and, optionally, adescription
. Note these are informational fields only.In the
rules
collection, a set of posting rules. Note the order in which posting rules are specified is significant; LUSID uses the first matching posting rule found. Each posting rule must consist of:A
ruleId
that uniquely identifies the posting rule in the posting module.An
account
to post the credit or debit to.A
ruleFilter
specifying a rule. More information.
Note: Once a posting module is created, you can change the display name, description and status using the SetPostingModuleDetails API. You can specify a new set of posting rules using the SetPostingModuleRules AP. Note calls to these APIs replace existing information, so include any fields you want to retain in requests.
Consider the following example, of a posting module added to a CoA with a scope of Abor
and code of Standard
(in the URL), and a code itself of DailyNAV
(in the body). The posting module has three posting rules, evaluated in the order specified:
curl -X POST 'https://<your-domain>.lusid.com/api/api/chartofaccounts/Abor/Standard/postingmodules'
-H 'Content-Type: application/json-patch+json'
-H 'Authorization: Bearer <your-API-access-token>'
-d '{
"code": "DailyNAV",
"displayName": "Daily NAV posting module",
"description": "This is a posting module for daily NAV",
"rules": [
{
"ruleId": "rule_10001",
"account": "Other-Investments",
"ruleFilter": "EconomicBucket startswith 'NA' and HoldType neq 'P'"
},
{
"ruleId": "rule_10002",
"account": "Cash",
"ruleFilter": "EconomicBucket startswith 'NA' and HoldType eq 'B'"
},
{
"ruleId": "rule_10003",
"account": "Commitments",
"ruleFilter": "EconomicBucket eq 'NA_Cost' and HoldType eq 'C'"
}
]
}'
In the response, LUSID confirms the unique identifier of the posting module in the CoA:
{
"postingModuleCode": "DailyNAV",
"chartOfAccountsId": {
"scope": "Abor",
"code": "Standard"
},
"displayName": "Daily NAV posting module",
"description": "This is a posting module for daily NAV",
"rules": [
{
"ruleId": "rule_10001",
"account": "Other-Investments",
"ruleFilter": "EconomicBucket startswith 'NA' and HoldType neq 'P'"
},
{
"ruleId": "rule_10002",
"account": "Cash",
"ruleFilter": "EconomicBucket startswith 'NA' and HoldType eq 'B'"
},
{
"ruleId": "rule_10003",
"account": "Commitments",
"ruleFilter": "EconomicBucket eq 'NA_Cost' and HoldType eq 'C'"
}
],
"status": "Active",
...
}