There are three subscription and amendment dates that serve as billing trigger dates, as well as a term start date and subscription start date.
You do not need to specify a term start date when creating a subscription. If you do not specify a term start date, the subscription contract effective date is populated as the term start date. In this case, the Subscription start date, the term start date, and the subscription contract effective date are all set to the same date.
Your business might not need to use all three billing trigger dates. It might require the use of two out of three dates, or only one of the three dates. If you use only a single date, that date must be the Contract Effective Date. The required trigger dates are configurable from the Zuora Billing Admin settings and can vary by product.
The billing trigger dates, along with the customer account BCD and the rate plan charge’s billing day all determine when a charge is billed.
Zuora allows you to set up to three billing trigger dates:
The required trigger dates are configurable from the Zuora Billing Admin settings and can vary by product.
The billing trigger dates are sequential. This has the following effects:
The Contract Effective Date is the date that your customer provided as the notice of cancelation. You can also use the same date when populating the Customer Acceptance Date and Service Activation Date of your
amend() call to cancel a subscription.
When canceling a subscription, the Effective Date is the date that actually specifies when an
amend() to cancel a subscription should take effect.
For example, suppose that you want to cancel a subscription with a service period that ends on April 15, 2012 (2012-04-15). Use the Effective Date 2012-04-16 in the amend() call to cancel the subscription.
If you use an Effective Date of 2012-04-15, the service period of the invoice generated would have an end date of 2012-04-14.
After the subscription is canceled, the EffectiveDate of the Amendment object is overwritten with the ContractEffectiveDate. The reason for this behavior is that when creating a new subscription with an amend() call this is the desired effect. If you query the Amendment object after cancelling a subscription, the value of EffectiveDate may be different to the one you originally specified, and be different to what is shown as the cancelation date in the web UI. The cancelation date has been set correctly and can be confirmed by querying the TermEndDate of the amended subscription.
Zuora uses these dates to determine the subscription service period. Invoice item adjustments and discounts use the same service periods as the invoice item they are offsetting. Cancellation fees caused by subscription cancellations have the service period defined by the cancellation date and the original service period end date of the cancelled item. Activation and usage fees have a one day service period.
The following table shows the type of invoice items that can show up on an invoice and the service start and service end dates that are associated with each invoice item type that is used to derive the revenue recognition schedule for that specific charge.
|Type of invoice item that can appear in an invoice||Service start date used to derive the recognition schedule||Service end date used to derive the recognition schedule|
|Recurring fees||Recurring start period||Recurring end period|
|Activation fees||Date the fee charged||Date the fee charged|
|Usage fees||Prior usage start period||Prior usage end period|
|Discounts||Recurring start period||Recurring end period|
|Invoice item adjustment||Same as item adjusted||Same as item adjusted|
|Cancellation fees||Cancellation date||Same as item cancelled|
The last invoice date is the date until when charges have been processed.
The last invoice date is the same date as the process through date. If there are more than two charges on the subscription, the last invoice date is the same date as the latest process through date of all the charges within the subscription.
In the Zuora UI, you can find the process through date of a charge in the following steps:
In the Zuora SOAP API, you can get the process through date of a charge by querying the
ProcessedThroughDate field on the RatePlanCharge object.