SOD or EOD Process
Overview
Each branch has to perform the Start of Day (SOD) process before it can carry out transactions for a specific date. Similarly, the End of Day (EOD) job must be run to process the transactions created during the day. When the scheduled EOD job completes, the system is advanced to the next date automatically. The SOD job, which is chained to the EOD job is automatically triggered and a new day is created in the system.
Activities performed by SOD/EOD
The following are some of the major activities undertaken by the system as a part of SOD:
- Create a Day Process record and advance the system date each day
- Calculate daily accruals
- Update loan delinquency and maturity details
- Generate ACH files
- Generate dues
The End of Month (EOM) Process involves the following major activities:
- Checking for loan maturity
- Month end interest accruals
The End of Year (EOY) process involves closing the current financial year. The financial institutions complete the annual audit and make any adjustments that the accountant suggests. The year-end processing is catered to when SOD is run on December 31, or the last day as per the defined fiscal year.
For information on the batch jobs and their descriptions, refer to section Definition of Batch Jobs.
The Credit Bureau Payment History Job is used only for reporting purposes at the end of the month. If you do not require credit bureau reporting from CL Loan, you may turn off the credit bureau reporting job.
Schedule the Start or End of Day
The EOD-SOD jobs are scheduled to run automatically each day, using the Apex Classes.
Do not schedule the End of Day job till all the jobs that are currently running get completed. If parallel processing of batch jobs is enabled, wait for all the parallel threads of a job to be completely executed.
Prerequisites
Before scheduling the SOD or EOD process, ensure that the following prerequisite is met
- The user is assigned to the company.
Steps
To schedule the EndOfDay job:
Log in to your Salesforce account.
Go to Setup > Create > Apex Classes.
Click Schedule Apex.
The Schedule Apex page is displayed.
Specify a Job Name. For example, End of Day.
Select the Apex Class. Select EndOfDay.
Specify the Frequency.
For daily jobs, select Weekly, and all the days of the week.
For monthly jobs, specify the day or date of the month when the job must be run.
Specify the Start and End dates to specify the date range for which the job is scheduled.
Specify any Preferred Start Time. Usually, this is 12.00 a.m.
Click Save.
The EOD job schedule is created as per the local time zone, that is, the time zone of the user creating the schedule.
Manually Start or End a Day
CL Loan provides you an option to manually run these tasks using the Start Next Day button on the SOD-EOD Process page. The SOD-EOD Process page displays the status of the day, such as Day Started Successfully. In addition, the Day Started? and Day Ended? checkboxes indicate whether the SOD or EOD process has been run for that day.
Prerequisites
The following is the prerequisite to creating SOD or EOD processes:
- The user is assigned to the company.
Steps
Perform the following steps to create the start of the day process:
Log in to your Salesforce account.
Click Servicing Configuration.
Go to User and Data > Batch Jobs.
Select SOD/ EOD process.
Click Start Next Day.
This ends the current day and triggers the EOD process, and then, the SOD process. The Day Ended? checkbox gets enabled. This implies that the EOD job is being run and the date has moved forward by a day.
Click Refresh View.
The checkbox, Day Started?, is enabled and the status of the day changes to: Day Started Successfully.
Note:SOD is a time-consuming process, therefore clicking Refresh View does not give immediate results.
When you click Refresh view, the system internally checks if the job is completed and updates it accordingly.
Move the system date
CL Loan provides customers an advanced feature to manually move the system date back or forward for activities prior to the go-live date, such as user acceptance testing, or to deal with any business exigency. In such cases, it is not feasible to wait for the calendar days to pass by, and test the various features of the system such as delinquency processing, interest accrual, and maturity processing.
Before the Summer'22 release, the system date cannot be moved ahead of today's calendar date.
With the Summer'22 release, you can move the system date ahead of today's actual server date for testing purposes.
For more information on this, see the Move the System Date Ahead of Today's Date subsection of this section.
Move the Date Forward: To move the date forward by n days, you must update the date to (n-1) days, and then run the Start Next Day process. This creates the required transactions for the start of the nth day.
Move the Date Back: To move the date back by n days, you must update the date to (n+1) days and then run the Start Next Day process. This creates the required transactions for the start of the nth day.
It is strongly advised to not move the system date in a production system without a compelling business reason. There may be impacts like the system may consider the payments scheduled for the skipped days as not received, and generate charges for them, or the bills for the skipped days may not get generated as expected. Similarly, if you move the system date back, it may impact transactions already created, in case you affect any changes to computations or lending product properties.
Steps
Perform the following steps to change the system date:
Log in to your Salesforce account.
Go to Servicing Configuration > User and Data > Batch Jobs > SOD/ EOD process.
In the SOD-EOD Process page, specify the new date in the Move System Date To (Future/Past) field.
Click Move to Date.
Click Start Next Day.
To verify the change in the System date, refresh your Salesforce.com webpage and check the date on the left-hand side in the sidebar.
Field reference
Field Name | Description |
---|---|
Move System Date to | The past or future date that you want to move the system date to. This date can be earlier than or the same as the calendar date. |
Start Next Day | The system begins the start of the day process. |
Refresh View | The system internally checks if the job is completed and updates it accordingly. |