Download PDF
Download page Creating a Custom Plan.
Creating a Custom Plan
You can create a custom plan using an already-created plan template. You can create a custom plan for:
- An Order Line Item (OLI) or a set of OLIs containing One-Time or Recurring products.
- An Asset Line Item (ALI) (CPQ cart line) or a set of line items containing One-Time or Recurring products.
A custom plan can be of a milestone or term-based type.
Currently, the API works for the Standalone products. It may not work for some of the Bundle scenarios.
For more on how Billing works on the Conga Platform, see Understanding the Billing Architecture on Conga Platform.
Use Case: Creating a Milestone Plan Using a Template for an OLI and ALI
Before creating a milestone custom plan, you must create a plan template. To learn more about creating a plan template, see Creating a Plan Template.
The requirement is to bill the customer in two installments, 30% of the contract amount on the third day of the first month and the remaining 70% after one month. You have supplied the following details in the plan template:
Plan Template ID | Plan Type | Periods Needed | Number of Installments | Based On | Computation Method | Start Date Based On | Active |
---|---|---|---|---|---|---|---|
PT-1 | Milestone | False | 2 | Percentage | Custom | Start Date from the Line Item | False |
Details of the two lines (because there are two installments, hence two line items) are as follows:
ID | Plan Template ID | Offset Type | Offset Number | Percent | Payment Term |
---|---|---|---|---|---|
PTL-1 | PT-1 | Days | 3 | 30.00000000 | Term 1 |
PTL-2 | PT-1 | Month | 1 | 70.00000000 | Term 2 |
Once the above template is Active, it can be used to create a custom plan using an API. You'll now see how a plan is created for the transaction lines (OLIs/Line Items) using the above template.
Prerequisites
- For creating a custom plan for an OLI
OLI is not Activated.
The order is not Activated.
The intended OLI for which a billing plan is to be created must refer to the same Order.
- For creating a custom plan for Line Items
- The intended Line Items for which a billing plan is to be created refers to the same Proposal.
API Input Parameters
To create a custom plan you must enter the following parameters for every set of OLI or ALI:
- Name:
My_Custom_Plan_1
Use Plan Template:
True
If you mark this field as
True
, you must enter the plan template ID in the next step.- Plan Template ID:
PT-1
Description: Describe the custom plan for the ABC Company (optional).
OLI ID or Line Item ID:
O-1
orLine Item-1
The start date is (start date on OLI). When the custom plan is created it shows the following values:
Custom Plan ID | ID (Order or Proposal) | Plan Template | Description | Name | No. of Installments | Plan Type | Periods Needed | Based On | Computation Method | Status |
---|---|---|---|---|---|---|---|---|---|---|
CP-1 | O-1 | PT-1 | Custom Plan for ABC Company | My_Custom_Plan_1 | 2 | Milestone | False | Percentage | Custom | New |
The Plan Items for the OLIs (or Line Items) are auto-created with the following details:
ID | Custom Plan ID | Percent | Milestone Expected Date | Payment Term |
---|---|---|---|---|
CPL-1 | CP-1 | 30.00000000 | 04-January-2024 | Term 1 |
CPL-2 | CP-1 | 70.00000000 | 04-February-2024 | Term 2 |
When you initiate billing, the billing header will have two billing schedule records containing 30.0000000% and 70.00000000% of the TCV (Sales) respectively.
Activating the Order and Initiating the Billing
When you activate the OLI, associate the above custom plan to it, and initiate the billing process, the Billing Schedule Records (BSRs), and the Billing Schedule Details (BSDs) guided per the custom plan are created. These milestone BSRs and BSDs are slightly different from the recurring products.
On the BSRs:
- The Actual Fee Amount field is Null.
- The Ready for Invoice Date field is Null.
- The Status is Pending Milestone.
- The Payment Term field has the same value as indicated in the plan line item.
On the BSDs:
- The Record Type field is Milestone.
The Milestone Expected Date field has the same value as indicated in the plan line item.
The Milestone Percent field has the same value as indicated in the plan line item.
The Milestone Status is Expected
The Derived Invoice Status field is Pending.
Consider the example:
A new sale is initiated for a service with a TCV (Sales) of USD 1,200.00. The above milestone custom plan is associated with the OLI before its activation. The start date is 01-January-2024 and the end date is 31-December-2024.
You have activated the order (OLI-1) and initiated the billing to create two BSRs and BSDs per the custom plan.
BSRs have the following data:
BSR ID | BH ID | Actual Fee Amount | Ready for Invoice Date | Payment Term | Invoice Status |
---|---|---|---|---|---|
BSR-1 | BH-1 | Null | Null | Term 1 | Pending Milestone |
BSR-2 | BH-1 | Null | Null | Term 2 | Pending Milestone |
BSDs have the following data:
BSD ID | BSR ID | Record Type | Category | Actual Fee Amount | Milestone Percent | Milestone Expected Date | Milestone Status | Derived Invoice Status |
---|---|---|---|---|---|---|---|---|
BSD-1 | BSR-1 | Milestone | Fee | Null | 30.00000000 | 04-January-2024 | Expected | Pending |
BSD-2 | BSR-2 | Milestone | Fee | Null | 70.00000000 | 04-February-2024 | Expected | Pending |
You must complete the milestone-type BSDs to compute the actual fee amount. The process to complete the milestone-type BSDs is given in Completing the Milestone.
Before you complete the milestone, you must query the milestone-type BSDs using an API.
Querying BSDs of Milestone Type
You can query the milestone BSDs based on Order Line Item ID, Billing Header ID, or Billing Schedule Records ID. To query for milestone-type BSDs, you must pass the values for the following parameters:
Object ID: Pass the Order Line Item ID, Billing Header ID, or Billing Schedule Records ID.
Milestone Expected From Date: You can pass a date or keep it as Null.
Milestone Expected To Date: You can pass a date or keep it as Null.
Show Data For: You can select from All or Pending.
The Milestone Expected From Date and Milestone Expected To Date fields are optional. You can choose to enter either or skip both.
When you initiate the API to query milestone-type BSDs based on the input criteria in the above fields, it filters the relevant results.
In the above example, if you enter OLI-1 in the Object field and select All in the Show Data For field, you can see the following data for the filtered BSDs:
OLI ID | BH ID | BSR ID | BSD ID | Record Type | Milestone Expected Date | Percent | Milestone Completion Date | Milestone Status |
---|---|---|---|---|---|---|---|---|
OLI-1 | BH-1 | BSR-1 | BSD-1 | Milestone | 04-January-2024 | 30.00000000 | NA | Expected |
OLI-1 | BH-1 | BSR-2 | BSD-2 | Milestone | 04-February-2024 | 70.00000000 | NA | Expected |
Completing the Milestone
The actual fee amount is not computed instantly when the milestone-type BSDs are created. You must complete the milestone to invoke the logic to compute the actual fee amount of the BSD. To complete the milestone, enter the following values:
Billing Schedule Detail Record ID
Milestone Completion Date
Milestone Completed By - Default for logged-in users.
When you call the API to complete the milestone with the above set of data, the following fields are updated on the BSD, BSR, and BH:
On the BSD:
- The Actual Fee Amount field on the BSD is updated to a value equal to the product of Milestone Percent and the Current Unbilled Amount.
- The Milestone Status is updated to Complete, Derived Invoice Status to Pending, and the Milestone Completion Date to the date you entered.
On the BSR:
- The values for the Actual Fee Amount and Ready for Invoice Date fields are fetched from the Actual Fee Amount and Milestone Completion Date fields of the BSD.
- Invoice Status is updated to Pending Billing.
On the BH, the Pending Invoice Amount field is updated accordingly with the rolled-up amount from the BSR.
In the above example, suppose you want to complete the milestone of BSD-1. You entered the BSD ID as BSD-1 and the Milestone Completion Date as 05-March-2024.
On execution, the BSD shows the following data:
BSD ID | BSR ID | Actual Fee Amount | Milestone Expected Date | Milestone Completion Date | Milestone Status | Derived Invoice Status |
---|---|---|---|---|---|---|
BSD-1 | BSR-1 | USD 360.00 | 04-January-2024 | 05-March-2024 | Completed | Pending |
The BSR is populated with the following data:
BSR ID | BH ID | Actual Fee Amount | Ready For Invoice Date | Invoice Status |
---|---|---|---|---|
BSR-1 | BH-1 | USD 360.00 | 05-March-2024 | Pending Billing |
The actual fee amount is calculated and updated on the BSD after it is completed, then this amount is rolled up to the BSR. From the BSR the value is fetched and updated on the BH. So the Pending Invoice Amount field on the BH is updated to USD 360.00 which is 30.00000000% of USD 1,200.00.
Creating a Term-Based Plan Using a Template for an OLI and ALI
Before you start creating a term-based custom plan, you must create a plan template. To learn more about creating a plan template, see Creating a Plan Template.
The requirement is to bill the customer in three equal installments, in the fourth month, the seventh month, and the ninth month. You have supplied the following details in the plan template:
Name | Plan Type | Periods Needed | Number of Installments | Based On | Computation Method | Start Date Based On | Active |
---|---|---|---|---|---|---|---|
PT-2 | Term based | True | 3 | Percentage | Equal Distribution | Start Date from the Line Item | False |
Details of the three lines (because the number of installments is 3, hence three line items) are as follows:
ID | Plan Template ID | Offset Type | Offset Number | Percent | Payment Term |
---|---|---|---|---|---|
PTL-1 | PT-2 | Month | 1 | NA | Term 1 |
PTL-2 | PT-2 | Month | 3 | NA | Term 2 |
PTL-3 | PT-2 | Month | 2 | NA | Term 3 |
Once the above template is Active, it can be used to create a custom plan using an API. You'll now see how a Plan is created for the transaction lines (OLIs or Line Items) using the above template.
Prerequisites and input parameters remain the same as mentioned in Creating a Milestone Custom Plan using a Template for an OLI and ALI.
The start date is and the end date is (start and end date of the OLI). When the custom plan is created it shows the following values:
Custom Plan ID | ID (Order or Proposal) | Plan Template | Description | Name | No. of Installments | Plan Type | Periods Needed | Based On | Computation Method | Status |
---|---|---|---|---|---|---|---|---|---|---|
CP-1 | O-2 | PT-2 | Custom Plan for ABC Company | My_Custom_Plan_1 | 3 | Term Based | False | Percentage | Custom | New |
The Plan Items for the OLIs (or Line Items) will be auto-created with the following details:
ID | Custom Plan ID | Percent | Period Start Date | Period End Date | Ready For Invoice Date | Payment Term |
---|---|---|---|---|---|---|
CPL-1 | CP-2 | 33.33333333 |
|
|
| Term 1 |
CPL-2 | CP-2 | 33.33333333 |
|
|
| Term 2 |
CPL-3 | CP-2 | 33.33333334 |
|
|
| Term 3 |
When you initiate billing, the billing header will have three billing schedule records, containing 33.33333333% of the TCV (Sales).