Recurring Revenue Deals, Upgrades, Downgrades, Churns, Renewals and Line Items

Hi everyone,

I’m reposting this post by another HubSpot user as my company has the same issue and I’m missing solutions on the original post.
I look forward to your input :slightly_smiling_face:

_________

My company sells both recurring revenue items as well as one-time revenue items. A deal could have just recurring revenue line items, just one-time revenue line items or a combination of recurring and one-time revenue line items within one deal. Also, upgrades, downgrades, churns, or purchases of new line items can happen in the middle of a contract.
I know there is Hubspot’s RR functionality but I don’t think it works best and I also do not think it’s easy to report using it. I’m taking an example of a case and explaining my understanding of what needs to be done if I use the RR functionality. Please correct me if I’m wrong.

Example:

1) On 01 Jan 2023, a Customer A purchases 2 products within a deal where product 1 is a recurring item for $10K MRR purchased for 24 months and product 2 is one-time item for $2K. For this I create a deal 1 with RR deal type as ‘New’ and RR amount as ‘$120K’ (in ARR). I leave RR inactive date and RR inactive reason empty at this point.

2) On 15 Feb 2023, the customer upgrades product 1 by $1K MRR. Now I create a deal #2 with RR deal type as ‘Upgrade’ and RR amount as ‘$132K’ and leave RR inactive date and RR inactive reason empty at this point. After this, I locate deal 1 and update RR inactive date as ‘15 Feb 2023’ and RR inactive reason as ‘Upgrade’.

3) On 01 Jun 2023, the customer downgrades product 1 by $2K MRR. Now I create a deal #3 with RR deal type as ‘Downgrade’ and RR amount as ‘$108K’ and leave RR inactive date and RR inactive reason empty at this point. After this, I locate deal #2 and update RR inactive date as ‘01 Jun 2023’ and RR inactive reason as ‘Downgrade’.

4) On 01 Jan 2025, the customer renews product 1 for 1 year. Now I create a deal #4 with RR deal type as ‘Renewal’ and RR amount as ‘$108K’ and leave RR inactive date and RR inactive reason empty at this point. After this, I locate deal #3 and update RR inactive date as ‘01 Jan 2025’ and RR inactive reason as ‘Renewal’.

5) On 01 Jan 2026, the customer churns. Now I locate deal #4 and update RR inactive date as ‘01 Jan 2026’ and RR inactive reason as ‘Churned’.

My questions:

1. Is my understanding correct?

2. How do I report using this outside Hubspot? Seems quite complex to me as I need to look at both close date and RR inactive date to decide whether to count a deal within a time period or not.

3. In the example above, I would report $132K as Upgrade in Feb 2023 but really the upgrade was only for $12K in Feb and the new deal for $120K was closed in Jan 2023. But wouldn’t hubspot’s RR report show all of $132K as existing revenue in Feb 2023?

I want to be able to report two things:

1. Show the gross revenue added/removed every month broken down by - new ARR added, upgrade ARR added, downgrade ARR, churn ARR.

2. Show the accumulated ARR of the customers for the company at the start of every month.
@Victor_Becerra
@karstenkoehler

Hi @SAlimohammadi ,
Thank you for reaching out to the Community!
I’d like to invite some community members who are subject matter experts to join this conversation.
@Bryantworks @VPathania @danmoyle - Would you be able to share any insights on this? Your expertise would be greatly appreciated.
Best,

Victor

@SAlimohammadi You are right about how HubSpot’s Recurring Revenue tracking works. You are doing the right thing by creating a new deal for each change (new purchase, upgrade, downgrade, churn, renewal) and marking the previous deal as inactive with the right reason and date. This is how HubSpot expects you to use the RR system.

However, you are also right that HubSpot doesn’t handle everything as clearly as you would like, especially when it comes to reporting. HubSpot’s built-in reports don’t show just the increase or decrease, but they show the full recurring value on the new deal, which can be confusing if you want to focus only on the change. So, you need to calculate the change manually.

You can create reporting outside of hubspot. Reporting outside of hubspot is possible but it requires a bit of work. You’ll need to export all your RR deals, including their open and close dates and their revenue values. For each month, figure out which deals are Active by looking at the close date and the RR inactive date. When something like an upgrade, downgrade or churn happens, you will have to compare the new deal’s value to the last one to get the real amount that changed.

To see how much new, upgrade, downgrade, and churned ARR happens each month, you should look at each event and note the date and how much the amount changed.

To see your total ARR at the start of each month, look at which deals are still active at that point and add up their values. That gives you your baseline for each month. Try creating a table with columns: Month, Year, New ARR, upgrades, downgrades, Churn, ARR at month start etc. based on your requirements and update the values every month.

So yes, your process works with HubSpot, but to get the detailed reporting information, it is good to do the calculations outside HubSpot.

If you need help building out your tracking sheet, just let me know!

Hi @VPathania,

Thx a lot for your input - much appreciated and useful!
U suggest that we consider doing reporting outside HubSpot. What tool would be sufficient in this case if we want to avoid Excel? Unfortunately I’m not sure we have the capacity to do so - so it seems like we have to compromise on the detailed reporting needs we have :disappointed_face:
@Victor_Becerra can u maybe say smth about if HubSpot is looking into solutions for this issue? I imagine that this is a common use case among many B2B SaaS companies :slightly_smiling_face:

You are very welcome, glad it helped!

If you want to avoid Excel but still need more flexibility than HubSpot’s built-in reports, here are a few tools that are powerful yet manageable:

  • Google Looker Studio
  • HubSpot + Google Sheets(with app scripts or 3rd party like zapier)
  • Power BI
  • Tableau

Thank u so much! :slightly_smiling_face:

happy to help :slightly_smiling_face: