Tips, Tricks & Best Practices

DMcCarthy
Participant

Multi-Year Contract - Discount One Year

SOLVE

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!

1 Accepted solution
HubDoPete
Solution
Key Advisor | Gold Partner
Key Advisor | Gold Partner

Multi-Year Contract - Discount One Year

SOLVE

Hi @DMcCarthy 

 

I mentioned this use case when I was catching up with Dan at 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/share/5ffef23cf6494d94a7fd36c4a4a9809b

 

I hope that helps with ideas.

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

cheers

Pete

 

 

View solution in original post

13 Replies 13
PollyPieCharts
Contributor

Multi-Year Contract - Discount One Year

SOLVE

Hello DMcCarthy! 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%
0 Upvotes
juliagentillo
HubSpot Employee
HubSpot Employee

Multi-Year Contract - Discount One Year

SOLVE

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, 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" that might help you!

Best, 
Julia 


HubSpot’s AI-powered customer agent resolves up to 50% of customer queries instantly, with some customers reaching up to 90% resolution rates.
Learn More.

PollyPieCharts
Contributor

Multi-Year Contract - Discount One Year

SOLVE

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 1screenshot 1screenshot 2screenshot 2

 

juliagentillo
HubSpot Employee
HubSpot Employee

Multi-Year Contract - Discount One Year

SOLVE

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!


HubSpot’s AI-powered customer agent resolves up to 50% of customer queries instantly, with some customers reaching up to 90% resolution rates.
Learn More.

danmoyle
Most Valuable Member | Diamond Partner
Most Valuable Member | Diamond Partner

Multi-Year Contract - Discount One Year

SOLVE

Thank you for the tag @juliagentillo - 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. 

 

Did my answer help? Please "mark as a solution" to help others find answers. Plus I really appreciate it!


Dan Moyle

HubSpot Advisor

LearningOps | Impulse Creative

emailAddress
dan@impulsecreative.com
website
https://impulsecreative.com/
0 Upvotes
HubDoPete
Key Advisor | Gold Partner
Key Advisor | Gold Partner

Multi-Year Contract - Discount One Year

SOLVE

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 and others) so we know them well enough to know that you should evaluate 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 - 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

 

DMcCarthy
Participant

Multi-Year Contract - Discount One Year

SOLVE

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!

HubDoPete
Solution
Key Advisor | Gold Partner
Key Advisor | Gold Partner

Multi-Year Contract - Discount One Year

SOLVE

Hi @DMcCarthy 

 

I mentioned this use case when I was catching up with Dan at 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/share/5ffef23cf6494d94a7fd36c4a4a9809b

 

I hope that helps with ideas.

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

cheers

Pete

 

 

DMcCarthy
Participant

Multi-Year Contract - Discount One Year

SOLVE

@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!

Malcolm_Chiu
Participant

Multi-Year Contract - Discount One Year

SOLVE

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

0 Upvotes
HubDoPete
Key Advisor | Gold Partner
Key Advisor | Gold Partner

Multi-Year Contract - Discount One Year

SOLVE

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

Malcolm_Chiu
Participant

Multi-Year Contract - Discount One Year

SOLVE

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. 

0 Upvotes
MiaSrebrnjak
Community Manager
Community Manager

Multi-Year Contract - Discount One Year

SOLVE

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 


HubSpot’s AI-powered customer agent resolves up to 50% of customer queries instantly, with some customers reaching up to 90% resolution rates.
Learn More.


Besuche unsere DACH-Community!
Nimm an regionalen Unterhaltungen teil, indem du deine Spracheinstellungen änderst !


Our Community is available in other languages.
Join regional conversations by changing your language settings !