Conga Product Documentation

Welcome to the new doc site. Some of your old bookmarks will no longer work. Please use the search bar to find your desired topic.

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"
      ]
    }
  ]
}