Edit Custom Plans after Billing Generation
This feature allows users to modify eligible milestone-based custom plans after billing data has been generated, without requiring an Asset-Based Ordering (ABO) transaction. This capability is designed for scenarios where users need to update milestone details after billing data has been generated, provided the changes do not affect pricing. However, the following preconditions must be considered:
- The Billing Header must be active.
- The plan must be a Milestone custom plan.
- At least one plan line item must remain open and eligible for editing.
- Only installments in Expected status can be edited.
- The total amount must remain unchanged.
For eligible milestone custom plans, users can edit the
following fields through the API:
- Plan header: Description
- Milestone line item: Milestone Expected Date, Payment Term, Comments, and Percent or Amount.
Use the following endpoint to edit a Milestone based custom plan after the billing data is generated.
POST: https://<URL_of_the_Instance>/api/billing/v1/custom-plans
Provide the payload shown below as part of the request body.
[
{
"Id": "<custom-plan-id>",
"Description": "Updated description",
"PlanLineItems": [
{
"Id": "<existing-plan-line-item-id>",
"Name": "Milestone 1",
"PeriodStartDate": "2026-01-01T00:00:00",
"PeriodEndDate": "2026-06-30T00:00:00",
"MilestoneExpectedDate": "2026-06-01T00:00:00",
"Percent": 50,
"PaymentTerm": {
"Id": "<paymentTermId>",
"Name": "Net 30 Days"
},
"Comments": null,
"Amount": null
},
{
"Id": "<existing-plan-line-item-id>",
"Name": "Milestone 2 (updated)",
"PeriodStartDate": "2026-07-01T00:00:00",
"PeriodEndDate": "2026-12-31T00:00:00",
"MilestoneExpectedDate": "2026-12-01T00:00:00",
"Percent": 50,
"PaymentTerm": null,
"Comments": null,
"Amount": null
}
]
}
]The API returns a success response indicating that the operation is completed successfully.
{
"Summary": "string",
"Results": [
{
"Id": "string",
"RecordIndex": 0,
"IsSuccess": true,
"Errors": [
"string"
]
}
]
}