Move the System Date Ahead of Today's Date for Testing Purposes
Overview
With the Summer'22 release, the system allows you to move the system date (org date) beyond today's date for testing. The user can generate the IPT and bill for the next month.
Q2 Loan Servicing 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 system's various features such as delinquency processing, interest accrual, and maturity processing.
Before the Summer'22 release, the system did not allow the user to change the date ahead of today's actual server date. This caused a lot of problems in testing and implementation such as the following:
- In testing: When we provide a fix to a customer and want to test it on a real-life account on a full copy sandbox, then we were not able to move the dates ahead to check if the loan has been fixed.
- During migration, we were not able to test the life cycle of migrated contracts as typically migrated contracts will be the latest data.
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.
Deactivate the Validation Rule for the required objects
There are error messages or validations to tell you that you cannot move ahead of today's date when you try to. These need to be deactivated as they are no more required while testing.
These validation rules of the required objects must not be deactivated in the production instance.
Following are the validation rule names for the corresponding objects that need to be made inactive in order to be able to move the date ahead of today's date.
Object Label | Object API Name | Validation Rule Name | Validation Error Message | Validation Error Condition Formula |
---|---|---|---|---|
Day Process | Day_Process__c | Check_for_calender_date | Current system date shouldn't be beyond the current calendar date. | AND(loan__Day_Started__c ,loan__Date__c > TODAY()) |
Company | Office_Name__c | System_UpdateDate_Check | Current system date :[loan__Current_System_Date__c] shouldn't be beyond the current calender date:[TODAY()] | loan__Current_System_Date__c > TODAY() |
Loan Disbursal Transaction | Loan_Disbursement_Transaction__c | Transaction_Date_Check | Disbursal Transaction Date cannot be greater than calendar date. | loan__Disbursal_Date__c > TODAY() |
CL Contract | Loan_Account__c | Close_Date_Validation | Close Date cant not be greater than System date | loan__Closed_Date__c > TODAY() |
Repayment Transaction Reversal | Repayment_Transaction_Reversal__c | Transaction_Date_Check | Transaction date cannot be greater than calendar date. | loan__Adjustment_Txn_Date__c > TODAY() |
Savings Transaction | Savings_Payment_Transaction__c | Transaction_Date_Check | Transaction date cannot be greater than calendar date. | loan__Transaction_Date__c > TODAY() |
Prerequisites
- A validation rule is existing for the object.
Steps
Log in to your Salesforce account.
Go to (Setup) > Setup.
In the Quick Find box, search for Object Manager and then click it.
On the Object Manager page, in the Quick Find box, search for the required object and then click Validation Rules.
For example, for the Day Process object, click Validation Rules as highlighted:
Click the required Rule Name.
For example, as highlighted in the preceding image, click Check_for_calendar_date.
Click Edit.
Clear the Active checkbox.
For example, for the preceding Rule Name, on clicking Edit, clear the Active checkbox as highlighted in the following image:
Click Save.
Example
Let us say today's date is 08 Jul 2022 and we create a contract on this date and disburse it.
Now let us move the system date to the Next Due Generation Date of 08 Aug 2022.
Upon doing this, the system generates the bill and IPT too if the Interest Posting is enabled in the org.
Thus, we see that the system is able to move the date ahead of today's calendar date and does not give any errors.