{"id":955,"date":"2025-07-16T11:47:44","date_gmt":"2025-07-16T11:47:44","guid":{"rendered":"http:\/\/gogetmuscle.com\/?p=955"},"modified":"2025-07-16T17:41:13","modified_gmt":"2025-07-16T17:41:13","slug":"recurring-revenue-deals-upgrades-downgrades-churns-renewals-and-line-items","status":"publish","type":"post","link":"http:\/\/gogetmuscle.com\/index.php\/2025\/07\/16\/recurring-revenue-deals-upgrades-downgrades-churns-renewals-and-line-items\/","title":{"rendered":"Recurring Revenue Deals, Upgrades, Downgrades, Churns, Renewals and Line Items"},"content":{"rendered":"

Hi everyone,\u00a0<\/H2>

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.\u00a0

I look forward to your input \ud83d\ude42<\/span><\/P>

\u00a0<\/P>

_________<\/P>

\u00a0<\/P><\/DIV><\/DIV>

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.<\/P>

Example:<\/P>

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.<\/P>

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\u00a0leave 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’.<\/P>

3) On 01 Jun 2023, the customer downgrades product 1 by\u00a0$2K MRR. Now I create a deal #3 with RR deal type as ‘Downgrade’ and RR amount as ‘$108K’ and\u00a0leave 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’.<\/P>

4)\u00a0On 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\u00a0leave 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’.<\/P>

5)\u00a0On 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’.<\/P>

\u00a0<\/P>

My questions:<\/P>

1. Is my understanding correct?<\/P>

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.<\/P>

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?<\/P>

\u00a0<\/P>

I want to be able to report two things:<\/P>

1. Show the gross revenue added\/removed every month broken down by – new ARR added, upgrade ARR added, downgrade ARR, churn ARR.<\/P>

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


@Victor_Becerra<\/a>\u00a0
@karstenkoehler<\/a>\u00a0


<\/P><\/DIV><\/DIV><\/p>\n","protected":false},"excerpt":{"rendered":"

Hi everyone,\u00a0I’m reposting this post by another HubSpot user as my company has the same issue and I’m missing solutions on the original post.\u00a0I look forward to your input \ud83d\ude42\u00a0_________\u00a0My 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 […]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[14],"tags":[],"_links":{"self":[{"href":"http:\/\/gogetmuscle.com\/index.php\/wp-json\/wp\/v2\/posts\/955"}],"collection":[{"href":"http:\/\/gogetmuscle.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/gogetmuscle.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/gogetmuscle.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/gogetmuscle.com\/index.php\/wp-json\/wp\/v2\/comments?post=955"}],"version-history":[{"count":1,"href":"http:\/\/gogetmuscle.com\/index.php\/wp-json\/wp\/v2\/posts\/955\/revisions"}],"predecessor-version":[{"id":956,"href":"http:\/\/gogetmuscle.com\/index.php\/wp-json\/wp\/v2\/posts\/955\/revisions\/956"}],"wp:attachment":[{"href":"http:\/\/gogetmuscle.com\/index.php\/wp-json\/wp\/v2\/media?parent=955"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/gogetmuscle.com\/index.php\/wp-json\/wp\/v2\/categories?post=955"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/gogetmuscle.com\/index.php\/wp-json\/wp\/v2\/tags?post=955"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}