Create multiple invoice schedules for individual charges and generate consolidated invoices through the REST API
Create and manage multiple invoice schedules for specific charges using the REST API, enabling consolidated invoice generation for orders with multiple products and services.
You can use the Create an invoice schedule operation to specify specific charges to be billed during the processing of each invoice schedule item for orders or subscriptions that contain multiple products and services.
To create an invoice schedule based to bill specific charges through the REST API, perform the following steps:
- Determine the number of each charge that you want to bill in the invoice schedule.
- Determine whether the invoice items created from the invoice schedule appear on a separate invoice during invoice generation.
- Determine the information that you want to create for each invoice schedule item.
-
Use the Create an invoice schedule
operation to send a creation request.
For charge C-00000001, you can create an invoice schedule containing three invoice schedule items, covering the same annual platform fee as the billed amount on the same date of each year.
The following table lists a sample API request that creates an invoice schedule for charge C-00000001, and the corresponding response that is returned.
Request sample
Response sample
{ "accountKey": "A00000970", "orders": [ "O-00000001" ], "specificSubscriptions": [ { "orderKey": "O-00000001", "subscriptionKey": "S-00000001", "chargeNumbers": [ "C-00000001" ] } ], "scheduleItems": [ { "name": "Annual Platform Fee | Year 1 ", "runDate": "2023-12-01", "amount": 50000 }, { "name": "Annual Platform Fee | Year 2 ", "runDate": "2024-12-01", "amount": 50000 }, { "name": "Annual Platform Fee | Year 3 ", "runDate": "2025-12-01", "amount": 50000 } ], "invoiceSeparately": false, "notes": "Annual Platform Fee" }{ "id": "e3d51b07c8a4462ab6a819b79ce6e244", "accountId": "8a90988c8bfbc756018bfee6cede0892", "number": "IS-00000001", "notes": "Annual Platform Fee", "status": "Pending", "nextRunDate": "2023-12-01", "totalAmount": 150000, "actualAmount": 150000, "billedAmount": 0, "unbilledAmount": 150000, "scheduleItems": [ { "id": "8a90f13b8bfbd8a3018bfeeebb941a0d", "amount": 50000, "actualAmount": 50000, "percentage": null, "status": "Pending", "invoiceId": null, "creditMemoId": null, "runDate": "2023-12-01", "name": "Annual Platform Fee | Year 1 ", "targetDateForAdditionalSubscriptions": null, "PONumber__c": "PO number value", "integer__c": 1000, "boolean__c": false, "picklist__c": "One" }, { "id": "8a90f13b8bfbd8a3018bfeeebb9a1a0e", "amount": 50000, "actualAmount": 50000, "percentage": null, "status": "Pending", "invoiceId": null, "creditMemoId": null, "runDate": "2024-12-01", "name": "Annual Platform Fee | Year 2 ", "targetDateForAdditionalSubscriptions": null, "PONumber__c": "PO number value", "integer__c": 1000, "boolean__c": false, "picklist__c": "One" }, { "id": "8a90f13b8bfbd8a3018bfeeebb9e1a0f", "amount": 50000, "actualAmount": 50000, "percentage": null, "status": "Pending", "invoiceId": null, "creditMemoId": null, "runDate": "2025-12-01", "name": "Annual Platform Fee | Year 3 ", "targetDateForAdditionalSubscriptions": null, "PONumber__c": "PO number value", "integer__c": 1000, "boolean__c": false, "picklist__c": "One" } ], "orders": [ "O-00000001" ], "specificSubscriptions": [ { "orderKey": "O-00000001", "subscriptionKey": "S-00000001", "chargeNumbers": [ "C-00000001" ] } ], "invoiceSeparately": false, "additionalSubscriptionsToBill": [], "currency": "USD", "success": true }For charge C-00000002, you can create an invoice schedule containing two invoice schedule items, covering the same verification fee as the billed amount on different dates.
The following table lists a sample API request that creates an invoice schedule for charge C-00000002, and the corresponding response that is returned.
Request sample
Response sample
{ "accountKey": "A00000970", "orders": [ "O-00000001" ], "specificSubscriptions": [ { "orderKey": "O-00000001", "subscriptionKey": "S-00000001", "chargeNumbers": [ "C-00000002" ] } ], "scheduleItems": [ { "name": "First Time Verification Fee | Milestone 1", "runDate": "2023-12-01", "amount": 1000000 }, { "name": "First Time Verification Fee | Milestone 1", "runDate": "2024-05-01", "amount": 1000000 } ], "invoiceSeparately": false, "notes": "First Time Verification Fee" }{ "id": "ce028b1486f14ba89153434224b5b716", "accountId": "8a90988c8bfbc756018bfee6cede0892", "number": "IS-00000002", "notes": "First Time Verification Fee", "status": "Pending", "nextRunDate": "2023-12-01", "totalAmount": 2000000, "actualAmount": 2000000, "billedAmount": 0, "unbilledAmount": 2000000, "scheduleItems": [ { "id": "8a90988c8bfbc756018bfef49ff0098b", "amount": 1000000, "actualAmount": 1000000, "percentage": null, "status": "Pending", "invoiceId": null, "creditMemoId": null, "runDate": "2023-12-01", "name": "First Time Verification Fee | Milestone 1", "targetDateForAdditionalSubscriptions": null, "PONumber__c": "PO number value", "integer__c": 1000, "boolean__c": false, "picklist__c": "One" }, { "id": "8a90988c8bfbc756018bfef49ff7098c", "amount": 1000000, "actualAmount": 1000000, "percentage": null, "status": "Pending", "invoiceId": null, "creditMemoId": null, "runDate": "2024-05-01", "name": "First Time Verification Fee | Milestone 1", "targetDateForAdditionalSubscriptions": null, "PONumber__c": "PO number value", "integer__c": 1000, "boolean__c": false, "picklist__c": "One" } ], "orders": [ "O-00000001" ], "specificSubscriptions": [ { "orderKey": "O-00000001", "subscriptionKey": "S-00000001", "chargeNumbers": [ "C-00000002" ] } ], "invoiceSeparately": false, "additionalSubscriptionsToBill": [], "currency": "USD", "success": true }For charge-00000003, you can create an invoice schedule containing four invoice schedule items, covering the same verification fee as the billed amount on separate dates, respectively.
The following table lists a sample API request that creates an invoice schedule for charge C-00000003, and the corresponding sample response that is returned.
Request sample
Response sample
{ "accountKey": "A00000970", "orders": [ "O-00000001" ], "specificSubscriptions": [ { "orderKey": "O-00000001", "subscriptionKey": "S-00000001", "chargeNumbers": [ "C-00000003" ] } ], "scheduleItems": [ { "name": "Ongoing Verification Fee | Milestone 1", "runDate": "2024-06-01", "amount": 250000 }, { "name": "Ongoing Verification Fee | Milestone 2", "runDate": "2024-09-01", "amount": 250000 }, { "name": "Ongoing Verification Fee | Milestone 3", "runDate": "2024-12-01", "amount": 250000 }, { "name": "Ongoing Verification Fee | Milestone 4", "runDate": "2025-03-01", "amount": 250000 } ], "invoiceSeparately": false, "notes": "Ongoing Verification Fee" }{ "id": "7321fe3878f14995b71f0fe93038694c", "accountId": "8a90988c8bfbc756018bfee6cede0892", "number": "IS-00000003", "notes": "Ongoing Verification Fee", "status": "Pending", "nextRunDate": "2023-06-01", "totalAmount": 1000000, "actualAmount": 1000000, "billedAmount": 0, "unbilledAmount": 1000000, "scheduleItems": [ { "id": "8a90f13b8bfbd8a3018bfefa2dd91fc1", "amount": 250000, "actualAmount": 250000, "percentage": null, "status": "Pending", "invoiceId": null, "creditMemoId": null, "runDate": "2024-06-01", "name": "Ongoing Verification Fee | Milestone 1", "targetDateForAdditionalSubscriptions": null, "PONumber__c": "PO number value", "integer__c": 1000, "boolean__c": false, "picklist__c": "One" }, { "id": "8a90f13b8bfbd8a3018bfefa2ddc1fc2", "amount": 250000, "actualAmount": 250000, "percentage": null, "status": "Pending", "invoiceId": null, "creditMemoId": null, "runDate": "2024-09-01", "name": "Ongoing Verification Fee | Milestone 2", "targetDateForAdditionalSubscriptions": null, "PONumber__c": "PO number value", "integer__c": 1000, "boolean__c": false, "picklist__c": "One" }, { "id": "8a90f13b8bfbd8a3018bfefa2ddf1fc3", "amount": 250000, "actualAmount": 250000, "percentage": null, "status": "Pending", "invoiceId": null, "creditMemoId": null, "runDate": "2024-12-01", "name": "Ongoing Verification Fee | Milestone 3", "targetDateForAdditionalSubscriptions": null, "PONumber__c": "PO number value", "integer__c": 1000, "boolean__c": false, "picklist__c": "One" }, { "id": "8a90f13b8bfbd8a3018bfefa2de21fc4", "amount": 250000, "actualAmount": 250000, "percentage": null, "status": "Pending", "invoiceId": null, "creditMemoId": null, "runDate": "2025-03-01", "name": "Ongoing Verification Fee | Milestone 4", "targetDateForAdditionalSubscriptions": null, "PONumber__c": "PO number value", "integer__c": 1000, "boolean__c": false, "picklist__c": "One" } ], "orders": [ "O-00000001" ], "specificSubscriptions": [ { "orderKey": "O-00000001", "subscriptionKey": "S-00000001", "chargeNumbers": [ "C-00000003" ] } ], "invoiceSeparately": false, "additionalSubscriptionsToBill": [], "currency": "USD", "success": true }