Jobs
Jobs are automated procedures that perform certain tasks, running at a specific time or on a recurring schedule. Read detailed information about scheduling jobs in the FintechOS Studio User Guide's dedicated page.
Core Banking comes with the following scheduled jobs that perform repetitive banking procedures for the purpose of closing one day and opening the next one, or for processing or cleaning up queued transactions:
The Core Banking Start Of Day job is made up of a series of services, which are run one by one each day before the banking day is initiated.
The following services run as part of this job, in this order:
-
Start Job Log
If another SOD or EOD job is not currently running within Core Banking, the service inserts a record into the
ScheduleJobLog
entity, containing information about the job starting time. -
Disburse Contracts With Approved Tranches In Current Date
The service performs the disbursements of contract tranches approved on the current date (the day that is about to be opened/ initiated). -
Set Limit Available Amount Due To FX Change
The service recalculates the available amount on limits depending on the currency's exchange rate on a specific day. The service does not take into consideration past versions of the limit up to a given day. It only takes into consideration the current limit version and uses those results for calculating the limit available value. -
Set Collateral Available Amount And Contract Collateral Value Due To FX Change
The service recalculates the available amount on collaterals and the collateral value on contracts depending on the currency's exchange rate on a specific day. -
Set Contract Amount (Overdraft) Due To Plan Due Date Reached (Increase/ Decrease)
The service increases/ decreases the limit amount on overdraft contracts that reached their reevaluation plan due date. -
Set Credit Facility Amount Due To Plan DueDate Reached (Increase/ Decrease)
The service increases/ decreases the limit amount on credit facilities that reached their reevaluation plan due date. -
Set Credit Facility Available Amount Due To FX Change
The service recalculates the available amount on credit facilities depending on the currency's exchange rate on a specific day. -
Set Contract Covenant Status Due To Review Date Reached
The service changes the status of covenants on contracts that reached their review date.
-
Set Contract Category Based on Overdue Days
The service changes the category of contracts based on overdue days. -
Schedule versioning after stop accrual
The service creates new schedule versions for the contracts that were marked for stopping the accrual process calculation. The new version of the schedule has theProcess of Loss
reason and all the un-notified installments are updated. -
Calculate Accrual For Overdraft Contracts and Current Accounts With Overdraft Contracts
The service recalculates the accrual for utilization and for unusage for overdraft contracts and for current account with overdraft contracts. -
Calculate Accrual For Credit Facility
The service recalculates the accrual for utilization and for unusage for credit facilities. -
Calculate Accrual And Provisions For Loan Contracts
The service recalculates the accrual and provisions for loan contracts. -
Calculate Overdraft Debt to recover
The service recalculates the overdraft debt still to recover from contracts. -
Calculate Penalties for Contracts and Credit Facility
The service recalculates the penalties for contracts and for credit facilities. -
Calculate Interests For Deposit Contracts
The service recalculates the interests for deposit contracts. -
End Job Log
The service updates the same record that the Start Job Log service inserted within theScheduleJobLog
entity, writing information about the job ending time.
The Core Banking End Of Day job is made up of a series of services, which are run one by one each day after the banking day is closed.
The following services run as part of this job, in this order:
-
Start Job Log
If another SOD or EOD job is not currently running within Core Banking, the service inserts a record into the
ScheduleJobLog
entity, containing information about the job starting time. -
Set Limit Expired
The service sets the limits which are about to expire in the current day as Expired. -
Set Accrual Amounts on Repayment Schedule for Overdraft Contract and Current Account with Overdraft
The service recalculates the accrual for utilization on repayment schedules for overdraft contracts and for current account with overdraft contracts. -
Run Recover Debts
The service performs the direct debit transactions to recover all debts at that point in process. -
Set Accrual Amounts Unusage Commission Values on Repayment Schedule for Contracts
The service recalculates the accrual for unusage commissions on repayment schedules for contracts. -
Update Expiry Date for Overdraft installment
The service updates all the expiry dates for overdraft installments for the current account with overdraft contracts. -
Generate Repayment Notifications
The service generates the repayment notifications for all the contracts with due amounts on schedule on that day. -
Recover Debts After Generate Notification
The service performs the direct debit transactions to recover all debts after generating the repayment notifications. -
Run Payment Allocation
The service performs the payment allocation operations for unallocated or partially allocated payments. -
Generate Accounting Entries
The service generates the accounting entries for all transactions performed on that day. -
Set Limit Available Amount Due To FX Changes
The service sets the limit amounts available to all contracts due to exchange rates changes. -
End Job Log
The service updates the same record that the Start Job Log service inserted within theScheduleJobLog
entity, writing information about the job ending time.
The Bank Account Transaction Queue Processing scheduled job processes all the bank account transactions that were placed in a queue instead of being processed in real-time at transaction approval. Each time a transaction is performed on a bank account, the system verifies its transaction type's Real Time Process field. If the value is True
, then the transaction is processed right away. If the value is False
, then the transaction is inserted as a record in the BankAccountTransactionQueue
entity, with the isProcessed
attribute set to False
and isWithError
set to False
. The Bank Account Transaction Queue Processing scheduled job runs every 1 minute, taking the top 10 records from the entity with the attribute isProcessed = False
, and processing the transactions. Any errors encountered on processing are logged in the errorMessage
attribute.
The following service runs as part of this job, in this order:
-
Start Job Log
If another SOD or EOD job is not currently running within Core Banking, the service inserts a record into the
ScheduleJobLog
entity, containing information about the job starting time. -
BankAccountTransactionQueue_Process
The service takes the top 10 records from the bank account transactions queue (theBankAccountTransactionQueue
entity) with the attributeisProcessed = False
, and processes the transactions. After each processing, theisProcessed
,isWithError
, anderrorMessage
attributes are updated. -
End Job Log
The service updates the same record that the Start Job Log service inserted within theScheduleJobLog
entity, writing information about the job ending time.
The Bank Account Transaction Queue Cleanup scheduled job runs once each night and deletes the already processed transaction records with the isWithError
attribute value False.
The following service runs as part of this job:
-
BankAccountTransactionQueue_Cleanup
The service deletes the records from the bank account transactions queue (theBankAccountTransactionQueue
entity) with the attributeisProcessed = True
andisWithError
=False
.
The Close Contracts scheduled job closes automatically all contracts with Automatic Closure = True
and Real Time Closure = False
, with zero available amount and with no further amounts to be recovered, that have Balance Off Date
filled in and Closure Date = Current Date
. The job runs by default at 11:00 PM system time.
The following services run as part of this job, in this order:
-
Start Job Log
If another SOD or EOD job is not currently running within Core Banking, the service inserts a record into the
ScheduleJobLog
entity, containing information about the job starting time. -
CloseContract
The service closes all contracts withAutomatic Closure = True
andReal Time Closure = False
, with zero available amount and with no further amounts to be recovered, that haveBalance Off Date
filled in andClosure Date = Current Date
. -
End Job Log
The service updates the same record that the Start Job Log service inserted within theScheduleJobLog
entity, writing information about the job ending time.
The Close Contracts RealTime scheduled job closes automatically all contracts with Automatic Closure = True
and Real Time Closure = True
, with zero available amount and with no further amounts to be recovered. The job runs by default every 5 seconds, between 06:00 AM and 07:59 PM system time.
The following services run as part of this job, in this order:
-
Start Job Log
If another SOD or EOD job is not currently running within Core Banking, the service inserts a record into the
ScheduleJobLog
entity, containing information about the job starting time. -
CloseContractRealTime
The service closes all contracts withAutomatic Closure = True
andReal Time Closure = True
, with zero available amount and with no further amounts to be recovered. -
End Job Log
The service updates the same record that the Start Job Log service inserted within theScheduleJobLog
entity, writing information about the job ending time.
The Run Loan Payment Allocation scheduled job processes almost in real-time the payment allocation operations for payments with Unallocated or Partially Allocated statuses. The job runs by default every 5 seconds, between 06:00 AM and 07:59 PM system time.
The following services run as part of this job, in this order:
-
Start Job Log
If another SOD or EOD job is not currently running within Core Banking, the service inserts a record into the
ScheduleJobLog
entity, containing information about the job starting time. -
Debt_to_Payment
The service processes the payment allocation operations for unallocated or partially allocated payments.
The Auto Process Manual Repayment Notifications (CB) scheduled job facilitates the automatic transition of manual repayment notifications from the Approved status into Pending Recover or In Recovery statuses, thus allowing manual notifications to be automatically processed for payment allocation. The job runs by default at 7:00 PM system time.
The following service runs as part of this job:
-
Auto Process Manual Repayment Notifications
The service processes the manual repayment notification record in Approved status created on the current date of the system, changing their status depending on the direct debit setting at the customer level. If theDirect Debit Settlement Account
field at the contract level =True
, then the manual notification's status changes to In Recovery, otherwise it changes to Pending Recover.
The Async Contract Approval (CB) scheduled job performs all the contract approval-related activities, such as generating a main bank account, updating the contract with the main bank account number, if the Auto Disbursement = True
then perform the disbursement event, generate a repayment schedule, generate and then process repayment notifications, when the AsyncContractApproval
Core Banking system parameter is set to True
. The job runs by default every 5 seconds.
The following service runs as part of this job:
-
Async Contract Approval Queue Processing
The service processes the records from theAsync Contracts Approval Queue
entity, performing every task related to a contract approval, except the change of business status of the contract toApproved
, which happened already.
The TPM Invoices (TPM) scheduled job runs once each night and creates third-party invoices and payments, for the combination of third-party entity/ agreements currency, during the validity of the agreement, on the Payment Day of each agreement, as defined in the third-party agreement's Payment Periodicity
(daily, monthly, or weekly).
The following services run as part of this job, in this order:
-
Generate Invoices Automatically
The service generates third-party invoices based on the created pre-invoice details as mentioned above, for the combination of third-party entity/ agreements currency, during the validity of the agreement, on the Payment Day of each agreement, as defined in the third-party agreement'sPayment Periodicity
(daily, monthly, or weekly). If pre-invoice details were already added on a manual invoice, then these details are excluded from the automatic process. -
Charge Not Paid Invoices
The service creates the bank account transactions for the due payments for invoices with Not Paid status.
The Pre Invoice Commission Processing (TPM) scheduled job processes the record within the Third-Party Management Queue, calculates the commission according to the settings at the agreement pricing, and adds the results as pre-invoice detail records. The job runs by default every 5 seconds.
The following service runs as part of this job, in this order:
-
Process Commissions Queue
The service takes each third-party queue record previously unprocessed, calculates the due commission according to the settings at the agreement pricing, and generates third-party pre-invoice detail records as mentioned above. The third-party management queue record is marked withProcessed = True
, so that it doesn't get processed again, and its Process Details field is completed with the processing result.