# Multi-Year Contract - Discount One Year

**URL:** <https://community.hubspot.com/t/multi-year-contract-discount-one-year/69778>\
**Category:** Tips, Tricks & Best Practices\
**Tags:** professional\
**Created:** [November 22, 2022, 5:37pm UTC](https://community.hubspot.com/t/multi-year-contract-discount-one-year/69778 "2022-11-22T17:37:23Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![DMcCarthy](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/dmccarthy/32/43872_2.png) [@DMcCarthy](https://community.hubspot.com/u/DMcCarthy)\
**Post date:** [November 22, 2022, 5:37pm UTC](https://community.hubspot.com/t/multi-year-contract-discount-one-year/69778/1 "2022-11-22T17:37:23Z")

</div>

I am facing a challenge in how to set up multi-year deals where one of the years (typically the first, though it doesn’t matter - issue is the same) is discounted.

Let’s use an example where we close a 3-year, $100,000/yr deal, and the first year is discounted 25% (i.e. first year is $75,000).

Based on research I’ve done, some people split the deal up into three separate line items, one for each $100k year, and then apply the discount to the first year. This works fine for all but one thing unfortunately. The Annual Contract Value (ACV) gets thrown off, and reads the same as the Total Contract Value (TCV), here would be the line item details:

SKU1 - Billing Start Date 11/22/22 - 12 Month Term - Billing Frequency Annual - Price $100k - Discount 25%

SKU1 - Billing Start Date 11/22/23 - 12 Month Term - Billing Frequency Annual - Price $100k - No Discount

SKU1 - Billing Start Date 11/22/24 - 12 Month Term - Billing Frequency Annual - Price $100k - No Discount

Notice we are using the “Billing Start Date” to denote that the line items are for separate years. I believe I understand why the ACV is not being calculated as we expect - it sees that each line item is a 12 month term, and is ignoring the billing start date in its calculation, so all it sees is a total of $275k over 1 year - hence $275k ACV.  
Of course, for a “normal” three year deal (no discount), we could set up one line item, with a 36-month term and the ACV would read as we wanted it to.

Does anyone have ideas on how we can make multi-year deals with certain years discounted, and have the ACV pull in our desired value (which in this case would be an average of ~$91.6k per year)

Any insight would be appreciated!

---

<div class="post-metadata">

**Author:** ![MiaSrebrnjak](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/miasrebrnjak/32/10_2.png) [@MiaSrebrnjak](https://community.hubspot.com/u/MiaSrebrnjak)\
**Post date:** [November 23, 2022, 11:10am UTC](https://community.hubspot.com/t/multi-year-contract-discount-one-year/69778/2 "2022-11-23T11:10:45Z")

</div>

Hi @DMcCarthy,

Thank you for reaching out to the Community!

I wanted to tag in a couple of subject matter experts to see if they have any input on this matter:

hi @HubDoPete, @AdamLPW, @BukunmiOdetayo, do you have any advice for @DMcCarthy? Thank you!

Cheers  
Mia, Community Team

---

<div class="post-metadata">

**Author:** ![HubDoPete](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/hubdopete/32/106153_2.png) [@HubDoPete](https://community.hubspot.com/u/HubDoPete)\
**Post date:** [November 24, 2022, 10:42am UTC](https://community.hubspot.com/t/multi-year-contract-discount-one-year/69778/3 "2022-11-24T10:42:52Z")

</div>

Hi @DMcCarthy thanks for your great question along with the details which really help in answering you.

Yes it’s a challenge that the default ACV calculation cannot handle complex variations.

If it’s important for your business metrics, I can think of three possible solutions:

- Create a custom deal property to hold ‘custom\_acv’, create a deal-based workflow trigged on line\_item, with \<\> custom javascript actions to calculate the ACV, then save the result in your custom property for custom reporting. HubSpot workflows can trigger on line-item but are not line-item based actions. HubSpot workflows can only enrol the deal into the deal-based workflow, so custom code is required from then on.
- or, look at an integration that is designed from the ground up to manage this SaaS-type subscription sales management. Full disclosure HubDo is a partner of almost all HubSpot Quoting apps (PandaDoc, Qwilr, GleanQuote, ContractBook, [RevOps.io](http://RevOps.io) and others) so we know them well enough to know that you should evaluate [RevOps.io](http://RevOps.io) as a potential valuable add-on to your HubSpot stack. It’s made for this use case.
- or, we can custom-code a native HubSpot app that monitors every time a line\_item is created or changed and takes any actions based on all deal line\_items, to figure out the true subscription contract stages and calculate custom ACV values etc.

I would try suggestion 1 first, as it’s free. It makes the best use of the tools you already have 🙂

Also take a peek at the free version of [RevOps.io](http://RevOps.io) - they have put a lot of SaaS contract smarts in it.

With Suggestion 1 I haven’t tried this specific use-case of date-ranged contract stages though, so good luck with it. I’d love to hear how you get on - and everyone in the community who finds this question in future will see how you solved it!

cheers

Pete

---

<div class="post-metadata">

**Author:** ![DMcCarthy](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/dmccarthy/32/43872_2.png) [@DMcCarthy](https://community.hubspot.com/u/DMcCarthy)\
**Post date:** [November 25, 2022, 3:22pm UTC](https://community.hubspot.com/t/multi-year-contract-discount-one-year/69778/4 "2022-11-25T15:22:59Z")

</div>

Thanks for these suggestions. I was also looking into doing something with custom code, but figured it made sense to see if there was a way to natively support the functionality first.

These are great suggestions, really appreciate the input here. Unfortunately, we don’t have operations hub just yet, so I don’t think I’ll be able to trigger custom code from a workflow, but I think there may be something I can do via Zapier or as you mentioned through leveraging a custom/private app.

I’ll poke around a bit more and be sure to update the thread here with what I end up pursuing.

Thanks!

---

<div class="post-metadata">

**Author:** ![HubDoPete](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/hubdopete/32/106153_2.png) [@HubDoPete](https://community.hubspot.com/u/HubDoPete)\
**Post date:** [December 6, 2022, 8:12am UTC](https://community.hubspot.com/t/multi-year-contract-discount-one-year/69778/5 "2022-12-06T08:12:18Z")

</div>

Hi @DMcCarthy

I mentioned this use case when I was catching up with Dan at [RevOps.io](http://RevOps.io). He sent me back a video showing how they handle this type of tiered deal and then syncing back to a custom ACV property in HubSpot.

https://www.loom.com/embed/5ffef23cf6494d94a7fd36c4a4a9809b

I hope that helps with ideas.

I’d love to know how you end up solving it.

cheers

Pete

---

<div class="post-metadata">

**Author:** ![DMcCarthy](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/dmccarthy/32/43872_2.png) [@DMcCarthy](https://community.hubspot.com/u/DMcCarthy)\
**Post date:** [December 6, 2022, 3:29pm UTC](https://community.hubspot.com/t/multi-year-contract-discount-one-year/69778/6 "2022-12-06T15:29:57Z")

</div>

@HubDoPete - This is great, thanks for sending this over, I’ll take a look ASAP.

Haven’t gotten a chance to make much progress on this yet, caught up in other things. But I will be sure to update the thread here with whatever I end up deciding.

Thanks again!

---

<div class="post-metadata">

**Author:** ![Malcolm\_Chiu](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/malcolm_chiu/32/13106_2.png) [@Malcolm\_Chiu](https://community.hubspot.com/u/Malcolm_Chiu)\
**Post date:** [December 6, 2022, 7:59pm UTC](https://community.hubspot.com/t/multi-year-contract-discount-one-year/69778/7 "2022-12-06T19:59:39Z")

</div>

How about creating 2 separate deals one for 1st year and another one for the remaining years?

---

<div class="post-metadata">

**Author:** ![HubDoPete](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/hubdopete/32/106153_2.png) [@HubDoPete](https://community.hubspot.com/u/HubDoPete)\
**Post date:** [December 6, 2022, 8:08pm UTC](https://community.hubspot.com/t/multi-year-contract-discount-one-year/69778/8 "2022-12-06T20:08:03Z")

</div>

Thanks Malcolm,

It’s actually @DMcCarthy with the need to report on ACV for these contracts. To split the deal into two deals will likely disrupt other metrics that relate to the number of actual contracts.

I’ve tagged D in this reply to you though, in case this idea helps too.

best

Pete

---

<div class="post-metadata">

**Author:** ![Malcolm\_Chiu](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/malcolm_chiu/32/13106_2.png) [@Malcolm\_Chiu](https://community.hubspot.com/u/Malcolm_Chiu)\
**Post date:** [December 6, 2022, 8:12pm UTC](https://community.hubspot.com/t/multi-year-contract-discount-one-year/69778/9 "2022-12-06T20:12:24Z")

</div>

Well, Hubspot has pretty good reporting capbilities but there various limitations. What I have to end-up doing for one of my customers is exporting the deal data from Hubspot and create custom report with some automation tools.

---

<div class="post-metadata">

**Author:** ![PollyPieCharts](https://avatars.discourse-cdn.com/v4/letter/p/2acd7d/32.png) [@PollyPieCharts](https://community.hubspot.com/u/PollyPieCharts)\
**Post date:** [March 12, 2025, 12:52pm UTC](https://community.hubspot.com/t/multi-year-contract-discount-one-year/69778/10 "2025-03-12T12:52:44Z")

</div>

Hello [DMcCarthy](https://community.hubspot.com/t5/user/viewprofilepage/user-id/243635)! What **third-party tools** do you use to create **multi-year quotes** with **line items discounted differently for each year**? I recently discovered that this is possible, and I’m feeling frustrated with the technical limitations of HubSpot on this issue. My use case:

- Subscription product
- Billing Frequency – usually Monthly
- Term – usually 36 months
- Year 1 – Discount 10%
- Year 2 – Discount 5%
- Year 3 – Discount 0%

---

<div class="post-metadata">

**Author:** ![julia](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/julia/32/154_2.png) [@julia](https://community.hubspot.com/u/julia)\
**Post date:** [March 12, 2025, 3:06pm UTC](https://community.hubspot.com/t/multi-year-contract-discount-one-year/69778/11 "2025-03-12T15:06:14Z")

</div>

Hi @PollyPieCharts, thanks for reaching out to the HubSpot Community! I’m sorry to hear you are running into this but we are happy to help here! I will go ahead and share the feedback to our product team internally.  
Hi @DMcCarthy, are you able to provide any more details here? @danmoyle, [@Phil\_Vallender](https://community.hubspot.com/t5/user/viewprofilepage/user-id/74), and @HubDoPete are you able to provide any additional insight?  
I did some research and found a possible solution in video from @HubDoPete on this post “[Multi-Year Contract - Discount One Year](https://community.hubspot.com/t5/Tips-Tricks-Best-Practices/Multi-Year-Contract-Discount-One-Year/td-p/721711)” that might help you!  
Best,  
Julia

---

<div class="post-metadata">

**Author:** ![danmoyle](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/danmoyle/32/91166_2.png) [@danmoyle](https://community.hubspot.com/u/danmoyle)\
**Post date:** [March 17, 2025, 12:27pm UTC](https://community.hubspot.com/t/multi-year-contract-discount-one-year/69778/12 "2025-03-17T12:27:28Z")

</div>

Thank you for the tag [@juliagentillo](https://community.hubspot.com/t5/user/viewprofilepage/user-id/67337) - I don’t have a solution for this specific use case for @PollyPieCharts though. I’ve seen this done manually, not in an automatic way. And I don’t know of TPS solutions - but if it were me I’d look in the app marketplace for sure.

---

<div class="post-metadata">

**Author:** ![PollyPieCharts](https://avatars.discourse-cdn.com/v4/letter/p/2acd7d/32.png) [@PollyPieCharts](https://community.hubspot.com/u/PollyPieCharts)\
**Post date:** [March 17, 2025, 1:56pm UTC](https://community.hubspot.com/t/multi-year-contract-discount-one-year/69778/13 "2025-03-17T13:56:53Z")

</div>

Hi Julia, thanks for picking up on this post!

**📌 To HubSpot Dev Team – Urgent Fix Needed for Multi-Year Deal Reporting**

Hello HubSpot Community & Product Development Team, I’m reaching out as a **System Administrator** for a company offering:

🔹 **Software Subscriptions** (Industry-Specific CRM, similar to HubSpot) – **Billing: Monthly, Quarterly, Annually**  
🔹 **Professional Services** (One-Time Services, similar to HubSpot’s Onboarding)

Our industry relies on **3-year contracts** , ensuring software stability and reducing frequent provider switching due to **complex data migrations**.

### \*\*🚨

The Challenge: Applying a Discount to Year 1 in Multi-Year Deals\*\*

Our Sales Strategy offers a **first-year discount** , followed by **standard pricing for years 2 and 3**. The big question:💡 **How do we apply a first-year discount while keeping full price for future years in a multi-year contract?**

**Initial Solution:** Add the same product multiple times within a single deal, adjusting the **Billing Start Date** :

✅**Software Subscription – 2024-01 (Discounted)**  
✅**Software Subscription – 2025-01 (Full Price)**  
✅**Software Subscription – 2026-01 (Full Price)**

🚨 **The Problem:** This breaks reporting.

### 

**# Issue 1: Inflated Annual Contract Value (ACV) & Deal Value**

When adding a product multiple times with different **Billing Start Dates** , the **Annual Contract Value (****ACV) sums up incorrectly **, leading to inflated revenue.** ACV is the basis for “Amount in Company Currency” **, which recalculates deal value based on our** company currency settings**.

**🔹Impact:** Misleading revenue projections and inaccurate financial reporting.

### 

**# Issue 2: Broken Currency & Forecasting Reports**

Our company operates in **five currencies** , and all **executive and sales dashboards rely on “Amount in Company Currency”**. However, adding a product multiple times **skews revenue tracking** , making reports unreliable.

**🚨Critical dashboards impacted:**

🔹 **Closed Business** – Overstated revenue per month/year  
🔹 **Salesperson Dashboard** – Overstated revenue per rep per month/year  
🔹 **Customer Dashboard** – Overstated revenue per customer per month/year  
🔹**Progress to Target (Goal Functionality)** – Misalignment in quota tracking

Currency functionality was **a key factor** in choosing HubSpot last August. Now, despite **paying for an annual subscription, we cannot accurately create multi-year contracts** with **tiered pricing**.

While **Quote Templates** allow customers to see pricing adjustments across years, the **Deal Properties (“Amount in Company Currency” and “ACV”) remain incorrect**—breaking financial reporting.

\*\*🚀

Proposed Solution for HubSpot Dev Team\*\*

**✅**

**Only include a Line Item’s ACV in the Deal ACV when its Billing Start Date falls within the same year as the Deal Close Date.**

_ **Excel Logic Equivalent:** _  
📌\*\*ACV [Deal level] =

SUMIFS(ACV [Line Item], IF(Deal Close Date Year = Line Item Year))\*\*

**✅**

**This ensures ACV and “Amount in Company Currency” accurately reflect revenue for the year the deal was closed—preventing inflated values from future years.**

**📢Urgent Call to Action**

This is not a **nice-to-have feature** —this is a **high-impact issue** affecting **forecasting, sales performance tracking, and financial reporting.**  
HubSpot markets itself as an excellent CRM for reporting, but this flaw makes multi-year SaaS deal reporting unreliable.

🚨This **must** be addressed ASAP. **Who’s with me?** 🚀  
Looking forward to feedback from the community—and action from HubSpot.

 ![screenshot 1.png](https://d2qpr2jzcazej7.cloudfront.net/original/3X/d/f/df3df62db875d5cdb5a7a4cca247308248345293.png)  
screenshot 1  
 ![screemshot 2.png](https://d2qpr2jzcazej7.cloudfront.net/original/3X/8/4/84022e1dd0385a11ed38112343f3acd10b7b50b4.png)  
screenshot 2

---

<div class="post-metadata">

**Author:** ![julia](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/julia/32/154_2.png) [@julia](https://community.hubspot.com/u/julia)\
**Post date:** [March 26, 2025, 8:25pm UTC](https://community.hubspot.com/t/multi-year-contract-discount-one-year/69778/14 "2025-03-26T20:25:49Z")

</div>

Thanks for suggestion @danmoyle and the detailed feedback @PollyPieCharts! I have passed this along to our team internally, hopefully we can see this implemented soon!

---

<div class="post-metadata">

**Author:** ![BAdlesh](https://avatars.discourse-cdn.com/v4/letter/b/73ab20/32.png) [@BAdlesh](https://community.hubspot.com/u/BAdlesh)\
**Post date:** [November 26, 2025, 5:46pm UTC](https://community.hubspot.com/t/multi-year-contract-discount-one-year/69778/15 "2025-11-26T17:46:13Z")

</div>

Hi everyone. Brannon here. I’m the product manager leading our upcoming ramp pricing enhancements for line items. We know multi year, multi ramp deals can get messy fast, and we’re actively building a more flexible, native way to handle those structures directly in HubSpot.

If you’re interested in taking a look at some early design concepts or sharing how you handle these deals today, I’d love to connect. You can reach me at **[badlesh@hubspot.com](mailto:badlesh@hubspot.com)**.

---

<div class="post-metadata">

**Author:** ![OTielcharova](https://avatars.discourse-cdn.com/v4/letter/o/43a26b/32.png) [@OTielcharova](https://community.hubspot.com/u/OTielcharova)\
**Post date:** [February 12, 2026, 1:40pm UTC](https://community.hubspot.com/t/multi-year-contract-discount-one-year/69778/16 "2026-02-12T13:40:16Z")

</div>

Hi team,

I was looking for a solution for **multi-year subscriptions with step-down discounts** , and I came across this topic.

Right now, we’re setting up multi-year subscriptions where the discount decreases each year (e.g. Year 1 = higher discount, Year 2 = lower, etc.).

However, when it comes to converting subscriptions, the only workaround I’ve found is to create **multiple subscriptions linked to the same company** :

- the first one active
- the rest scheduled (because each year has a different discount)

Does anyone know if there’s a way to avoid using scheduled subscriptions in this case?

Maybe there’s an automation or a better approach that would adjust the discount amount automatically each year?

Thanks in advance for any hints 🙏

---

<div class="post-metadata">

**Author:** ![Victor\_Becerra](https://avatars.discourse-cdn.com/v4/letter/v/87869e/32.png) [@Victor\_Becerra](https://community.hubspot.com/u/Victor_Becerra)\
**Post date:** [February 12, 2026, 8:04pm UTC](https://community.hubspot.com/t/multi-year-contract-discount-one-year/69778/17 "2026-02-12T20:04:22Z")

</div>

Hi @OTielcharova

Thank you for your question!

At this time, most teams are using workarounds for this issue. Like this Community Thread

[https://community.hubspot.com/t5/Tips-Tricks-Best-Practices/Multi-year-deal-with-price-escalation/td-p/1053023](https://community.hubspot.com/t5/Tips-Tricks-Best-Practices/Multi-year-deal-with-price-escalation/td-p/1053023)

Right now, there is an Idea in Development for Multiyear Quote, my advice is to upvote it and add your specific case in the comments:

[https://community.hubspot.com/t5/HubSpot-Ideas/Multiyear-Quote/idi-p/783994](https://community.hubspot.com/t5/HubSpot-Ideas/Multiyear-Quote/idi-p/783994)

I also want to tag some community experts for any workarounds. Hey there @HubDoPete @HFisher7 @hamidn, happy Thursday! Any thoughts here?

Thanks

Victor
