Create invoice schedules for orders containing percentage discount charges
After enabling the Billing Schedule feature, you can create invoice schedules for professional service projects involving percentage discounts in milestone billing. When creating such an invoice schedule, you can select the specific charges to be billed and apply a specified percentage of discounts to regular charges rather than a fixed-amount discount. Discount charges will be applied automatically based on the configured scope and application details. No need to select discount charges during invoice schedule creation.
If you are uncertain about milestone dates, you can leave run dates blank for invoice schedule items during invoice schedule creation. When specifying run dates for invoice schedule items, keep the following notes in mind:
- An invoice schedule item with a blank run date will not be executed.
- You can only update the run date for an invoice schedule item in Pending status.
- If the run date of an invoice schedule item is left empty, the dates of all subsequent invoice schedule items must also be blank.
- You must specify run dates in chronological order for invoice schedule items.
Context
In project milestone billing, you might want to deliver professional services to your customers with several major milestones, and bill your customers in several payments by achieving each of the following milestones:
- Handover To Delivery (HTD)
Upon the receipt of a purchase order from your customer, you can bill your customer for the first milestone with a specific date. - Ready for Use (RFU)
When the user acceptance testing is approaching the end, you can bill your customer for the second milestone with a specific date. - Go-Live Date (GLD)
Upon the signing of a handover document, you can bill your customer for the third milestone with a specific date.
For example, a 10/20/70 milestone billing plan indicates that you want to collect 10% payment on receiving a purchase order, 20% payment after the user acceptance testing is complete, and the remaining 70% payment on the date to go live.
When their contracts contain both professional services and recurring charges, you can create custom invoice schedules to bill professional services while leaving the recurring charges to be billed in regular frequencies.
Use case 1: Update billing schedule run dates to align with billing milestones
In the following use case, you sell your customers different software, licenses, and professional services. Since the contracts contain both professional services and recurring charges, you want to create different invoice schedules to separately bill professional services while leaving the recurring charges to be billed annually.
To comply with the milestone billing plan, you create an order O-00000001 with one subscription S-00000001 containing four regular rate plan charges and two percentage discount charges as shown in the following table.
Rate plan |
Rate plan charge name |
Rate plan charge number |
Charge type |
Price |
Billing period |
---|---|---|---|---|---|
Rate plan A |
Software Base Subscription |
C-00000001 |
Recurring |
$14,000.00 per year |
Annual |
Software User License |
C-00000002 |
Recurring |
$20,000.00 per year |
Annual |
|
Software A Integration - Professional Service |
C-00000003 |
One-time |
$66,000.00 |
Custom Milestone billing: 50/0/50 |
|
Software B Implementation - Professional Service |
C-00000004 |
One-time |
$27,000.00 |
Custom Milestone billing: 10/20/70 |
|
Percentage Discount 1 |
C-00000005 |
Recurring |
10% |
N/A |
|
Percentage Discount 2 |
C-00000006 |
Recurring |
10% |
N/A |
Initially, you do not know any milestone date that depends on the project's progress, so you must specify blank run dates for each invoice schedule item during invoice schedule creation. To bill your customer for the Software B Implementation professional service in this project, you must create one invoice schedule containing multiple invoice schedule items, each corresponding to one project milestone in chronological order.
Invoice schedule IS-0000001 created for charge C-00000004 contains three invoice schedule items, covering 10%, 20%, and 70% of the total amount, respectively.
Later, when you know the exact date for one milestone, you can update the run date of the corresponding invoice schedule item to a specific date from blank to collect payment from your customer.
Regarding the discounts involved in the subscription, both rate plan level discounts and stacked discounts based on percentage discounts are applied. In the preceding scenario, a rate plan level discount of 20% off applies to charge C-00000004.
Use case 2: Update subscription term start and service activation dates to align with GLD
The Billing Schedule feature supports the Terms And Conditions order action for subscriptions containing discount charges in some particular situations. This order action is permitted as long as the one-time charge and its associated discount charges do not affect the total amount of the billing schedule. For example, you can use this order action to adjust the subscription term start date and end date if the same discount charges are still applied to the one-time charge.
This order action is still not supported if a subscription only contains recurring charges.
In the following use case, you sell your customers software base subscription and implementation service and provide discounts for your customers.
You create an order O-00000001 with one subscription S-00000001 containing two rate plans A and B. Rate plan A contains a one-time implementation service and a percentage discount and rate plan B contains a recurring software base subscription and a percentage discount, as shown in the following table.
Rate plan |
Rate plan charge name |
Rate plan charge number |
Charge type |
Price |
Billing Period |
---|---|---|---|---|---|
Rate plan A |
Implementation Service |
C-00000001 |
One time |
$400.00 USD |
Custom Milestone billing: 20/30/50 |
Percentage Discount |
C-00000002 |
Recurring |
-10.00% |
N/A |
|
Rate plan B |
Software Base Subscription |
C-00000003 |
Recurring |
$1200.00 per year |
Annual |
Percentage Discount |
C-00000004 |
Recurring |
-10.00% |
N/A |
You specify the following rate plan, subscription, and invoice schedule information:
Rate plans A and B:
- Rate plan A: specify the Trigger Condition of the C-00000001 and C-00000002 to Upon contract effective.
- Rate plan B: specify the Trigger Condition of the C-00000003 and C-00000004 to Upon service activation.
Subscription S-00000001:
- Term start date: 2024-01-01
- Term period: 12 months
- Contract effective date: 2024-01-01
- Service activation date: initially, you specify the date to a future date since you don’t know when the sold software can go live, for example, 2026-01-01
Invoice schedule IS-0000001:
To bill your customer for C-00000001, you create one invoice schedule containing multiple invoice schedule items, each corresponding to one project milestone in chronological order.
Invoice schedule IS-0000001 created for C-00000001 contains three invoice schedule items, covering 20% (HTD), 30%(RFU), and 50%(GLD) of the total amount, respectively. GLD milestone is reached on 2024-06-06. You specify the run date corresponding to the GLD milestone as 2024-06-06. Then, you can update the service activation and term start dates of S-00000001 to 2024-06-06 through the Terms And Conditions order action.
The result is as follows:
- Rate plan A:
- C-00000001: Updating the term start date does not affect the one-time charge.
- C-00000002: For this recurring discount charge, the charge start date is the contract effective date: 2024-01-01. Since the term start date is changed to 2024-06-06 and the term period lasts 12 months, the subscription and charge end date is changed to 2025-06-06. The effective period of the charge is 2024-01-01 - 2025-06-06.
- Rate plan B:
- C-00000003 and C-00000004: For the recurring discount charge and regular charge, the start date is the service activation date, it is changed to 2024-06-06. The term start date is also changed to 2024-06-06. The subscription and charge end date is changed to 2025-06-06. The effective period of the charge is 2024-06-06 - 2025-06-06.
Create percentage-based invoice schedules for orders containing percentage discount charges through the Zuora UI
To create percentage-based invoice schedules for orders containing percentage discount charges during milestone billing through the Zuora UI, perform the following steps. The following steps use data from Use Case 1.
- 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 clear the checkbox next to the number of the charges you want to exclude from the invoice schedule.
In this example, only select the checkbox next to the Software B Implementation - Professional Service 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-00000004 is displayed.
- In the Schedule Items section, configure information about schedule items contained in the invoice schedule:
- Click Add Item With Percentage.
- In the Add New Schedule Item dialog, configure schedule item information.
- Optional: In the Name field, specify the name of the invoice schedule item, for example, HTD.
- In the Run Date field, leave the value blank since the HTD date is unclear.
- In the Percentage field, specify the percentage of the total amount to be billed during the processing of the invoice schedule item.
In this example, enter 10. - 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, and then repeat step 3.b to add two more invoice schedule items that respectively have 20 and 70 as the value of the Percentage field.
- 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 charge C-00000004, containing three invoice schedule items, respectively covering 10%, 20%, and 70% of the total amount.
The total amount involved in invoice schedule IS-0000001 is calculated based on the following formula:
Billed charge amount × (1 - Discount percentage)
Therefore, the actual amount involved in invoice schedule IS-0000001 is $21,600.00, the calculation result of $27,000.00 × (1 - 20%).
The following table lists the information on the invoice schedules.
Invoice schedule |
Invoice schedule item |
Name |
Run date |
Percentage |
Amount |
Discount amount |
Actual amount, automatically calculated |
---|---|---|---|---|---|---|---|
IS-0000001 |
1 |
HTD |
- |
10% |
$2,160.00 |
$2,160.00 |
|
2 |
RFU |
- |
20% |
$4,320.00 |
$4,320.00 |
||
3 |
GLD |
- |
70% |
$15,120.00 |
$15,120.00 |
||
Total Amount: $21,600.00 |
Create percentage-based invoice schedules for orders containing percentage discount charges through the REST API
You can use the Create an invoice schedule operation to create percentage-based invoice schedules for professional services during milestone billing. When selecting specific professional service charges for creating an invoice schedule, you do not need to specify discount charges. The eligible discount charges are automatically applied to the regular charges in the same rate plan.
To create a percentage-based invoice schedule for orders containing percentage discount charges during milestone milling through the REST API, perform the following steps:
- Determine the number of each charge that you want to bill in the invoice schedule.
- Determine the information that you want to create for each invoice schedule item.
- Use the Create an invoice schedule operation to send a a creation request.
In this use case, specific milestone dates are unclear initially, so you do not need to specify the scheduleItems
> runDate
field in the API request.
For charge C-00000004, you can create an invoice schedule containing three invoice schedule items, covering 10%, 20%, and 70% of the total amount, respectively.
The following table lists a sample API request that creates an invoice schedule for charge C-00000004, and the corresponding response that is returned.
Request sample | Response sample |
---|---|
{ "accountKey":"A00000861", "orders":[ "O-00000001" ], "specificSubscriptions":[ { "orderKey":"O-00000001", "subscriptionKey":"S-00000001", "chargeNumbers":[ "C-00000004" ] } ], "scheduleItems":[ { "name":"HTD", "percentage":10 }, { "name":"RFU", "percentage":20 }, { "name":"GLD", "percentage":70 } ], "notes":"Milestone Billing for Professional Service" } |
{ "id": "d85e202400a644b886ec6836a99d0629", "accountId": "8a90d6128d1a167c018d1a69009600c8", "number": "IS-00000478", "notes": "2024 Billing Schedules with discount", "status": "Pending", "nextRunDate": "2023-01-01", "totalAmount": 216000.000000000, "actualAmount": 216000.000000000, "billedAmount": 0.000000000, "unbilledAmount": 216000.000000000, "scheduleItems": [ { "id": "8a90f13b8d540802018d54236ad82eb3", "amount": 2160.000000000, "actualAmount": 3200.000000000, "percentage": 10.000000000, "status": "Pending", "invoiceId": null, "creditMemoId": null, "runDate": null, "name": HTD, "targetDateForAdditionalSubscriptions": null }, { "id": "8a90f13b8d540802018d54236ad82eb4", "amount": 4320.000000000, "actualAmount": 4800.000000000, "percentage": 10.000000000, "status": "Pending", "invoiceId": null, "creditMemoId": null, "runDate": null, "name": RFU, "targetDateForAdditionalSubscriptions": null }, { "id": "8a90f13b8d540802018d54236ad82eb5", "amount": 15120.000000000, "actualAmount": 8000.000000000, "percentage": 80.000000000, "status": "Pending", "invoiceId": null, "creditMemoId": null, "runDate": null, "name": GLD, "targetDateForAdditionalSubscriptions": null } ], "orders": [ "O-00000001" ], "specificSubscriptions": [ { "orderKey": "O-00000001", "subscriptionKey": "A-S00002445", "chargeNumbers": [ "C-00000004" ] } ], "invoiceSeparately": true, "additionalSubscriptionsToBill": [], "currency": "USD", "success": true } |
Invoice schedule and billing document generation details
The discount is automatically calculated during the creation of the corresponding invoice schedule.
According to the actual project progress, the following operations automatically occur:
- On 16 June 2023, Zuora Scheduler automatically processes invoice schedule item 2 of invoice schedule IS-00000001 to generate an invoice with an amount of $8,000.00. The status of invoice schedule item 2 changes to Processed from Pending. The status of invoice schedule IS-00000001 is Partially Processed.
- On 18 October 2023, Zuora Scheduler automatically processes invoice schedule item 3 of invoice schedule IS-00000001 to generate an invoice with an amount of $28,000.00 . The status of invoice schedule item 3 changes to Processed from Pending.
- The status of invoice schedule IS-00000001 changes to Fully Processed, and its next run date is null.
The following table lists the information on the invoice schedule.
Invoice schedule item |
Name |
Run date |
Amount |
Schedule item status |
Billing document |
1 |
HTD |
- |
$2,160.00 |
Pending |
INV001 |
2 |
RFU |
- |
$4,320.00 |
Pending |
INV002 |
3 |
GLD |
- |
$15,120.00 |
Pending |
INV003 |
The following table lists the information on invoice INV001 generated for the order on the HTD date.
Invoice item |
Charge name |
Service period |
Amount/Discount amount |
Total amount |
1 |
Software Implementation - Professional Service |
2024/01/01 to 2024/01/01 |
$2,700.00 |
$2,160.00 |
2 |
Percentage Discount 1 |
2024/01/01 to 2024/01/01 |
$-270.00 |
|
3 |
Percentage Discount 2 |
2024/01/01 to 2024/01/01 |
$-270.00 |