One-Time Products

For one-time order line items, the API creates a single billing schedule record regardless of the term of the order line item.

To learn how Billing works on the Conga Platform, review its architecture as described in Understanding the Billing Architecture on Conga Platform.

Prerequisites

  • An order line item for a one-time product has been created.
  • The order line item is active.

When the OLI is active, the API executes the logic; otherwise, it throws an error.

When you call the Initiate Billing API for a one-time order line item with OrderLineItemIds and ReadyForBillingDate as the payload, it starts processing the OLI. It creates one billing header, one billing schedule record, and one billing schedule detail. The billing schedule record is created with "Pending Billing" status and displays the following information:

  • Bill To
  • Period Start Date
  • Period End Date
  • Actual Fee Amount
  • Ready for Invoice Date

This API is capable of handling several order line items and hence can process several line items in bulk.

Let's process a one-time product with the help of the following example.

Example
Suppose you have configured a one-time order line item with the following details:

Order No.Order Line No.ProductPrice TypeBilling FrequencyStart DateEnd DateQuantityPer Unit PriceNet PriceSelling Term
O-0011ServiceOne TimeOne Time01 Jan 202431 Dec 20241USD 102.00USD 102.001.000
  1. Call the Initiate Billing API.

    MethodPost
    Endpoint/initiatebilling
    Request URLhttps://URL_of_the_Instance/api/billing/v1/billingschedule/initiatebilling
    RequestPass the order line item ID generated by calling the Create Order Line API.
    { "OrderLineItemIds": [ "ef1d9388-501b-47e7-bd99-15f7bcdbb9f2" ], "ReadyForBillingDate": "2024-01-01T11:47:09.555" }
    ResponseThe API returns the Billing Header ID.
    [ { "OrderLineItemId": "ecbe679b-a531-407f-b107-81d37daab2c9", "BillingHeaderId": "2c134781-75c0-4270-aa85-9b2194276b81", "IsSuccess": true, "ErrorMessage": null } ]
  2. Pass the Billing Header ID as a payload to Get the Billing Schedule Record API.

