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. | Product | Price Type | Billing Frequency | Start Date | End Date | Quantity | Per Unit Price | Net Price | Selling Term |
---|---|---|---|---|---|---|---|---|---|---|
O-001 | 1 | Service | One Time | One Time | 01 Jan 2024 | 31 Dec 2024 | 1 | USD 102.00 | USD 102.00 | 1.000 |
-
Call the Initiate Billing API.
Method Post Endpoint /initiatebilling Request URL https://URL_of_the_Instance/api/billing/v1/billingschedule/initiatebilling Request Pass 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" }
Response The API returns the Billing Header ID. [ { "OrderLineItemId": "ecbe679b-a531-407f-b107-81d37daab2c9", "BillingHeaderId": "2c134781-75c0-4270-aa85-9b2194276b81", "IsSuccess": true, "ErrorMessage": null } ]
-
Pass the Billing Header ID as a payload to Get the Billing Schedule Record API.
Method | Get |
---|---|
Endpoint | NA |
Request URL | https://URL_of_the_Instance/api/billing/v1/billingschedule/6397d730-5a78-4c91-b380-dd5845e09453 |
Response | The 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 ID | Order No. | Order Line No. | Product | Price Type | Billing Frequency | Billing Rule | Start Date | End Date | Quantity | Net Unit Price | Selling Term | Bill To | Pricing Source | Billing Preference |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BH-001 | O-001 | 1 | Service | One Time | One Time | Bill In Advance | 01 Jan 2024 | 31 Dec 2024 | 1 | USD 102.00 | 1.000 | ABC Corporation | OLI | Billing Preference |
Only one billing schedule record is generated showing the following output:
Billing Schedule Record No. | Billing Header ID | Period Start Date | Period End Date | Actual Fee Amount | Ready For Invoice Date | Status |
---|---|---|---|---|---|---|
BSR-001 | BH-001 | 01 Jan 2024 | 31 Dec 2024 | USD 102.00 | 01 Jan 2024 | Pending 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 Type | Period Start Date | Period End Date | Category | Actual Fee Amount |
---|---|---|---|---|---|---|
BSD-001 | BSR-001 | Regu;lar | 01 Jan 2024 | 31 Dec 2024 | Fee | USD 102.00 |
Updated 10 months ago