Forum Discussion
Revenue report for SaaS ISVs: Contract duration field to help with Rev Rec
Hello,
We are a SaaS ISV, and this is about revenue reporting for Marketplace SaaS offers that have (say) an annual commitment/contract but a monthly billing cadence. I.e., neither a month-to-month commitment plan billed monthly nor an annual commitment plan billed annually.
In such cases, the TermEndDate and TermStartDate (ref: the Data Dictionary for Revenue reports) in the exported CSV appear to denote the overall commitment's start and end dates, and not the "entitlement start date" and "entitlement end date" for the billing event that the row corresponds to. This implies that for a monthly billing event of, say, USD 100, the ISV must separately infer the usage period for which these $100 are to be recognized over, as there is no other column in the CSV dictionary that codes the entitlement start and end dates.
Therefore, this is a request to add an additional column for "ContractTerm" or similar that explicitly communicates the contractual context in which the other date fields of this billing event row should be interpreted - these values will likely be one of P1M, P1Y, P2Y, P3M (ref: Marketplace SaaS REST API). The other alternative is to add explict "ServiceEntitlementStartDate", and "ServiceEntitlementEndDate" fields which encode the period over which this billing amount has to be recognized over.
The above screenshot is an example of billing events over four consecutive months linked to a one-year commitment contract.
Thanks,
Sid
I agree this is good feedback sid6mathur - you should be able to reference the PurchaseRecordId from Revenue Report to find BillingTerm and BillingPlan fields in the Orders report. Not exactly what you are looking for, but hopefully helps you understand where revenue aligns with a monthly, annual, or an upfront payment for the full term.
- justinroyalMicrosoft
sid6mathur thanks for the feedback here, I'll be passing your suggestion along to the appropriate team.
- KyleCallahanMicrosoft
I agree this is good feedback sid6mathur - you should be able to reference the PurchaseRecordId from Revenue Report to find BillingTerm and BillingPlan fields in the Orders report. Not exactly what you are looking for, but hopefully helps you understand where revenue aligns with a monthly, annual, or an upfront payment for the full term.
- sid6mathurBrass Contributor
KyleCallahan Great answer, thanks. Didn't realize one could "JOIN" the Revenue and Orders reports until you mentioned it. That indeed solves the problem.