Hi vu_phan, thank you for the reply. I did as you said and added the criteria to the reporting request, but unfortunately it doesn't seem to work. Please have a look at my tenant ID 12117 and check the last data source report that I ran on 19th of September at 7:14 and then specifically look at customer called "MRR adjustment check". There you can see that even though I added the criteria Is.Last.Segment it shows me true for the old and the new version of the subscription. So instead of giving me only the correct 750 MRR as the last change, it shows the 625 MRR as well, making it look like i have a current MRR of 1375 MRR for that customer, which is obviously wrong and very suboptimal. Please advise.
... View more
Since your booked MRR is focused on WHEN the subscription or amendment was created and not when it takes effect (Contract Effective Date) you probably want a report focused on the subscription object CreatedDate. Every Zuora object always captures a created date and an updated date, these are always set by Zuora (unlike Contract Effective Date you can't set them directly in any way) and these are always exposed in the data sources and so are available for reporting.
So with your example, the subscripton was created on 27.9, so use the MRR from the associated charges belonging to that subscription object. You created the upsell on 24.12 with an amendment, that created a new version of the subscription, meaning a new subscription object was created by cloning the original one, which will have a created date of 24.12. So with this example, the new booking number is the sum of MRR of the associated charges on that newly created subscription object.
If it's not obvious already, you'll need to use the RatePlanCharge data source as the data source for your report.
Also all of the above assumes you understand the Zuora concept of cloning the subscription object everytime an amendment is applied. The cloned subscription object picks up a new version number (going from 1 to 2 in your example). You can determine easily that this is the most up to date subscription object, and not one of the old versions, as it's Status field will be 'Active'. That original version 1 subscription object will now have a status of 'Expired'. This is often confusing for customers as a subscription Status of Expired doesn't mean the subscription has expired, it means that particular subscription object is no longer the most recent version of the subscription, it means that that subscription object has 'expired', not the entire actual subscription. Also if a subscription status is 'Active' that ONLY means it's the most recent version of the subscription, it doesn't actually mean the subscription itself is active. If your example subscription didn't renew and termed out after 12 months with no further changes, the v2 subscription object will still say 'Active' for ever. 'Active' in this context just means that this subscription object is the most recent version of the subscription and not that the subscription is actually active. It usually is, as most subscriptions don't quietly end, they're usually cancelled, when the pick up a status of 'Cancelled', but not always.
I also have to caution you can't just sum MRR for all the charges on that v2 subscription object that has a status of Active. Your example didn't include a situation where a remove product amendment was applied, but when a remove product is applied to a subscription the rate plan charges all still stay attached to the new subscription object, but the RatePlanCharge 'Effective End Date' is set to be the removal date. So when you're scanning all the charges belonging to a subscription you need to filter on the Effective Start Date and Effective End Date of the charges, those dates tell if you this is a charge that was removed in the past (Effective End Date is in the past) or a charge that's active today (Effective Start Date is on or before today AND Effective End Date is after today) or a charge that's been added but won't take effect until the future (it's Effective Start Date is after today).
Since you want a booking number you need to filter out any charges where the charge's Effective End Date is before 'today', the day you are running the report for - for the subscription object with a status of 'Active' and a 'CreatedDate' in the period you care about, December, in your example.
Great question, sorry the answer is so complicated, but Zuora needs to track changes over time. Just post any follow up questions here.
... View more