# Subscriptions with yearly increment

**URL:** <https://community.hubspot.com/t/subscriptions-with-yearly-increment/141290>\
**Category:** Commerce Tools\
**Tags:** recurring-payments\
**Created:** [October 20, 2025, 9:53am UTC](https://community.hubspot.com/t/subscriptions-with-yearly-increment/141290 "2025-10-20T09:53:19Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![CMarques51](https://avatars.discourse-cdn.com/v4/letter/c/898d66/32.png) [@CMarques51](https://community.hubspot.com/u/CMarques51)\
**Post date:** [October 20, 2025, 9:53am UTC](https://community.hubspot.com/t/subscriptions-with-yearly-increment/141290/1 "2025-10-20T09:53:19Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![JohnMaret](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/johnmaret/32/60037_2.png) [@JohnMaret](https://community.hubspot.com/u/JohnMaret)\
**Post date:** [October 20, 2025, 8:51pm UTC](https://community.hubspot.com/t/subscriptions-with-yearly-increment/141290/2 "2025-10-20T20:51:39Z")

</div>

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/](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)

---

<div class="post-metadata">

**Author:** ![Jaycee\_Lewis](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/jaycee_lewis/32/61352_2.png) [@Jaycee\_Lewis](https://community.hubspot.com/u/Jaycee_Lewis)\
**Post date:** [October 20, 2025, 10:37pm UTC](https://community.hubspot.com/t/subscriptions-with-yearly-increment/141290/3 "2025-10-20T22:37:47Z")

</div>

Hey **@JohnMaret 🙌** 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 😊

Talk soon! — Jaycee

---

<div class="post-metadata">

**Author:** ![ZEstey](https://avatars.discourse-cdn.com/v4/letter/z/f14d63/32.png) [@ZEstey](https://community.hubspot.com/u/ZEstey)\
**Post date:** [November 11, 2025, 6:44pm UTC](https://community.hubspot.com/t/subscriptions-with-yearly-increment/141290/4 "2025-11-11T18:44:26Z")

</div>

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.
