Skip to main content

Create multiple invoice schedules for individual charges and generate consolidated invoices

Zuora

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:

  1. In the upper right of the corresponding order details page, click Create Invoice Schedule.
    The Create Invoice Schedule page is displayed.
  2. In the Basic Information section, specify the charges you want to bill in the invoice schedule.
    1. Click the "Select Subscriptions or Charges" link next to the order number displayed in the Order Number field.
    2. 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.
    3. 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.
  3. 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.
  4. In the Schedule Items section, configure information about schedule items contained in the invoice schedule:
    1. Click Add Item With Amount.
    2. In the Add New Schedule Item dialog, configure information about schedule item 1.
      1. In the Name field, specify a name for the schedule item, for example, Annual Platform Fee | Year 1.
      2. In the Run Date field, set the invoice date to 12/01/2023
      3. In the Amount field, specify the amount to be billed during the processing of the invoice schedule item.
        In this example, enter 50000.
      4. In the Service Start Date field, specify the date when the service starts. 
      5. Click Save to save the invoice schedule item information.
    3. Click Add Schedule Item.
    4. In the Add New Schedule Item dialog, configure information about schedule item 2.
      1. In the Name field, specify a name for the schedule item, for example, Annual Platform Fee | Year 2.
      2. In the Run Date field, set the invoice date to 12/01/2024
      3. In the Amount field, specify the amount to be billed during the processing of the invoice schedule item.
        In this example, enter 50000.
      4. In the Service Start Date field, specify the date when the service starts. 
      5. Click Save to save the invoice schedule item information.
    5. Click Add Schedule Item.
    6. In the Add New Schedule Item dialog, configure information about schedule item 3.
      1. In the Name field, specify a name for the schedule item, for example, Annual Platform Fee | Year 3.
      2. In the Run Date field, set the invoice date to 12/01/2025
      3. In the Amount field, specify the amount to be billed during the processing of the invoice schedule item.
        In this example, enter 50000.
      4. In the Service Start Date field, specify the date when the service starts. 
      5. Click Save to save the invoice schedule item information.
  5. In the upper right of the Create Invoice Schedule page, click Create Invoice Schedule.
  6. 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:

  1. Determine the number of each charge that you want to bill in the invoice schedule.
  2. Determine whether the invoice items created from the invoice schedule appear on a separate invoice during invoice generation.
  3. Determine the information that you want to create for each invoice schedule item.
  4. 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