Call Accounts Processing
A number of processes are available on call accounts.
Call Accounts are defined in the Account window.
See Defining Call Accounts for details.
1. Call Account Closure
The call account closure is a two-step process: You first suspend the call account, then you close the account. The closure date is always the system date.
1.1 Suspending a Call Account
Load a call account in the Account window and choose Process > Closure Process > Close. You will be prompted to confirm suspending the call account.
As a result the system stops accruing interest, sets the theoretical balance to 0, and moves the account status to "Suspended".
The system checks if there are transfers (linked to any product except InterestBearing) which are not settled on this account or exist in the future. If this is the case, the process is stopped and the system opens a report with the list of transfers that require a manual action (SETTLE or ASSIGN).
The system retrieves the open interest bearing trades linked to the account, updates their settle date and end Date (dates are set to Today), and adds a trade keyword to the trades to allow the user to identify it (AccountClosure = YES).
The system creates a Customer Transfer trade to set the theoretical balance to 0 (with default SDIs), and adds the trade keyword AccountClosure.
The Call Account definition is amended:
• | The ValidTo date of all valid account interest configs is set to "Today - 1 calendar day". |
• | The ActiveTo date of the account is set to Today (it updates the ActiveTo date of the linked SDIs also). |
• | The account status is set to "Suspended" - Status stored in the domain "AccountSuspendedStatus". |
If there is no interest bearing trade associated with the call account, an error message is displayed to prevent the account closure. If you have the access permission PerformForceAccountClosure, you will be prompted to force the closure of the account.
1.2 Closing a Call Account
To close the call account, load a "Suspended" account and set the status to "Closed" (status stored in the domain "accountClosedStatus").
Then save the account.
The system checks again that there are no open transfers/positions on the account. This implies that all trades linked to closure (CustomerTransfer and Interest Bearing trades marked as "AccountClosure") must be SETTLED before moving the Actual Position on the Account to zero. The system will only allow that final closure step when all positions are null.
To close the call account with Non-Zero Security Positions, you need to manually add value CHECK_SEC_POSITION_FOR_CALL_ACCOUNT in the domain AccountSetup with comment = true. The default is false.
1.3 Undoing Call Account Closure
You can undo the account closure of a "Suspended" account.
Load a "Suspended" call account and choose Utilities > Process > Closure Process > Undo.
This process cancels the Customer Transfer trade created by the Closure process, and moves the account status to its previous state "Active".
It updates the following information:
• | The end date/settle date of the current Interest Bearing trade and therefore reverses the transfers if needed. |
• | The ValidTo date of the linked SDIs. |
• | The validTo date of the call account. |
1.4 Re-Opening a Call Account
You can re-open a "Closed" account.
Load a "Closed" call account and choose Utilities > Process > Closure Process > Re-Open.
The process moves the account status to "Active".
It updates the following information:
• | The end date/settle date of the current Interest Bearing trade and therefore reverses the transfers if needed. |
• | The ValidTo date of the linked SDIs. |
• | The validTo date of the call account. |
2. Call Account Dormant Process
The scheduled task ACCOUNT_DORMANT moves an account to the Dormant status if there is no activity (except interest capitalization) for the last year (or using the "From Days" field) based on the "last movement date".
As indicated in the setup requirements of call accounts, to activate the dormant process, you need to add the transfer workflow rule SetAccountMvtDate on the "SETTLE" transition in the DDA transfer workflow. It sets the "last movement date" each time an account is debited / credited as the Last Calendar Day of the month of the settle date of the transfer when the movement is settled.
The "last movement date" is displayed in the Account window.
A user can amend this date provided the user has the access permission UpdateAccountDormantDates.
Scheduled task attributes:
• | DORMANT PROCESS - True or false. True to run the Dormant process, and false to run the reactivation process. |
• | ACCOUNT STATUS - Resulting status of the process (Dormant if DORMANT PROCESS is true, or Active if DORMANT PROCESS is false). |
• | DORMANCY TASK - Not used - False by default. |
True or false. True to run the Dormant process in Authorization mode. It will create an authorization task.
You can use Process > Dormant Process > Accept Dormancy to accept the authorization task, if any, or Process > Dormant Process > Reject Dormancy to reject it.
• | ACCOUNT TYPE - Select CALL_ACCOUNTS or leave empty. |
You can use Process > Dormant Process > Re-Activate to re-activate a dormant account.
3. Call Account Archive
The scheduled task ARCHIVE_CALLACCOUNT allows archiving "Closed" call accounts.
This scheduled task does not have any attributes.
It loads all non archived "Closed" call accounts with an Active To date less than Valuation Date - "From Days". Then it checks if all related trades are already archived (except the Call Account trades). If so, it archives the Call Account trades and the Call Accounts.
4. Full Balance Withdrawal
To withdraw the full balance amount of an account, the user will have to open a Full Balance Withdrawal Customer Transfer from the Account window using Process > Full Balance Withdrawal.
You will be prompted to enter the value date, and a Customer Transfer Window will be opened with the theoretical balance on the selected date as principal.
By default, the Capitalize Interest checkbox is checked, as a consequence the full amount will include interests until "value date - 1 day". If false, no interest will be capitalized.
The trade keyword FullBalance is set to "To Be Processed".
The scheduled task ACCOUNT_FULL_BALANCE is then used to update the full balance customer transfer trade (on value date - 1 day):
• | It loads Full Balance Customer Transfer Trades (with FullBalance keyword = "To Be Processed", and Value Date that falls on the next business day according the calendar attached to the scheduled task). |
• | For each of them, the system retrieves the ACTUAL balance (on Value Date). |
• | If the balance is negative, then the system cancels the trade. |
• | Then, if Capitalize Interest checkbox is true, the system retrieves the current Interest Bearing trade and: |
– | Add a PARTIAL_SETTLE entry. |
– | Add this Interest Bearing partial settle amount + balance retrieved to compute the total withdrawal amount and subtract all the fees on value date related to the Customer Transfer Trade. |
• | Then it amends the Customer Transfer trade with the total amount. |
5. Accounting
5.1 Accounting Balance
Balance Computation
We compute a “Posting†Balance for each DDA/Call Account in real-time using the Balance engine or at the End of Day using the Scheduled Task BALANCE.
If the Balance engine is used, please check the Event Configuration to make sure the Balance engine subscribes to Accounting Events: BalanceEngine / PSEventAccounting.
We compute the Balance daily for each DDA/Call Account:
• | Based on the Account Configuration which has to be set with: |
– | Balance flag = Y |
– | Freq = DLY |
– | Day = 1 |
– | Roll = NO_CHANGE |
• | Based on a CALL_ACCOUNT_BALANCE Accounting Rule to be defined as follows. |
We use the Static Data Filter XferIsDDA to compute the Balance for DDA/Call Account only.
5.2 Balance Report
In order to display Debit Balance with sign + and Credit Balance with sign (-), you need to set the environment property USE_CREDIT_POSTING_AS_NEGATIVE to true.
To see the Balance for a DDA Account you can choose Reports > Account Balance Report in the Accounts window.
5.3 Reclassification Process
Reclassification Accounting Events
In order to post the Asset/Liability and Reclassification Accounting Events when the Call Account is swinging from Debit to Credit or vice-versa, we have added the following Accounting Events for the product call account:
Events |
Description |
Trigger |
RECLASS_ASSET |
Effective Date = Scheduled Task Valuation Date Amount = Movement of the Day when Balance is an Asset Currency = Trade Currency |
BALANCE_RECLASSIFICATION |
RECLASS_LIABILITY |
Effective Date = Scheduled Task Valuation Date Amount = Movement of the Day when Balance is a Liability Currency = Trade Currency |
BALANCE_RECLASSIFICATION |
RECLASS_ACCOUNT |
Effective Date = Scheduled Task Valuation Date Amount = Previous Day Balance when Swinging Balance Currency = Trade Currency |
BALANCE_RECLASSIFICATION |
Reclassification Accounting Rule
Balance Reclassification Scheduled Task
Based on the balance computed in real-time, the scheduled task BALANCE_RECLASSIFICATION sends PSEventBalanceReclassification events to the Accounting Engine, triggering the RECLASS_ASSET, RECLASS_LIABILITY and RECLASS_ACCOUNT postings.
Account Balance Template
From the Calypso Navigator, navigate to Reports > Accounting Reports > Account Balance and define a default template for the Balance report used as a reference/input for the BALANCE_RECLASSIFICATION Scheduled Task.
You must define the balance report templates with:
• | Start Date set to -0D |
• | End Date set to +0D |
• | Date = BOOKING_DATE |
• | Trial Balance = clear (unchecked) |
• | No Processing Org - No Legal Entity - No Account Type - No Account Name - No Currency, as the template must be generic. |
Save this template as public and set it as default.
Scheduled Task
Then go to the scheduled task BALANCE_RECLASSIFICATION and select that template in the attributes part of the scheduled task.
Then from the Calypso Navigator, navigate to Configuration > System > Event Configuration and add PSEventBalanceReclassification as event to be subscribed by the Accounting Engine.
Reclassification Posting Report
The posting report allows seeing all postings type RECLASS_ASSET, RECLASS_LIABILITY and RECLASS_ACCOUNT for a specific Call Account.
From the Account itself, we have added in the menu Utilities the possibility to open the related Posting report for that Trade/Account Id.
You can also reach the posting report using Reports > Accounting Reports> Posting Report, and load the posting for a specific Call Account using the Trade Id. Indeed, Reclassification postings are attached to the Call Account Id and can be loaded using the Trade Id = Call Account Id.
Example
Below we consider the following Balance made up of the 5 movements on the Call Account 60494 .
The posting report allows seeing the RECLASS_ASSET, RECLASS_LIABILITY and RECLASS_ACCOUNT entries.
5.4 Interest Bearing Postings
In addition to the Reclassification Accounting Rule, we will also need the following accounting rules to be able to produce all the necessary postings regarding Interest Accrual, Interest Capitalization and Withholding Tax. To do so, you would need the following rules:
• | ACCRUAL is produced everyday on the Interest Bearing Trade associated with each call account; ACCRUAL entries are attached to the Interest Bearing Trade. |
• | INTEREST is produced on the Interest Bearing Trade with Effective Date = Capitalization Date; as soon as SETTLED, the Interest amount impact the Call Account Balance. |
• | WHT2 is produced on the Interest Bearing Trade with Effective Date = Capitalization date; as soon as SETTLED, the Withholding Tax amount impacts the Call Account Balance. |
• | INTEREST_RECEIVED, INTEREST_PAID can be used to distinguish interest paid or received by the account holder. |
• | ACCRUAL_PAYABLE, ACCRUAL_RECEIVABLE accounting events can be fed by the pricing measures ACCRUAL_PAYLEG and ACCRUAL_RECLEG. |