VIII. Payment Plan Overview and Automation
Payment Plan: A Payment Plan is a detailed chart outlining the installment schedule, including the dates and percentages for each payment. This helps the customer understand their financial commitments for the purchase.
Field Label | Field Type | Pick List Value | Description |
---|---|---|---|
Payment Plan Name | Text | NA | The name or title of the payment plan. |
Project | Lookup (Project) | NA | Links to the related project name. |
Building | Lookup (Building) | NA | Links to the related building name. |
1st Installment Date | Date | NA | The date for the first installment. |
1st Installment Percentage | Percentage | NA | The percentage for the first installment. |
2nd Installment Date | Date | NA | NA |
2nd Installment Percentage | Percentage | NA | NA |
3rd Installment Date | Date | NA | NA |
3rd Installment Percentage | Percentage | NA | NA |
4th Installment Date | Date | NA | NA |
4th Installment Percentage | Date | NA | NA |
4th Installment Percentage | Percentage | NA | NA |
5th Installment Date | Date | NA | NA |
5th Installment Percentage | Percentage | NA | NA |
6th Installment Date | Date | NA | NA |
6th Installment Percentage | Percentage | NA | NA |
Once the Payment Plan is added and record is saved, An Opportunity Payment Plan will be created to capture and manage the payment details for the opportunity.
Opportunity Payment Plan: This object stores information about the opportunity and the payment plan, including the amount and other relevant details.
Field Label | Field Type | Pick List Value | Description |
---|---|---|---|
Payment Plan Number | Auto Number | NA | An auto-generated number for identifying the opportunity payment record. |
Inst. Number | Number | NA | A numerical value representing the installment number in the payment plan. |
Inst. Name | Picklist |
1st Installment 2nd Installment 3rd Installment 4th Installment 5th Installment 6th Installment |
A picklist to select the installment name. |
Inst. date | Date | NA | The specific date for each installment payment. |
Inst. Percentage | Number | NA | A numerical value representing the percentage of the total amount allocated to the specific installment. |
Amount | Currency | NA | The amount for each installment, typically calculated based on the installment percentage of the total opportunity amount. |
Opportunity | Lookup(Opportunity) | NA | A lookup field that links the record to the related Opportunity. |
Payment Plan | Lookup (Payment Plan) | NA | A lookup field to link the record to the associated Payment Plan. |
Bank Finance | Lookup(Bank Finance) | NA | A lookup field that links to any associated bank financing related to the payment plan. |
Bank Finance Status | Picklist |
Yes No |
A picklist field to capture the status of the bank financing. Possible values might be provided based on specific needs. |
Once the Payment Plan is added and record is saved, An Opportunity Payment Plan will be created to capture and manage the payment details for the opportunity.
Automations / Flow :
When a payment plan is added to the Opportunity object, follow these steps to create Opportunity Payment Plans automatically:
Create Opportunity Payment Plans: For each installment defined in the payment plan, create a
corresponding Opportunity Payment Plan record.
Divide the Amount: Divide the total opportunity amount based on the percentage specified for each
installment.
Add Details: Include the installment name, date, and link each Opportunity Payment Plan to the related
opportunity.
This process ensures that the payment plan is accurately reflected in the Opportunity Payment Plans, with the amount distributed according to the defined installments.
To Setup this flow:
Step 1: Create a Flow
• Go to Setup in Salesforce, and then search for Flows.
• Click New Flow, and choose Record-Triggered Flow.
• Set the flow to trigger when a record is created or updated on the Opportunity object.
Step 2: Define the Trigger Condition
• Specify the condition that triggers the flow. For example, you can set it to run when a payment plan field is updated
or added on the Opportunity object.
Prerequisite: A
• Create a variable called PaymentPlanId as below.
• Click on New Resources
Select type as Variable
- After that Filled out the API Name, Select Data type as Record and choose Available for Input.
Prerequisite: B
• Create a formula variables (datatype= currency) as following using the below formulas.
InstallmentAmount1 = {!$Record.Amount} * {!PaymentPlanId.X1st_Inst_Percent__c} / 100 InstallmentAmount2 =
{!$Record.Amount} * {!PaymentPlanId.X2nd_Inst_Percent__c} / 100
InstallmentAmount3 = {!$Record.Amount} * {!PaymentPlanId.X3rd_Inst_Percent__c} / 100
InstallmentAmount4 = {!$Record.Amount} * {!PaymentPlanId.X4th_Inst_Percent__c} / 100
InstallmentAmount5 = {!$Record.Amount} * {!PaymentPlanId.X5th_Inst_Percent__c} / 100
InstallmentAmount6 = {!$Record.Amount} * {!PaymentPlanId.X6th_Inst_Percent__c} / 100
Step 3: Create Opportunity Payment Plan Installments
• Add label, add manually values, and setup values as below.
- Do the same for the all the 6 installment.
- Link all the elements.
Step 5: Save the flow and Test it
• Save flow, give meaningful name and activate the flow.
Test it by adding or updating a payment plan on an Opportunity, and check if the Opportunity Payment Plan records are created properly.
The customer has two payment options: they can either pay directly according to the payment plan or apply for a loan.
If the customer chooses to apply for a loan, the sales user will coordinate with them throughout the process. Sales user will update the opportunity status to “Bank Finance Approval in Process” and will also manage and record details related to the bank finance, including the bank finance status and the percentage of bank finance approved.
When the Opportunity stage changes to “Bank Finance in Process” or “Negotiation,” the system will automatically check if the related Unit’s stage is not “Blocked.”
Automations / Flow :
When the Opportunity stage changes to “Bank Finance in Process” or “Negotiation,” the system will automatically check if the related Unit’s stage is not “Blocked.”
If the Unit’s stage is not “Blocked,” the system will automatically update the Unit’s status to “Blocked.”
Why This Is Important
o Saves Time and Reduces Errors
Manually checking and updating Unit statuses can be time-consuming and prone to errors. Automating this ensures
it’s done consistently and accurately.
o Keeps Data Accurate:
The flow ensures that once an Opportunity reaches certain stages, the related Unit is properly marked as “Blocked.”
This helps keep data up-to-date without manual intervention.
To setup the flow follow below steps:
Step 1: Create a Flow
o Navigate to Setup, In the Quick Find box, type Flow and select Flows.
o Click on New Flow and select Record-Triggered Flow.
Step 2: Configure the Trigger
o Object: Select the Opportunity object.
o Trigger: Set it to trigger when a record is updated.
o Conditions: Set conditions as follows:
o Opportunity Stage = “Bank Finance approval In Process” or “Negotiation”.
Step 3: Fetch Related Units using the Opportunity units Object
o Add a Get Records element to query the Opportunity units that link the Opportunity and Units.
o Filter Criteria: Use the Opportunity ID from the updated record to find related Opportunity unit’s records, and related
units not is null.
Step 4: Add a Loop Element (If Multiple Products):
If an Opportunity can have multiple Products, you’ll need a loop to iterate through each Product and check
their status.
o Drag and drop the Loop element.
o Set the Collection to the unit records retrieved in the previous step.
o Direction: Set the loop to iterate through the unit list.
Step 5: Add Decision Element
o Add a Decision element to check the conditions:
o The related Unit’s stage is not “Blocked.”
Step 6: Update Records
o Use the Update Records element to find the related Unit(s) and update their status.
o Criteria: Specify condition to identify records, and set fields individually and choose Unit Object.
o Action: Update the Unit’s status field to “Blocked”.
Step 7: Save the flow and Test it
o Save and activate the flow.
Test it by updating an Opportunity record that meets the conditions and ensure the related Unit’s status changes to “Blocked.”
After Bank Finance approved the loan sales user will change the stage to Bank Finance Approved.
After the loan application process, the sales person will enter the Negotiation stage. During this stage, they will negotiate all terms with the customer.
Once all processes are completed and both parties agree, the deal is finalized, and the opportunity stage is updated to “Sold.”
Automations / Flow :
When the Opportunity stage changes to “Sold,” the system will automatically check if the related Unit’s stage is not “Sold.”
If the Unit’s stage is not “Sold,” the system will automatically update the Unit’s status to “Sold.”
To setup the flow follow below steps:
Step 1: Create a Flow
o Navigate to Setup, In the Quick Find box, type Flow and select Flows.
o Click on New Flow and select Record-Triggered Flow.
Step 2: Configure the Trigger
o Object: Select the Opportunity object.
o Trigger: Set it to trigger when a record is updated.
o Conditions: Set conditions as follows:
o Opportunity Stage = “Sold”
Step 3: Fetch Related Units Using the Opportunity units Object
o Add a Get Records element to query the Opportunity units that link the Opportunity and Units.
o Filter Criteria: Use the Opportunity ID from the updated record to find related Opportunity unit’s records,
and units not is null.
Step 4: Add a Loop Element (If Multiple Products):
If an Opportunity can have multiple Products, you’ll need a loop to iterate through each Product and check
their status.
o Drag and drop the Loop element.
o Set the Collection to the unit records retrieved in the previous step.
o Direction: Set the loop to iterate through the unit list.
Step 5: Add Decision Element
o Add a Decision element to check the conditions:
o If the Opportunity Stage is either “Sold” AND related Unit’s stage is not “Sold.”
Step 6: Update Records
o Use the Update Records element to find the related Unit(s) and update their status.
o Criteria: Use a relationship field (for example, if Opportunity and Units are related through a lookup field)
to find the Units related to the Opportunity.
o Action: Update the Unit’s status field to “Sold”.
Step 7: Save the flow and Test it
o Save and activate the flow.
Test it by updating an Opportunity record that meets the conditions and ensure the related Unit’s status changes to “Sold.”
If the opportunity is lost for any reason sales user update the stage to closed lost and select the closed lost reason from the list.
At each installment date specified in the Opportunity Payment Plan, an invoice will be created in the system.