MethodGet
EndpointNA
Request URLhttps://URL_of_the_Instance/api/billing/v1/billingschedule/6397d730-5a78-4c91-b380-dd5845e09453
ResponseThe API generates the billing schedule record.
"BillingHeader": { "Contracted": true, "Status": "Active", "Message": "Success", "CurrentOrderLineItem": { "Id": "ecbe679b-a531-407f-b107-81d37daab2c9", "Name": "Test_122" }, "CurrentOrderNumber": { "Id": "8614eae4-d778-42be-ad66-12fe743211c7", "Name": "Order-AutoQuoteService_Name_0" }, "ProductName": "Test_Standalone_D", "PriceType": "One Time", "PricingSource": "Order Line Item", "BillTo": { "Id": "e3bc1cb9-40e1-4a9e-bfed-8ac7df9de653", "Name": "MS_Test_Acct" }, "BillingStartDate": "2024-01-01T11:47:09.555", "BillingEndDate": "2024-12-31T11:47:09.555", "BillingFrequency": "One Time", "BillingRule": "Bill In Advance", "BillingPreference": { "Id": "cc95bebc-a279-4715-990e-0b2507ea09ea", "Name": "MRS_BillPref_402" }, "Quantity": 1.00000, "SellingTerm": 1.00000000, "Currency": "USD", "NetUnitPrice": { "Value": 102, "DisplayValue": 102, "CurrencyCode": "USD", "CurrencySymbol": "$" }, "CurrentUnbilledAmount": { "Value": 102, "DisplayValue": 102, "CurrencyCode": "USD", "CurrencySymbol": "$" }, "PendingInvoiceAmount": { "Value": 102, "DisplayValue": 102, "CurrencyCode": "USD", "CurrencySymbol": "$" }, "ProrationComputationMethod": "Calendar Days of First Month", "Id": "2c134781-75c0-4270-aa85-9b2194276b81", "Name": "BH-8614eae4-d778-42be-ad66-12fe743211c7", "CreatedBy": { "Id": "72d0d16b-470c-4db7-ae9d-9645fa9c4ea0", "Name": "Contacts user" }, "CreatedDate": "2024-09-07T10:11:35.84", "ModifiedBy": { "Id": "72d0d16b-470c-4db7-ae9d-9645fa9c4ea0", "Name": "Contacts user" }, "ModifiedDate": "2024-09-07T10:11:35.84", "ExternalId": null, "ETag": "e0c4c7ee-f24d-4957-bef8-b679731cf356" }, "BillingScheduleRecords": \[ { "BillingScheduleRecord": { "BillingHeader": { "Id": "2c134781-75c0-4270-aa85-9b2194276b81", "Name": "BH-8614eae4-d778-42be-ad66-12fe743211c7" }, "PeriodStartDate": "2024-01-01T00:00:00", "PeriodEndDate": "2024-12-31T00:00:00", "Currency": "USD", "ActualFeeAmount": { "Value": 102, "DisplayValue": 102, "CurrencyCode": "USD", "CurrencySymbol": "$" }, "Status": "Pending Billing", "PaymentTerm": null, "ReadyForInvoiceDate": "2024-01-01T00:00:00", "Id": "ca0e797d-018a-4663-9276-5afed98c527a", "Name": "BSR-1_8614eae4-d778-42be-ad66-12fe743211c7", "CreatedBy": { "Id": "72d0d16b-470c-4db7-ae9d-9645fa9c4ea0", "Name": "Contacts user" }, "CreatedDate": "2024-09-07T10:11:35.982", "ModifiedBy": { "Id": "72d0d16b-470c-4db7-ae9d-9645fa9c4ea0", "Name": "Contacts user" }, "ModifiedDate": "2024-09-07T10:11:35.982", "ExternalId": null, "ETag": "c8662ca1-447c-48c2-8a0e-98bbee7f6ec1" }, "BillingScheduleDetails": [ { "BillingScheduleRecord": { "Id": "ca0e797d-018a-4663-9276-5afed98c527a", "Name": "BSR-1_8614eae4-d778-42be-ad66-12fe743211c7" }, "RecordType": "Regular", "PeriodStartDate": "2024-01-01T00:00:00", "PeriodEndDate": "2024-12-31T00:00:00", "Category": "Fee", "ActualFeeAmount": { "Value": 102, "DisplayValue": 102, "CurrencyCode": "USD", "CurrencySymbol": "$" }, "Id": "b5c2ab04-636e-4e47-b00e-47251c5dbed7", "Name": "BSD-1_8614eae4-d778-42be-ad66-12fe743211c7", "CreatedBy": { "Id": "72d0d16b-470c-4db7-ae9d-9645fa9c4ea0", "Name": "Contacts user" }, "CreatedDate": "2024-09-07T10:11:36.146", "ModifiedBy": { "Id": "72d0d16b-470c-4db7-ae9d-9645fa9c4ea0", "Name": "Contacts user" }, "ModifiedDate": "2024-09-07T10:11:36.146", "ExternalId": null, "ETag": "e168988e-1313-40d3-a1c5-a7e8a1384c03", "Currency": "USD" } ] } ]

The billing header uses the information from the order line item and contains the following data. Depending upon the information given for the pricing source, It will pick up the pricing information from the order line item or the asset line item. The billing header shows:

Billing Header IDOrder No.Order Line No.ProductPrice TypeBilling FrequencyBilling RuleStart DateEnd DateQuantityNet Unit PriceSelling TermBill ToPricing SourceBilling Preference
BH-001O-0011ServiceOne TimeOne TimeBill In Advance01 Jan 202431 Dec 20241USD 102.001.000ABC CorporationOLIBilling Preference

Only one billing schedule record is generated showing the following output:

Billing Schedule Record No.Billing Header IDPeriod Start DatePeriod End DateActual Fee AmountReady For Invoice DateStatus
BSR-001BH-00101 Jan 202431 Dec 2024USD 102.0001 Jan 2024Pending Billing

The Actual Fee Amount shown in the billing schedule record is the amount billed to the customer.

Billing Schedule Details shows the following information:

Billing Schedule Detail No.Billing Schedule Record No.Record TypePeriod Start DatePeriod End DateCategoryActual Fee Amount
BSD-001BSR-001Regu;lar01 Jan 202431 Dec 2024FeeUSD 102.00