Overview of Billing Schedule
The Billing Schedule feature provides you the capability and flexibility to bill your customers based on contract negotiations or project milestones. You can use this feature to generate invoices based on predefined invoicing dates and amounts.
- You can customize invoicing dates that do not follow standard billing frequencies such as monthly, quarterly, or annually.
- You can define invoicing amounts that vary based on certain criteria.
Without the Billing Schedule feature, you have to use standard billing schedules to bill customers with fixed amounts based on a regular billing period, such as monthly, quarterly, or annually. With this feature, you can bill orders, subscriptions, and charges on customized schedules instead of regular schedules, and then automatically generate invoices for the orders, subscriptions, and charges based on configured invoice schedules. When creating custom invoice schedules, you can either specify a fixed amount or a percentage of the total billing amount for each invoice schedule item.
For example, you want to generate four invoices for a subscription with a term of 12 months and a total amount of $12,000. Without the Billing Schedule feature, you might have to bill $3,000 quarterly in each invoice on the first day of January, April, July, and October. With this feature, you can flexibly bill $3,000 in the first invoice on February 3, $4,000 in the second invoice on July 12, $3,000 in the second invoice on October 20, and the remaining $2,000 in the fourth invoice on November 28.
Additionally, you have the flexibility to charge your customers by specifying percentages during invoice schedule creation, allowing you to synchronize billing with project milestones. For example, in a three-milestone project, you can invoice 10% for milestone 1, 20% for milestone 2, and 70% for milestone 3 through the corresponding invoices.
Feature availability
The Billing Schedule feature is generally available. You must have the Orders or Orders Harmonization feature enabled to enable this feature. You can enable this feature in Sandbox and Production environments with the self-serve interface. For more information, see Enable billing features by yourself.
Key concepts
To get an overall understanding of the Billing Schedule feature, keep the following key concepts in mind:
- Invoice schedule
An invoice schedule consists of one or more invoice schedule items that can be picked up by ad hoc bill runs, which are hourly scheduled by Zuora. Each invoice schedule item can trigger an invoice generation process. You can specify the triggering date when an invoice is generated, and specify the amount to be billed in each invoice. - Invoice schedule item
An invoice schedule item contains information that is needed for triggering an invoice generation process. Each invoice schedule item is picked up and triggered by an ad hoc bill run on the scheduled date to generate an invoice with the scheduled amount.
For information on how to start using this feature, see Get started with Billing Schedule.
Invoice generation rules in Billing Schedule
You have the flexibility to create invoice schedules involving one single year or spanning multiple years. The invoice generation rules might vary for invoice schedules with different terms.
Invoice amount allocation to invoice items
During the invoice generation process, the amount allocated to invoice items follows the following rules:
- The invoice amount is allocated to invoice items based on the annual price.
- For multiple charges contained in different subscriptions, charges are consumed in sequential order by charge start date. The charges with the same start date are consumed together and are billed proportionally into the scheduled invoices.
For a specific use case, see Create single-year invoice schedules for charges with different start dates and end dates within one term. - The total billed amount sums to the total amount of the selling price for each individual charge.
The amount allocated to each invoice item is calculated based on the following formula:
(Billed invoice amount ÷ Total invoice amount) × Selling price
For a specific use case, see Create single-year invoice schedules on new subscriptions with the same term.
Service period determination on invoice items
During the invoice generation process, the service period of each invoice item is determined by the charge amount that is billed in the invoice, calculated in the following formula:
(Invoice item amount ÷ Selling price) × Number of months in the subscription term
The calculation of the service period is determined by month first, and then by day. The calculated result rounds the date up because a portion of that day is consumed.
The calculation of days depends on the option selected for the When prorating a month, assume 30 days in a month or use actual days? billing rule.
- To use the actual number of days in the month of a proration, select Use actual number of days.
- To always use thirty days in a month for a proration, select Assume 30 days in a month.
Assume that the calculated service period is 6.7 months indicating 6 months plus 0.7 months, and the charge start date is 01/01/2022.
- If the Use actual number of days option is selected, the number of calculated days is actually 21.7 days, the calculation result of 0.7 * 31 days. A portion of 07/22/2022 is consumed, so the service period is set to be 01/01/2022 to 07/22/2022.
- If the Assume 30 days in a month option is selected, the number of calculated days is actually 21 days, the calculation result of 0.7 * 30 days. Then, the service period is set to be 01/01/2022 to 07/21/2022.
Credit memo generation in Billing Schedule
After an invoice schedule is created for an order, if you cancel a subscription or remove a charge, credit memos are generated automatically for the change.
- If a charge is removed or a subscription is canceled, a credit memo is generated automatically on the date when the removal or cancellation takes effect to generate credit memos. If the charge for subscription is associated with an invoice schedule that has pending schedule items, the next invoice schedule item in Pending status is automatically processed on the date when the removal or cancellation takes effect.
- If multiple charges are removed or multiple subscriptions are canceled, a credit memo is automatically generated on the earliest date when any removal or cancellation takes effect.
- If a subscription contains invoice schedule charges and non-scheduled charges, the credit memo is generated along with the next invoice.
Invoice generation approaches in Billing Schedule
The following table lists the approaches to generating invoices and their compatibility with the Billing Schedule feature.
Invoice generation approach | Compatibility with the Billing Schedule feature |
---|---|
Billing Schedule |
With the Billing Schedule feature, Zuora Scheduler automatically generates invoices with specific amounts on predefined dates, and scans any related change every hour. If the dates or amounts of pending invoice schedule items are updated, Zuora Scheduler can pick up the change in the next scan. Since Zuora Scheduler scans existing invoice schedules hourly and generates ad hoc bill runs for all accounts that apply, the users who create or update invoice schedules must have the Do Bill Runs For Multiple Accounts permission. Otherwise, the auto-generation of the ad hoc bill runs will fail.
|
Execute an invoice schedule API operation |
You can use the “Execute an invoice schedule” API operation to generate an invoice for a specific invoice schedule item. If you do not specify any invoice schedule item in the request, the next invoice schedule item in Pending status is executed. |
UI for invoice schedules |
You can use the Zuora UI for invoice schedules to generate an invoice for a specific invoice schedule item. If an invoice schedule is fully processed, and has credit to be generated, you can trigger an ad hoc bill run from the Zuora UI. The ad hoc bill run can generate a credit memo. For more information, see Execute invoice schedules. |
|
You can use the Zuora UI and REST API to generate invoices for subscriptions associated with invoice schedules by specifying an account or a batch of accounts. Meanwhile, regular subscriptions are also billed |
Generate billing documents by account ID API operation |
This API operation can work with invoice schedules.
|
Invoice and collect API operation |
You can use the “Invoice and collect” API operation to generate invoices for all the unbilled subscriptions that belong to the account, regardless of whether the subscriptions are associated with invoice schedules. The invoice schedule items with dates earlier than the target date are picked up. |
Orders API operations |
You can use the following API operations to generate billing documents for the charges that are associated with the corresponding invoice schedule: |
Generate action (not recommended) |
You can use the "Generate" action to generate invoices for all the unbilled subscriptions that belong to the account, regardless of whether the subscriptions are associated with invoice schedules. The invoice schedule items with dates earlier than the target date are picked up. |
Percentage-based amount billing
When creating invoice schedules, you can specify a percentage of the total amount for each invoice schedule item rather than a fixed amount. The sum of the percentage specified for each milestone in each invoice schedule item must equal 100%.
If you specify a percentage, the actual amount billed during the processing of an invoice schedule item is automatically calculated based on the total amount, and the calculation adheres to the currency rounding settings. If any remaining cents exist after rounding, they are covered by the last invoice schedule item. If you specify a percentage for each invoice schedule item, you cannot make any update to the Amount field.
This functionality facilitates aligning your billing with project milestones. For example, you can create an invoice schedule for a three-milestone project:
- Bill 10% of the total amount for milestone 1 through the processing of invoice schedule 1.
- Bill 20% of the total amount for milestone 2 through the processing of invoice schedule 2.
- Bill 70% of the total amount for milestone 3 through the processing of invoice schedule 3.
During invoice schedule creation, no $0 schedule item is allowed. In a billing plan like 50/0/50, the second milestone cannot be recorded in the invoice schedule object. An invoice schedule containing two invoice schedule items is created, each item covering half of the total billing amount.
If the total amount is increased or decreased due to an order change, such as adding a product, percentage update behaviors vary based on the invoice schedule status.
- If all invoice schedule items are pending, you can update the percentage specified in each invoice schedule item. If you do not update any percentage, the actual amounts are updated automatically according to the total amount.
- If any invoice schedule item has been processed, you cannot update the percentage specified in any invoice schedule item. Invoice schedule items are billed with their existing actual amounts. The last invoice schedule item gets the unbilled amount.
If the total amount remains unchanged for an invoice schedule, you can update the percentage for any pending invoice schedule items. Then, the actual amounts billed during the processing of the affected schedule items are recalculated automatically according to the percentage updates.
For detailed information about a common use case, see Create percentage-based invoice schedules for professional services during project milestone billing.
Multiple invoice schedules for one single order
With the Billing Schedule feature, you have the flexibility to create multiple invoice schedules for separate subscriptions or individual charges for one single order.
- You can choose one or multiple one-time or recurring charges from your subscriptions for billing. With this functionality, you can bill specific charges at custom intervals, while billing others in regular billing cycles.
- You can also set up multiple invoice schedules for distinct subscriptions of the same order. This approach ensures a precise alignment with the corresponding contract structure.
For detailed information about a common use case, see Create multiple invoice schedules for a single order within a multiyear contract.
When you have multiple invoice schedules for one order, the following diagram shows how the invoice schedules are associated with the order, subscription, charge, and billing documents.
- The fields or objects in Green are newly introduced by the Billing Schedule feature.
- If multiple invoice schedules are created for separate subscriptions within the same order, the order is linked with the last invoice schedule. The
invoiceScheduleId
field on the Order object refers to the last Invoice Schedule object. - If multiple invoice schedules are created for individual charges within the same subscription, the subscription is linked with the latest invoice schedule. The
invoiceScheduleId
field on the Subscription object refers to the last Invoice Schedule object. - If multiple invoice schedules are created for different terms of a subscription, the
invoiceScheduleId
field on the Subscription object stores the latest invoice schedule. - The charge is linked with the invoice schedule which the charge is included into. The
invoiceScheduleId
field on the Rate Plan Charge object refers to the Invoice Schedule object that the charge belongs to. - After an invoice schedule item is executed and generates an invoice, the invoice schedule item is associated with the generated invoice. If a credit memo is generated during execution because charges are removed or subscriptions are canceled, the invoice schedule item is also associated with the credit memo. The
invoiceId
andcreditMemoId
fields on the Invoice Schedule Item object maintain the relationships. - Each invoice item on the invoice is associated with the corresponding invoice schedule item used for its generation. If a single invoice consolidates items from various invoice schedules, each invoice item is associated with its respective invoice schedule and invoice schedule item. The association also applies to credit memo items. The
invoiceScheduleId
andinvoiceScheduleItemId
fields on the Invoice Item and Credit Memo Item objects maintain the relationships.
Invoice schedules for ramp deals
With the Billing Schedule feature, you have the flexibility to create invoice schedules for a ramp deal.
- You can define an invoice schedule with the schedule items for generating invoices for your defined invoice amounts and dates, not necessarily aligning with each ramp deal interval.
- You can also change the subscription and define an invoice schedule specific to the change, for example, adding or replacing a product.
For detailed information about a common use case, see Create invoice schedules for ramp deals.
Restrictions and limitations
When using the Billing Schedule feature, keep the following restrictions and limitations in mind:
Item | Restrictions and limitations |
---|---|
Charge types |
Only one-time or recurring charges are supported. Recurring charges with the Delivery Pricing charge model are not supported. The Billing Schedule feature requires that one-time charges be credited back if they are removed or canceled. If you set the Enable credit back for removing or canceling one-time charge billing rule to No, you cannot remove or cancel one-time charges. However, if you want not to provide credit for one-time charges after they are billed, you can first set the billing rule to Yes as an alternative option. Then, in this case, you have to write off the corresponding credit memo. |
Discount charge models |
Both one-time and recurring charges with the Discount - Percentage charge model are supported. The Discount - Fixed Amount charge model is not supported. The discount support applies to both rate plan and subscription levels, while account-level discounts are not supported. |
Charge settings |
For the charges in orders, you must configure the following settings:
If you set Billing Cycle Type to Term Start Date or Term End Date for charges, you cannot change the term start date and term end date for the current term after creating the corresponding invoice schedule. |
Orders |
Only termed subscriptions are supported.
|
Orders Harmonization | With the Orders Harmonization feature, you can create orders through Orders API operations, and create invoice schedules for orders through the REST API, and change subscriptions through the Amendment UI, the Amend action, or Orders API operations. The Orders UI is not available. |
Subscriptions |
If you use the Flexible Billing Attributes feature, subscriptions associated with an invoice schedule must have the same billing attributes including bill-to contacts, payment terms, invoice templates, and sequence sets. For more information about the Flexible Billing Attributes feature, see Flexible Billing Attributes. |
Billing periods |
The billing period of a rate plan charge must be equal to or greater than the term length of the rate plan charge. For example:
|
Order actions |
Some order actions are not supported in specific scenarios.
For detailed information about the order actions supported by invoice schedules in different statuses, see Supported order action types. The Terms And Conditions order action is only supported in some cases, see Update subscription term start and service activation dates to align with GLD. |
Data limits |
The following data limits exist for the Billing Schedule feature.
|
Supported order action types
For orders associated with invoice schedules, which types of order actions are supported depends on the status of the associated invoice schedule.
The following table lists the mapping between the types of supported order actions and the status of invoice schedules.
Order action types | Invoice schedule status | ||
---|---|---|---|
Pending | Partially Processed | Fully Processed | |
Creating a subscription |
✅ |
✅ |
✅ |
Adding a product to a subscription Note that new products will not be included in the existing invoice schedule. |
✅ |
✅ |
✅ |
Removing a product from a subscription |
✅ |
✅ |
✅ |
Updating a product from the beginning of a rate plan charge |
✅ |
🚫 |
🚫 |
Updating the price, including the unit price and quantity, from the middle of a rate plan charge |
🚫 |
🚫 |
🚫 |
Updating custom fields from the middle of a rate plan charge Note that the contract effective date must fall into the unbilled service period. If you want to update custom fields for a billed period, you must first reverse the invoices previously generated during the period. |
✅ |
✅ |
🚫 |
Canceling a subscription |
✅ |
✅ |
✅ |
Changing the owner of a subscription Note that if all charges within an invoice schedule have been fully billed, you can transfer a subset of subscriptions or all subscriptions associated with an invoice schedule to a new invoice owner account. However, if the charges haven't been fully billed, you must transfer all subscriptions as you did previously. |
✅ |
✅ |
✅ |
Renewing a subscription Note that you must enable the Splitting Segments setting. |
✅ |
✅ |
✅ |
Early renewals, covering the Remove Product, Add Product, and Update Terms and Conditions order actions |
✅ |
✅ |
✅ |
Updating the terms and conditions but not extending recurring charges |
✅ |
✅ |
✅ |
Extending recurring charges through the Update Terms and Conditions order action This order action is only supported in some cases, see Update subscription term start and service activation dates to align with GLD. |
🚫 |
🚫 |
🚫 |
Removing a product before a future-dated removal |
✅ |
✅ |
✅ |
Cancelling a subscription before a future-dated removal |
✅ |
✅ |
✅ |
Updating a product before a future-dated removal Note that you can update a rate plan charge from the beginning. |
✅ |
🚫 |
🚫 |
Suspending or resuming a subscription |
🚫 |
🚫 |
🚫 |