Create multiple invoice schedules for individual charges and generate consolidated invoices
With the Billing Schedule feature, you can create multiple invoice schedules for distinct subscriptions or individual charges if your customers purchase various products and services through a single contract. Through this approach, you can easily track when each subscription or charge is triggered based on the predefined invoice schedule, ensuring a precise alignment with the contract structure.
If you create multiple invoice schedules to bill your customers, the mapping between orders or subscriptions and invoice schedules varies depending on actual situations.
- For multiple invoice schedules created for separate subscriptions within the same order, the order is linked with the last created invoice schedule.
- For multiple invoice schedules created for individual charges within the same subscription, the subscription is linked with the last created invoice schedule.
Context
For a multiyear order containing various products and services, you can create distinct invoice schedules for each specific charge contained in the subscriptions based on business requirements.
Assume that your customer inks a two-year agreement that covers one order O-00000001, containing one subscription with three charges in the same term of 36 months. Your customer expects to receive invoices based on years and service types.
The following table lists information on subscription S-00000001 contained in order O-00000001.
Charge name | Charge number | Charge start date | Term (Month) | Charge end date | Selling price | List price base | Billing period |
---|---|---|---|---|---|---|---|
Annual Platform Fee | C-00000001 | 12/01/2023 | 36 | 11/30/2024 | $50,000.00 annually | Annual | 36 months |
First Time Verification Fee | C-00000002 | 12/01/2024 | 36 | 11/30/2025 | $2,000,000.00 every three years | 36 months | 36 months |
Ongoing Verification Fee | C-00000003 | 12/01/2025 | 36 | 11/30/2026 | $1,000,000.00 every three years | 36 months | 36 months |
To bill your customer as needed, you can create three invoice schedules, one to bill the annual platform fee for three years, one for the first-time verification, and one for the ongoing verification. Expected to generate seven invoices on different dates for the subscription, you can create invoice schedules through the Zuora UI or REST API.
Create multiple invoice schedules for individual charges and generate consolidated invoices through the Zuora UI
To specify specific charges to be billed through invoice schedules through the Zuora UI to meet business requirements, perform the following steps:
- In the upper right of the corresponding order details page, click Create Invoice Schedule.
The Create Invoice Schedule page is displayed. - In the Basic Information section, specify the charges you want to bill in the invoice schedule.
- Click the "Select Subscriptions or Charges" link next to the order number displayed in the Order Number field.
- In the Change Subscriptions dialog, expand the arrow next to subscription S-00000001, and then clear the checkbox next to the number of the charges you want to exclude from the invoice schedule.
For the first invoice schedule in this example, only select the checkbox next to the Annual Platform Fee charge. - Click Done to save the charge number changes.
The number of the selected charge is displayed under the Specific Order Subscriptions field. In this example, charge C-00000001 is displayed.
- In the Additional Information section, select No from the Invoice Separately list to ensure that one consolidated invoice is generated during the processing of invoice schedule items with the same invoice date.
- In the Schedule Items section, configure information about schedule items contained in the invoice schedule:
- Click Add Item With Amount.
- In the Add New Schedule Item dialog, configure information about schedule item 1.
- In the Name field, specify a name for the schedule item, for example, Annual Platform Fee | Year 1.
- In the Run Date field, set the invoice date to 12/01/2023.
- In the Amount field, specify the amount to be billed during the processing of the invoice schedule item.
In this example, enter 50000. - In the Service Start Date field, specify the date when the service starts.
- Click Save to save the invoice schedule item information.
- Click Add Schedule Item.
- In the Add New Schedule Item dialog, configure information about schedule item 2.
- In the Name field, specify a name for the schedule item, for example, Annual Platform Fee | Year 2.
- In the Run Date field, set the invoice date to 12/01/2024.
- In the Amount field, specify the amount to be billed during the processing of the invoice schedule item.
In this example, enter 50000. - In the Service Start Date field, specify the date when the service starts.
- Click Save to save the invoice schedule item information.
- Click Add Schedule Item.
- In the Add New Schedule Item dialog, configure information about schedule item 3.
- In the Name field, specify a name for the schedule item, for example, Annual Platform Fee | Year 3.
- In the Run Date field, set the invoice date to 12/01/2025.
- In the Amount field, specify the amount to be billed during the processing of the invoice schedule item.
In this example, enter 50000. - In the Service Start Date field, specify the date when the service starts.
- Click Save to save the invoice schedule item information.
- In the upper right of the Create Invoice Schedule page, click Create Invoice Schedule.
- In the displayed Confirmation dialog, click Yes to confirm invoice schedule creation.
Invoice schedule IS-0000001 is created to bill the three-year annual platform fee, containing three invoice schedule items, one for each year.
You can follow the preceding procedure to create invoice schedules for charges C-00000002 and C-00000003, with the following major differences:
- Charge selection: Select charge C-00000002 for the second invoice schedule and C-00000003 for the third invoice schedule.
- Schedule item configuration: Specify two invoice schedule items for the second invoice schedule and four for the third invoice schedule.
The following table lists the information on the invoice schedules that are created:
Invoice schedule | Invoice schedule item | Name | Run date | Amount | Billed amount | Schedule item status | Billing document |
---|---|---|---|---|---|---|---|
IS-00000001 |
1 |
Annual Platform Fee | Year 1 |
12/01/2023 |
$50,000.00 |
- | Pending | - |
2 |
Annual Platform Fee | Year 2 |
12/01/2024 |
$50,000.00 |
- | Pending | - | |
3 | Annual Platform Fee | Year 3 | 12/01/2025 | $50,000.00 | - | Pending | - | |
IS-00000002 |
1 |
First Time Verification Fee | Milestone 1 |
12/01/2023 |
$1,000,000.00 |
- | Pending | - |
2 | First Time Verification Fee | Milestone 2 | 05/01/2024 | $1,000,000.00 | - | Pending | - | |
IS-00000003 | 1 | Ongoing Verification Fee | Milestone 1 | 06/01/2024 | $250,000.00 | - | Pending | - |
2 | Ongoing Verification Fee | Milestone 2 | 09/01/2024 | $250,000.00 | - | Pending | - | |
3 | Ongoing Verification Fee | Milestone 3 | 12/01/2024 | $250,000.00 | - | Pending | - | |
4 | Ongoing Verification Fee | Milestone 4 | 03/01/2025 | $250,000.00 | - | Pending | - |
Create multiple invoice schedules for individual charges and generate consolidated invoices through the REST API
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 } |
Billing document generation details
On the specific dates that are specified during invoice schedule creation, invoices are automatically for your customer. generated the following operations automatically occur:
- On 1 December 2023, Zuora Scheduler automatically processes invoice schedule item 1 of invoice schedule IS-00000001 and invoice schedule item 1 of invoice schedule IS-00000002. A consolidated invoice INV00000001 is generated with an amount of $1,000.00. The status of each processed invoice schedule item changes to Processed from Pending. The status of each invoice schedule becomes Partially Processed, and the next run date changes to the date specified for invoice schedule item 2.
- On 1 May 2024, Zuora Scheduler automatically processed invoice schedule item 2 of invoice schedule IS-00000002. Invoice INV00000002 is generated with an amount of $1000,000.00. The status of invoice schedule item 2 changes to Processed from Pending. The status of invoice schedule IS-00000002 becomes Fully Processed, and its next run date is null.
- On 1 June 2024, Zuora Scheduler automatically processes invoice schedule item 1 of invoice schedule IS-00000003. Invoice INV00000003 is generated with an amount of $250,000.00. The status of invoice schedule item 1 changes to Processed from Pending. The status of invoice schedule IS-00000003 becomes Partially Processed, and its next run date is 09/01/2024.
- On 1 September 2024, Zuora Scheduler automatically processes invoice schedule item 2 of invoice schedule IS-00000003. Invoice INV00000004 is generated with an amount of $250,000.00. The status of invoice schedule item 2 changes to Processed from Pending. The status of invoice schedule IS-00000003 is still Partially Processed, and its next run date is 12/01/2024.
- On 1 December 2024, Zuora Scheduler automatically processes invoice schedule item 2 of invoice schedule IS-00000001 and invoice schedule item 3 of invoice schedule IS-00000003. A consolidated invoice INV00000005 is generated with an amount of $300,000.00. The status of each processed invoice schedule item changes to Processed from Pending. The status of each invoice schedule is still Partially Processed, and the next run date changes to the date specified for the next invoice schedule item.
- On 1 March 2025, Zuora Scheduler automatically processes invoice schedule item 4 of invoice schedule IS-00000003. Invoice INV00000006 is generated with an amount of $500.00. The status of invoice schedule item 4 changes to Processed from Pending. The status of invoice schedule IS-00000003 becomes Fully Processed, and its next run date iis null.
- On 1 December 2025, Zuora Scheduler automatically processed invoice schedule item 3 of invoice schedule IS-00000001. Invoice INV00000007 is generated with an amount of $50,000.00. The status of invoice schedule item 3 changes to Processed from Pending. The status of invoice schedule IS-00000001 becomes Fully Processed, and its next run date is null.
The following table lists the information on the invoices generated during the processing of the three invoice schedules that are fully processed.
Invoice number | Invoice date | Invoice item | Charge number | Service start date | Service end date | Amount | Total amount |
---|---|---|---|---|---|---|---|
INV00000001 | 12/01/2023 | Invoice item 1 | C-00000001 | 12/01/2023 | 11/30/2024 | $50,000.00 | $1,050,000.00 |
Invoice item 2 | C-00000002 | 12/01/2023 | 05/31/2024 | $1,000,000.00 | |||
INV00000002 | 05/01/2024 | Invoice item 1 | C-00000002 | 12/01/2023 | 11/30/2025 | $1,000,000.00 | $1,000,000.00 |
INV00000003 | 06/01/2024 | Invoice item 1 | C-00000003 | 12/01/2023 | 08/31/2024 | $250,000.00 | $250,000.00 |
INV00000004 | 09/01/2024 | Invoice item 1 | C-00000003 | 09/01/2024 | 05/31/2025 | $250,000.00 | $250,000.00 |
INV00000005 | 12/01/2024 | Invoice item 1 | C-00000001 | 12/01/2024 | 11/30/2025 | $50,000.00 | $300,000.00 |
Invoice item 2 | C-00000003 | 06/01/2025 | 02/28/2026 | $250,000.00 | |||
INV00000006 | 03/01/2025 | Invoice item 1 | C-00000003 | 03/01/2025 | 11/30/2026 | $250,000.00 | $250,000.00 |
INV00000007 | 12/01/2025 | Invoice item 1 | C-00000001 | 12/01/2025 | 11/30/2026 | $50,000.00 | $50,000.00 |