Reconciliation Management
Reconciliation configuration creation
Reconciliation configuration should be performed in order to run the reconciliation process.
Only one configuration can exist for transaction reconciliation and a one configuration per each currency for balance reconciliation.
Reconciliation configuration is created automatically:
- For balance reconciliation, the configuration is created when creating currency. It is created with frequency NONE.
- For transaction reconciliation, the configuration is created during system setup.
If the reconciliation configuration was not created for any reason, it can be created by calling the API.
To create reconciliation configuration, the following parameters should be provided:
- reconciliation type, asset for balances reconciliation and transactions for transactions reconciliation
For transaction reconciliation type, no other parameters are required.
For asset reconciliation type, the following parameters should be provided:
- Internal currency ID
- Reconciliation frequency:
- NONE – reconciliation record won’t be created automatically.
- DAILY – reconciliation record will be created every day, reconciliation period – calendar day
- WEEKLY – reconciliation record will be created every Monday, reconciliation period – from Monday to Sunday
- MONTHLY – reconciliation record will be created every first day of the month, reconciliation period – calendar month
- BIMONTHLY – reconciliation record will be created every two months, reconciliation period – two calendar months
Reconciliation frequency for existing configurations can be changed on UI or by calling API.
Reconciliation record
Reconciliation record for balances reconciliation is created automatically according to the reconciliation frequency.
If the frequency is set as NONE, the system won’t create new reconciliation periods.
The reconciliation record is created by system timer that is set for a daily run at 01:00 AM and at 07:00 AM.
This setting can be changed using the following environment variable:
reconciliation: period-creation-timer: enabled: true schedule-expression: '0 0 1,7 * * ?' # cron expression
Every time the scheduled date is reached the System generates a new reconciliation record with calculated periods (due to the selected frequency) in the status “Not started” and sends the email notification reminder to the responsible user.
If the timer is not set or the reconciliation record has not been created for any reason, it can be created by calling the API.
Reconciliation record for transaction reconciliation is not created automatically and should be created by calling the API.
Reconciliation record statuses:
Status | Transition | Description |
Not started | In progress | reconciliation for the period was not started, valid for balances reconciliation |
In progress | Warning
Reconciled Error |
Reconciliation for the period is in progress |
Warning | In progress
Resolved |
For balances reconciliation, the discrepancy is detected after reconciliation is done, the user is allowed to start the process again and provide the corrected Liquidity amount.
For transaction reconciliation, mismatches are created. The user can resolve mismatches to change status to Resolved. |
Reconciled | – | Reconciliation was done without any discrepancy or mismatch |
Resolved | – | All mismatches were resolved (this status will be implemented in the further versions) |
Error | – | Reconciliation process was not finished, error occurred. |
Email notification
When the reconciliation period ends, the system sends reminder emails.
A reminder email is sent by a timer that runs daily at 6 AM to check for periods that ended the previous day. If any are found, it will generate an email with the following text (a reminder email will be sent to the system administrator’s email address as specified in their profile):
Subject: Asset [asset name] reconciliation remainder Message: Dear team member! The scheduled reconciliation period for the [asset name] asset is closed. Please reconcile the liquidity amount of the [asset name] for the period [reconciliation period]. In the case of an erroneous request, please ignore this email. Sincerely, [application name] support - [application support email].
To configure the notification timer, use the next environment variables:
reconciliation: notification-timer: enabled: true schedule-expression: '0 0 6 ? * *' # cron expression
Related APIs