Skip to main content

Create invoice schedules for orders containing percentage discount charges

Zuora

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.

In this 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.

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:

  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 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.
    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-00000004 is displayed.
  3. In the Schedule Items section, configure information about schedule items contained in the invoice schedule:
    1. Click Add Item With Percentage.
    2. In the Add New Schedule Item dialog, configure schedule item information.
      1. Optional: In the Name field, specify the name of the invoice schedule item, for example, HTD.
      2. In the Run Date field, leave the value blank since the HTD date is unclear. 
      3. 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.
      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, 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.
  4. In the upper right of the Create Invoice Schedule page, click Create Invoice Schedule.
  5. 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:

  1. Determine the number of each charge that you want to bill in the invoice schedule.
  2. Determine the information that you want to create for each invoice schedule item.
  3. 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