Subscriptions with yearly increment

Hi there,

We have contracts that run for two, three, or more years, with a yearly cost increase built in.

What I’m trying to achieve is this: a deal is created, the product line item is added, a quote is generated, and then the subscription is created, allowing HubSpot to send the invoice automatically on the payment due date.

The issue I’m running into is that when I add the line items for a three-year contract, I’d expect to add the same line item with different yearly end dates. However, the subscription doesn’t seem to recognise the different start dates (nor does the quote). It keeps flagging that the start date must be the same for all products or line items.

Has anyone found a way to work around this without having to create multiple deals? Any ideas?

Hey @CMarques51

That’s a great question - and definitely a common challenge when handling multi-year or recurring contracts with incremental pricing.

If you’re open to using 3rd-party apps, CloneNer and LineNer might help streamline this setup:

  • CloneNer can duplicate a deal as a recurring one (for each contract year, for example) while keeping all associated line items, properties, and relationships intact. This makes it easier to manage yearly renewals or price increases without manually rebuilding deals.
  • LineNer can then help update or adjust the products/line items across those deals - for example, updating prices or changing product details for each year’s renewal cycle.

Also, tagging Zoya from Zestey Consulting https://www.zesteyconsulting.com/ she might be able to shed more light on possible workflow or subscription structure options within HubSpot itself.

Hope this helps point you in a good direction!

John (4CRMs)

Hey @JohnMaret :raising_hands: Thanks for the reply**.** I agree with what John suggested @CMarques51

One workaround I see is to do something like this (I haven’t built this in my test portal yet):

  • Create the deal and add the line item for the Year 1 price only
  • Create a subscription based on this initial deal for the full multi-year term
  • Create custom deal properties to store the future prices (Year 2 price, Year 3 price, etc)
  • Build a date-based workflow. Set the trigger to be “1 month before the Next payment due date”

Depending on your setup, I have a feeling this may get messy or complicated, like the multi-deal approach you want to avoid. And it might be worth a try :blush:

Talk soon! — Jaycee

Hey @CMarques51 !

Best solution I’ve found to this type of logic is with using a custom object for contracts. Essentially you’d create a custom object which works as the parent record for the deals - the contract is the entire length of their relationship with you, so you’d have original contract start date (first deal closed won), most recent renewal, and upcoming renewals. This would be one record - each renewal deal would be created off this parent contract record. Then you’d have your annual increase amount - I love LineNer for this, you would be able to add line items with a simple equation to say old contract amount + % increase and set that as the new deal amount.