Skip to content

Calculating Billable Months for Subscriptions in HubSpot with saas•hapily

Knowing the total billable months of your subscriptions is important for reporting. saas•hapily helps you calculate total billable months, even with pauses.

If you’re managing subscriptions through HubSpot and Stripe, you may run into several manual tasks that need to be completed. Deals must be closed, subscriptions must be renewed, upgrades must be applied, and more. Without the right process, these tasks can create a lot of errant information in your system.

saas•hapily (formerly Zaybra) works to sync data between HubSpot and Stripe, but it also allows you to build workflows in HubSpot that trigger based on Stripe actions. You can use saas•hapily, Stripe, and apps by A8 Labs for self-service subscriptions, allowing you to dovetail every subscription object with Deals, upgrades, renewals, and other changes.

This requires seven different workflows, as well as some of A8 Labs, featured apps, so hold on to your hats.

Workflow 1: Clone the Closed Won Deal to Create the Renewal Deal

The first workflow will clone a “Closed Won” Deal that hasn’t been upgraded, delivering a renewed Deal into your renewal pipeline.

Deal Enrollment Trigger

Using A8 Lab’s Clone Attack app, you can set Deals, so their Default Value is +1 year after the close date.

Clone Attack Field Settings

Next, we need to associate the subscription object that’s been created with the Deal.

Workflow 2: Copy ID from saas•hapily Subscription to Contact

To run this workflow, you’ll need A8 Lab’s app Associ8, which looks for similar properties on two objects and then connects them. saas•hapily will already connect each subscription to a contact, but this workflow will pass the subscription ID to the contact as well.

Copy ID from Zaybra Subscription to Contact

All the workflow needs to do is copy the saas•hapily subscription ID of the associated contacts to the most recent Stripe Subscription ID.

Workflow 3: Copy Subscription ID from Contact to Deal

Once you’ve copied the saas•hapily subscription ID to the most recent Stripe Subscription ID, that value is considered “known.” You can then use a workflow to associate subscription ID to your Deal.

This is a multi-step process, however. You’ll also need to associate the original Deal with the original subscription, which is covered in the next workflow.

Workflow 4: Associate Original Deal with the Original Subscription

This workflow creates a new association between the original Deal and the original subscription. Once again this is triggered when the Stripe Subscription ID is known, and it requires Associ8.

Associate Original Deal to the Original Subscription

On the Associa8 Deal action, make sure the “Associated Label” is set to “Original Subscription.”

Workflow 5: Associate Renewal Deal to the Original Subscription

The second step is associating the renewal Deal with the original subscription. This is an important step if you want to connect renewals with previous subscriptions instead of generating separate subscription objects for the same customers when they renew.

Associate Renewal Deal to Original Subscription

As you can see, this workflow is almost identical to the previous one. The one difference is that the “Associated Label” is set to “Renewal Deal.”

As of now, you’ve already self-serve-created a new Stripe subscription in your app and associated it with the Deal, the renewal Deal, and the relevant contacts. Next, we’ll look at what workflows you need to create to associate an upgrade.

Workflow 6: Creating Upgrade Deals and Associating Them with All Other Deals

saas•hapily will automatically create a delta object which will include price (positive or negative) as well as tags (“upgrade” or “downgrade”). However, it will also automatically update the price of the original subscription based on the upgrade.

For example, if the original subscription was for $8 and the upgrade cost another $8, saas•hapily will update the active price of the subscription to $16.

This workflow writes that “$16” figure to the renewal Deal. It starts with an enrollment trigger stating that the “Type” is equal to “any of” “Upgrade.”

Associating Upgrade Subscription to All Deals

Next, assign an action to create an upgrade Deal for the given amount, and assign it to no one. This is then followed by an Associ8 action to create new associations between that record and Custom Objects. This associates the upgrade subscription with all the Deals that are part of the original subscription.

Workflow 7: Copy Updated Subscription Amount from Original Subscription to Renewal Deal

Finally, you’ll need to create a workflow that copies the updated subscription amount from the original subscription and copies it to the renewal Deal.

This workflow starts with a saas•hapily subscription enrollment trigger that activates when the “Amount” is known (i.e., when the amount changes). Use “and” to include a restriction dictating that the “Type” field doesn’t contain “Upgrade” or “Downgrade” or is empty.

Copy Updated Subscription Amount from Original Subscription to Renewal Deal

Next, create an action that copy’s the saas•hapily subscription property “Amount” from associated Deals, then set that as the amount for the renewal Deal. This updates only the renewal Deal, ensuring continuity across all the Deals associated with the original subscription.

The Results

Now, when you look at any given Deal, you should see all contacts associated with it, as well as renewals and upgrades. You should also see the fully updated monthly recurring revenue (MRR) amount earned through the Deal, taking into account any upgrades.


Jonathan Stevens

Jonathan Stevens

Jonathan is a Product Support Specialist at hapily. He helps professionals power up their HubSpot experience by supporting the most powerful apps in the HubSpot marketplace.

Latest Articles

Why Offering Multiple Payment Options Boosts Your Business

Why Offering Multiple Payment Options Boosts Your Business

Learn about different payment methods, their benefits, and how they can expand your customer base. Explore insights on increasing conversio...

Using saas•hapily and Stripe to Self-Serve Subscriptions with Deals

Using saas•hapily and Stripe to Self-Serve Subscriptions with Deals

Streamline your revenue operations effortlessly by seamlessly managing subscriptions, renewals, and upgrades with HubSpot workflows.

Optimizing Revenue: RevOps Automation for SaaS Companies

Optimizing Revenue: RevOps Automation for SaaS Companies

Discover the power of RevOps automation for SaaS companies to streamline revenue operations, enhance customer experiences, and boost growth...