Reporting for SaaS subscription contraction

Hi!

We are a SaaS business that manages it’s active subscriptions via Hubspot using Custom Objects. We would like to be able to report on any subscriptions that are contracting (decreasing in MRR) without adding a lot of extra record-keeping for the CSMs.

Is there any way to create a report on any Objects where a property is lower than it was the week before?

Thanks - Ron

@RPearson3 I don’t believe this is currently possible, the closest way you could get to this with an off the shelf property would be by leveraging the Object Last Modified Date/time. This is a date that is auto calculated by Hubspot and could be used in reporting.

Your report could be a single object report for your Custom Object with a filter of Object Last Modified Date = last week or whatever timeframe works for you.

If this post helped to solve what you were looking for, please mark this as an accepted solution. Happy HubSpotting!

Hey @RPearson3 ,

you probably heard of this option already, but just in case: Did you consider the Recurring Revenue Functions in HubSpot?

It’s a special kind of reporting under Reports> Analytics Tools. It’s intended to track MRR similar to what you’re trying, but only on the Deal object. Since you have already setup on custom objects, this might not help at all. And it’s Sales/Service Enterprise also.

HubSpot creates some extra properties which have to be maintained in one way or another to make sense for the reporting.

You can read all about it here.

Again, just wanted to through it out there in case you haven’t heard of it and might be able to make use out of it, even though you use Custom Objects for the subscriptions.

Cheers,

Chriso

We tracked them using deals for years and didn’t know about this :sweat_smile: although we don’t actually have Sales enterprise anyway.

Thanks!

Completely understand and had a hunch that that would be the case.

Contraction (downgrades/partial churn) is one of the hardest things to report on natively in HubSpot. Sadly there’s no out-of-the-box way to do it.

The workaround pattern I’ve seen work:

Create a “Contracted MRR” property on the Company object. When a customer downgrades, either manually update this field or trigger a workflow to log the contraction. Create a companion deal for the negative delta (some teams create a “Contraction” pipeline stage for this) so it shows up in revenue reporting.

The honest limitation is that this requires someone to manually trigger or catch each contraction event, which means reporting is only as accurate as your process discipline.

A better fix is to connect your billing system to HubSpot so that when Stripe or Chargebee records a subscription change, that event automatically updates the HubSpot property and creates the activity log. That makes contraction tracking fully automated. A few billing sync tools support this specifically for HubSpot.

Contraction tracking is genuinely one of the hardest things to automate in HubSpot natively — you’ve correctly identified the root issue. The billing system (Stripe) is the source of truth, not HubSpot.
The manual workaround patterns work short-term but break down as soon as process discipline slips. The real fix is having Stripe push contraction events directly to HubSpot the moment they happen.
Quick heads up on the current tool landscape: SaaS Hapily (formerly Zaybra), which used to be the go-to recommendation here, is no longer accepting new customers. ClearSync covers the reporting side but doesn’t handle workflow automation. There’s a real gap right now.
I’m building a Stripe → HubSpot sync app specifically to fill this — accurate MRR change events (new, expansion, contraction, churn) that update HubSpot automatically, with workflow triggers on subscription events. Works on all HubSpot plans, not Enterprise-only.
Looking for early users to test it and shape what gets built. If this matches your situation, happy to give you early access.