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.
Loan Management 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 Loan Management 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 Loan Management, 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 Loan Management 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 Loan Management, 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 Loan Management, 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 Loan Management, 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 Loan Management, 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 Loan Management, 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
Loan Management 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 Async Limit Recalculation scheduled job performs the limit recalculation for the limit/ customer/ group queued in the Daily Limit Recalculation Queue
entity, when the AsyncLimitRecalculation
Loan Management system parameter is set to True
. The job runs by default every 10 seconds.
The following service runs as part of this job:
-
FTOS_CB_DailyLimitRecalculationFromQueue
The service processes the records from theDaily Limit Recalculation Queue
entity, performing the limit recalculation for the limit/ customer/ group queued in the entity.
The FTOS_CB_ProcessContractsForAutoWriteOff scheduled job automatically performs write-off transactions for non-performing loan contracts, after their maturity day passes and the remaining value on the contract is under the threshold specified at the product admin configuration level. You can enable the job to run according to your financial institution's needs, usually at the end of day.
The following service runs as part of this job:
-
FTOS_CB_ProcessContractsForAutoWriteOff
The service first identifies the non-performing loan contracts with notified amounts still not recovered. Then, it calculates each contract's maximum value for the write-off transaction asthe Remaining Principal (absolute main balance) + Accrued Interest + unpaid values from Repayment Notifications (interest, commissions, penalties, or insurances)
, and identifies which values are under the write-off threshold defined at the product admin configuration level, placing the affected contracts in a processing queue. Lastly, the service processes the queue items and performs write-off transactions for the identified contracts, taking the remaining amount from the specified internal write-off account and crediting the loan's main bank account for the loan principal, respectively the product's self bank account for all the other operation items.