Find your content:

Search form

You are here

How can I identify whether an Opportunity is a renewal?


My sales team would like a clear flag on Opportunity records indicating whether the Opp is a renewal or a new opportunity. The information should be displayed on the Opp record, and also available for grouping in reports.

It seems like this could be done by rolling up the # of Won Opps to the Account record, and then using a cross-object formula to check whether that number is one or more. But this seems like such a common use-case that I wanted to check whether there's something more obvious that I'm missing.


Attribution to: Benj

Possible Suggestion/Solution #1

There is a field on Opportunity called Type which is a picklist that contains the values "New Business" and "Existing Business". You can add additional options as well. You could use that, it would just be up to your reps to set it properly each time.

If you want something to take care of it automatically you could write a trigger to set that value using a method like you described. When an opp is "closed won" you'd want to look at it's account and see if it has any other opps that are closed won already - if so, update the Type field (or another custom field you use to designate this).

Attribution to: Ryan Elkins

Possible Suggestion/Solution #2

I like your idea of a rollup summary to show "Won Opps" on the Account. Then create a workflow rule on Opportunity, so that when it's created, a field is set to "New" or "Renewal" based on the value of Won Opps being 0 or >0. This field should be read-only on the page layout. This way it's completely automatic from the User's perspective.

The only issue with this is that you'll need to do a data update for all existing renewal Opps.

Attribution to: Jeremy Nottingham

Possible Suggestion/Solution #3

Using the Type field as (Ryan suggests) is a fine option to distinguish initial sales from renewals.

If you are looking for an option to automate renewals - auto-create future Renewal Opportunities (as dlog suggests), and deal with multiple initial & renewal sales (as David mentions) - then you may want to look at the Encore app.

Encore automatically maintains a sales history for each account – a list of products an account has previously purchased. It automates the renewals process by auto-creating renewal opportunities with the correct products, prices, discounts, and terms.

Here's the Encore AppExchange listing:

This answer is by Kinetic Growth. We made Encore to provide a solution to these kinds of renewals issues in Salesforce. Please contact us for more info.

Attribution to: Kinetic Growth

Possible Suggestion/Solution #4

The most deterministic way to report on renewals:

  1. Create a new record type for Opportunity: "Renewal"
  2. On Opportunity Closed/Won, create a new future dated renewal Opportunity.

Step 2 commonly piggybacks on Contract creation workflows, using the Contract.EndDate field to create a new renewal Opportunity.

Time-based workflows can be setup to create Task reminders on renewal opps.

Auto-creating future dated renewals really helps to improve data quality and adoption by removing the need for Sales Reps to manually create renewal opps.

Attribution to: dlog

Possible Suggestion/Solution #5

Do renewals have a different record type/layout than initial opportunities? If so, then you may need to set the record type BEFORE the new (blank) Opportunity is created. This would require overriding the New Opportunity page with an interim page that will count ClosedWon Opportunities for that Account (or whatever criteria you need) and will do a different redirect based on the count.

However, if you have the identical record type and you just want to show if there are existing C/W Opps for that Account, then do the Roll-up Summary field and a formula on Opportunity that will show a different image if the RUS is 0 or >0.

However (yeah, I make it so complicated) if there can be multiple initials and renewals for each Account going at the same time (a company may have multiple concurrent contracts for something) then you'll probably need to put a lookup from the renewal to the original opportunity... and the RUS won't work at all - you'll need a trigger before insert/update on Opportunity to fill the right values and such on the Opportunity record.

Attribution to: DavidSchach
This content is remixed from stackoverflow or stackexchange. Please visit

My Block Status

My Block Content