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.

Draft Pending Usage Inputs

draftPendingUsageInput API is used to forecast (draft rate) the billable amount for a set of Usage Inputs before you actually rate them for billing. It processes the specified Usage Input records in Loaded status and updates their Draft fields, allowing you to see the forecasted amounts for revenue planning and validation.

APISignature
draftPendingUsageInputstatic void draftPendingUsageInput(Set usageInputIDs, Boolean processSynchronously)

The API accepts a set of Usage Input IDs. It can process up to 1000 Asset Line Item IDs at once. The API may run synchronously or asynchronously. If the API runs asynchronously in the background, you'll get an email notification when processing is complete.

The (Draft) Rated Amount on Usage Input, (Draft) Rated Quantity and (Draft) Fee Amount on Usage Schedule are updated. The actual Rated Amount and billing schedule are not affected. The Usage Inputs remain in Loaded status after draft processing. If there's an error, the status changes to Error and the Message field is populated. This API is for draft rating (forecasting) purposes. Once you're satisfied with the draft values, you can process the usage inputs for actual billing.

Request Parameters

FieldTypeRequiredDescription
usageInputIDsSet <Id>YesSet of Usage Input IDs you want to draft rate.
processSynchronously BooleanNoThis flag determines if the API will process the inputs synchronously or asynchronously (in batch mode).

Response

The API does not return a direct response object.
  • For synchronous processing, check the Usage Input records for updated draft fields.
  • For asynchronous processing, you'll get an email notification with the results.

Code Sample - Request

Set<ID> usageInputIDs = new Set<ID>{'a5aDc0000001tlN','a5aDc0000001tlI','a5aDc0000001tlD'}; //Max it can be 1000 IDs
Apttus_Billing.UsageService.draftPendingUsageInput(usageInputIDs, false);