1. April 2024 Release Notes
1.1 Preface
This is a living document, and its contents may be updated often. Any changes to the contents of this document are listed in the Change record section. Make sure that you have the latest version for use.
The contents of this document are applicable to all the customers who have installed the April 2024 release version (4.5000) of Q2 Loan Servicing and Q2 Marketplace for the first time or have upgraded from an earlier version. You can access the release notes of the previous releases from the Q2 Customer Portal or from Q2 Lending Help Center.
1.1.1 Purpose of this document
This document provides information on the following for the April 2024 release on Q2 Loan Servicing:
1.1.2 Intended audience
The audience of this document includes business users, implementers, and system administrators.
1.1.3 Prerequisites for use
This document assumes a basic knowledge of the product concepts, the product release, and the Salesforce platform.
1.1.4 List of abbreviations
There are no new abbreviations added or modified in the Q2 Loan Servicing and Q2 Marketplace April 2024 release.
1.2 Installation information
Contact your Q2 Professional Services team or the Customer Success team for information on the package dependency and installation order of the packages required to install and set up the latest version of Q2 Loan Servicing and Q2 Marketplace.
1.3 Upgrade considerations
For information on the upgrade steps, see release-related steps in the Q2 Product Upgrade Guide.
1.4 New features and enhancements
This section briefly describes the new features and enhancements added in this release.
For a detailed description of the new features and enhancements, see the following guides published over the Q2 Customer Portal:
Q2 Loan Servicing User Guide for Simple Loans
Q2 Loan Servicing User Guide for Amortized Loans
Q2 Loan Servicing User Guide for Line of Credit Loans
Q2 Loan Servicing User Guide for Master Facility
Q2 Loan Servicing Administration Guide
1.4.1 Accrual of Fees - Effective Interest method (Jira ID: ND-7405)
Feature Description
Till now, Q2 Loan Servicing offered the ability to accrue fees based on two methods; Straight Line and Income Based.
With the April 2024 release, a third method of fee accrual has been introduced, due to which the lender can now do the fee accrual on the basis of Annualized Effective Interest rate. This method is required for accounting purpose in addition to the Straight Line method and Income Based method.
As per this method, the system creates the fee accrual transactions at the end of the month based on the selected time counting method. The fee accrual transactions are created based on the annualized effective interest rate provided by the users.
1.4.2 Broker Commission - Phase 2 (Jira ID: ND-7386)
Feature Description
Broker commission feature is enhanced with the following capabilities in the April 2024 release:
Here is the list of the enhancements:
Calculation of trail broker commission, depending on if the payoff is happening on the due date or in the mid of the cycle
Update of the Next Commission Date upon a rescheduling
The OLT reversal functionality for trail commission. Whenever an OLT reversal happens for the following events the previous and next commission posting dates on the contract are updated from the OLT Loan-snapshot
Reschedule
Charge Waiver
Interest Waiver
Additional Interest Waiver
Rate Change
This feature now supports Broker commission calculation for the backdated payment for more than one cycle. Every time a backdated payment happens before the previous installment date of the loan, the Next Commission Posting Date and the Previous Commission Posting Date is changed as per the payment cycle and when the job runs again, the transactions are adjusted.
1.4.3 Automated Consolidated Payments (Jira ID: ND-2971)
Feature Description
This feature allows FIs to bundle the loan payment transactions (LPTs) of child loans under a given master facility, based on several factors:
All these LPTs across the child loans must have the same payment due date
All these LPTs should have the same bank account for debit
All LPTs must belong to a single master facility
All LPTs should have one payment mode
Benefits of the feature:
Borrower's account is debited only once on the due day, for the consolidated amount of all the LPTs satisfying the above four criteria
If Borrower's bank account is deficient in money on the due date, then only one consolidated cash receipt will be reversed, and hence borrower is charged dishonor fee only once
1.5 Fixed issues
The following table lists the issues fixed in this release:
Issue ID | Description |
---|---|
Schedules are incorrect when repayment plan has Principal Only without the payment amount for 11 terms using the FinCalc version 3. | |
ND-7035 | Next interest posting date is not updating on the Investment Order while creating it through API. |
ND-7239 | If the system fails to reapply one event, then other events that are marked for reapplying and have the transaction date after the failed event's date will be reapplied. |
PD-1699 | The system is displaying an error message when Step-up schedule is provided. |
1.6 Known issues
This section briefly describes the known issues with this release.
Issue ID | Description |
---|---|
ND-7800 | Payment equivalent to payoff is not satisfying the first bill for the loan contracts with Payment Mode set to Deposit. |
ND-7799 | Schedules are getting generated for holidays in the month of October. |
ND-7764 | For the loan contracts with a Flexible Repayment Plan having ten terms of Interest-only period, and Funding in Tranches enabled, the last billing cycle is reflecting incorrect Interest Posting Due Amount. |
ND-7759 | After the payoff reversal transaction, the Next accrual Date on the Prepaid Fee UI is getting updated incorrectly. |
ND-7604 | Additional interest component is getting posted on holidays as well. |
ND-7449 | The loan payoff transaction is not following the behavior configured in the spread, and is not paying the interest posted prior to the principal remaining. |
ND-7828 | Even after a loan payoff is made, the loan contract is not getting closed; the state is not getting changed to Closed-Obligation met. |
ND-7827 | The system is throwing a validation message while a user tries to change the minimum and maximum interest rate on the product. |
ND-7835 | The system is calculating an incorrect value for the total payoff amount due to an incorrect computation of the total unpaid additional interest. |
1.7 New and modified objects
This section briefly describes the object added or modified in this release.
For a complete list of the Q2 Loan Servicing and Q2 Marketplace objects, see the Q2 Loan Servicing and Q2 Marketplace Data Dictionary over theQ2 Customer Portal and the Q2 Lending Help Center.
1.7.1 New objects
This section briefly describes the object added in this release.
1.7.1.1 Consolidated Retry Configuration (loan__Consolidated_Retry_Configuration__c)
This object, added for the Automated Consolidated Payment feature, is used to store NSF (Non Sufficient Funds)-related details for a master facility contract.
Optional Fields
The following table describes the details of the optional fields of the Consolidated Retry Configuration object:
Optional Fields | |||
---|---|---|---|
Field Label | Field API Name | Description | Data Type |
Apply NSF on Attempt | loan__Apply_NSF_on_Attempt__c | This field provides an option for you to select the attempt number(s) on which NSF is to be charged. | Picklist (Multi-Select) |
Number of Retry Attempts | loan__Number_of_Retry_Attempts__c | This field stores the number of retrial attempts to be made for a consolidated payment. | Number |
Retry | loan__Retry__c | If the value of this picklist is Enabled, then the system will retry a rejected or a reversed consolidated payment as per the retry configuration. The values of this picklist are:
| Picklist |
Retry Attempt Interval (in days) | loan__Retry_Attempt_Interval__c | This field indicates the number of days between two retry attempts. The numbers of days between two retry attempts begin after the rejection date. For example, if the retry was rejected on January 2 and the value of this field is 5, then the system will retry the consolidated payment 5 days after January 2. | Number |
Return Codes for Retry | loan__Return_Codes_for_Retry__c | This field indicates the return codes to be selected for which the system must retry the consolidated payment | Picklist (Multi-Select) |
System Generated Fields | |||
---|---|---|---|
Field Label | Field API Name | Description | Data Type |
Consolidated Retry Configuration | Name | This field stores the unique name of the consolidated retry configuration. | Text(80) |
Created By | CreatedBy | This field stores the user who has created the consolidated retry configuration record. | Lookup(User) |
Last Modified By | LastModifiedBy | This field stores the user who has modified or updated the consolidated retry configuration record. | Lookup(User) |
Owner | Owner | This field stores the user who is the owner of the consolidated retry configuration record. | Lookup(User,Group) |
1.7.2 Modified objects
This section briefly describes the objects modified in this release.
1.7.2.1 Fee (loan__Fee__c)
This object stores fee information.
The following table describes the modified field of this object. This field is optional:
Field API Name | Description | Type |
---|---|---|
Accrual_Method__c | This field defines the calculation method for charge accrual of a newly Created Charge. It is populated depending upon corresponding value provided in Fee. This field is modified by adding a new picklist value named Effective Rate of Interest. Hence the values of this field are:
| Picklist |
1.7.2.2 Forecast Stream Config (loan__Accrual_Stream_Config__c)
This object stores the configuration to generate the forecast streams.
The following table describes the modified field of this object. This field is optional:
Field API Name | Description | Type |
---|---|---|
Accrual_Method__c | This field defines the calculation method for charge accrual of a newly Created Charge. It is populated depending upon corresponding value provided in fee definition. This field is modified by adding a new picklist value named Effective Rate of Interest. Hence the values of this field are:
| PickList |
1.7.2.3 Pre-Paid Fee (loan__Contract_Pre_Paid_Fee__c)
This is the junction object between the Fee object and CL Contract object. It is a custom object with two master-detail relationships. Using a custom junction object, you can model a many-to-many relationship between two objects.
The following table describes the modified field of this object. This field is optional:
Field API Name | Description | Type |
---|---|---|
Accrual_Method__c | This field defines the calculation method for charge accrual of a newly Created Charge. It is populated depending upon corresponding value provided in fee definition. This field is modified by adding a new picklist value named Effective Rate of Interest. Hence the values of this field are:
| PickList |
1.7.2.4 Account (Account)
Account object is a standard object from Salesforce. It represents the Borrower.
The following table describes the new fields added to this object.
Field API Name | Description | Type |
---|---|---|
clcommon__Commission_Plan__c | This field refers to the added default commission plan at the account level. | Lookup |
clcommon__Broker__c | Select the checkbox to classify this record is a broken account | Checkbox |
1.7.2.5 CL Contract (loan__Loan_Account__c)
This object stores the loan contract details.
The following table describes the new fields of this object:
Field API Name | Description | Type |
---|---|---|
loan_Annualized_Effective_Interest_Rate__c | This parameter is used to calculate the fee accrual to be done for given month period. Default Value : 0.00 The value of this field can be from 0.00% to 19% This field is applicable for all types of loan accounts. | percent (13, 5) |
loan__Master_Loan_Job_Thread_Count__c | This field stores the job thread count number of the master facility loan. | Number(16, 2) |
1.7.2.6 Enable Loan Features (Enable_Loan_Features__c)
This object is used to enable the availability of certain features in CL Loan.
The following table describes the new fields added to this object:
Field API Name | Description | Type |
---|---|---|
loan__Automatic_Consolidated_Payment__c | If true, indicates that the automated consolidated payment is enabled for a master facility. | Checkbox |
1.7.2.7 Cash Receipt (clcommon__Cash_Receipt__c)
This object stores the cash receipt records for capturing the cash received from the borrower.
The following table describes the new fields added to this object:
Field API Name | Description | Type |
---|---|---|
loan__Master_Loan__c | This field stores the master facility contract ID for which the cash receipt is created. | Lookup(Loan_Account_c) |
loan__Latest_Event_Number__c | This field stores the latest event number of the payments in this cash receipt. | Number |
loan__Next_Retry_On__c | This field stores the date on which this transaction is to be retried. | Date |
loan__Retried__c | If this field is selected, it means that the transaction has been retried. | Checkbox |
loan__Retry_Attempt_Number__c | This indicates the number of times this cash receipt was retried. | Number |
loan__Retry_Attempt_For__c | This field indicates the original cash receipt for which this cash receipt is a retry attempt. | Lookup |
Bank_Account | This field stores the bank details to be used for the consolidated payment. | Lookup |
1.7.2.8 Loan Parameters (loan__Loan_Parameters__c)
This object stores the information on the various parameters of the loan contract.
The following table describes the new fields added to this object:
Field API Name | Description | Type |
---|---|---|
loan__Events_Count__c | This field keeps track of the count of total number of events that occurred on the contract. | Number |
loan__Consolidated_Retry_Configuration__c | This is a lookup field that is used to store the NSF-related (Non Sufficient Funds) information at the master facility contract level. | Lookup(Consolidated Retry Configuration) |
1.7.2.9 Loan Payment Transaction (loan__Loan_Payment_Transaction__c)
This object is used to store payment transactions on contracts. When a payment is created and cleared it affects various balances on the contract such as principal, interest accrued, interest remaining, fees, and so on. Payments also satisfy bills that are generated on the contract.
The following table describes the new fields added to this object:
Field API Name | Description | Type |
---|---|---|
loan__Event_Number__c | This field stores the order number for the order in which the payments are cleared. | Number |
1.7.2.10 Other Loan Transaction (loan__Other_Transaction__c)
This object stores the details of the other loan transactions.
The following table describes the new fields added to this object:
Field API Name | Description | Type |
---|---|---|
loan__Event_Number__c | This field stores the order number of the OLT that got generated. | Number |
1.7.2.11 Loan Disbursal Transaction (loan__Loan_Disbursal_Transaction__c)
This object stores the details of the disbursal transaction occurred when the loan is disbursed.
The following table describes the new fields added to this object:
Field API Name | Description | Type |
---|---|---|
loan__Event_Number__c | This field stores the order number of the disbursement transaction that was generated. | Number |
1.7.2.12 Interest Posting Transaction (loan__Interest_Posting_Transaction__c)
This object stores the details of the Interest Posting Transaction.
The following table describes the new fields added to this object:
Field API Name | Description | Type |
---|---|---|
loan__Event_Number__c | This field stores the order number of the interest posting transaction that got generated. | Number |
1.7.2.13 Charge (loan__Charge__c)
This object stores the details of the charge applied on the loan.
The following table describes the new fields added to this object:
Field API Name | Description | Type |
---|---|---|
loan__Event_Number__c | This field stores the order number of the generated interest posting transaction. | Number |
1.7.2.14 Product Pre-Paid Fee (Product_Pre_Paid_Fees__c)
This is the junction object between the Fee object and CL Contract object. It is a custom object with two master-detail relationships. Using a custom junction object, you can model a many-to-many relationship between two objects.
The following table describes the new fields added to this object:
Field API Name | Description | Type |
---|---|---|
Accrual_Method__c | This field defines the calculation method for charge accrual of a newly created charge. It is populated depending upon corresponding value provided in fee definition. This field is modified by adding a new picklist value named Effective Rate of Interest. Hence the values of this field are:
| PickList |
1.8 New and modified REST APIs
This section describes the new and modified REST APIs of this release.
For a complete list of the Q2 Loan Servicing and Q2 Marketplace REST APIs, see Q2 Loan Servicing and Q2 Marketplace REST APIs Guide over theQ2 Customer Portal and the Q2 Lending Help Center.
1.8.1 New REST APIs
1.8.1.1 Reversing Loan Disbursal Transactions (v1/loanAccounts/disbursement/reversal)
This REST API is used to reverse disbursements. It reverses Loan Disbursal Transactions (loan__Loan_Disbursal_Transaction__c) on the Loan Account object and commits them to the database.
For more details on this REST API, see the Reversing Loan Disbursal Transactions section of the Q2 Loan Servicing REST APIs Guide over theQ2 Customer Portal and the Q2 Lending Help Center.
1.8.2 Modified REST APIs
There are no REST APIs modified in this release.
1.9 New and modified global methods
This section briefly describes the global methods added or modified in this release.
For a complete list of the Q2 Loan Servicing and Q2 Marketplace global methods, see Q2 Loan Servicing and Q2 Marketplace Global Methods Guide over theQ2 Customer Portal and the Q2 Lending Help Center.
1.9.1 New global methods
This section briefly describes the global methods added in this release.
1.9.1.1 AbstractLoanActions class
This class consists of many methods that are used to perform certain actions on the loan.
The following table describes the global method added to this class in this release:
Global Method Name | Description |
---|---|
reverseLoanDisbursements | This method can be used to reverse the loan disbursements of the loan contracts. |
1.9.1.2 LoanContractManagementSystem class
This class is used to manage some of the functions of cash receipts.
The following table describes the global method added to this class in this release:
Global Method Name | Description |
---|---|
bulkReversePaymentsForCashReceipts(cashReceipt2Payments, returnCodemap) | This is a newly added global method that can be used to reverse the LPTs corresponding to the Cash Receipts. |
1.9.1.3 CashReceiptService class
This class provides global methods to perform cash receipt-related operations and applications.
The following table describes the global method added to this class in this release:
Global Method Name | Description |
---|---|
bulkReverseAndCancelCashReceipt(cashReceiptIds, returnCodeMap) | This is a newly added global method that can be used to reverse and cancel the Cash Receipt so that the reversed amount can not be used anymore. |
1.9.1.4 ConsolidatedPaymentfilegenJob class
This class is newly added in this release and is used as a job to help in generating the ACH files for a consolidated payments.
The following table lists and describes the global methods of this class:
ConsolidatedPaymentfilegenJob() | This is the default constructor of the class. |
getRuntimeQuery() | This method is internally used to get runtime query. |
doInitialize() | This method is internally used to initialize. |
doStart(Database.BatchableContext bc) | This method is internally used to start the batchable context. |
doExecute(Database.BatchableContext bc, List<sObject> scope) | This method is internally used to execute the batchable context for the scope. |
doFinish(Database.BatchableContext bc) | This method is internally used to complete the batchable context. |
1.9.2 Modified global methods
There are no global methods modified in this release.
1.10 Post 4.5000 release
Follow this section for the details on the issues fixed in the patches on the April 2024 release of the following packages:
Q2 Loan
Q2 Marketplace
CL Common
1.11 Change record
S.No | Change Date | Description of Change |
---|---|---|
1. | April 19, 2024 | Published the release notes for the April 2024 (4.5000) General Availability release. |