There are so many ways we can use opportunity, I'm trying to find out what is the best for our situation. We keep track of multiple contacts using multiple products. And they have to renew their use of each product every year. We have a focus more on the contact than on the account, but that doesn't even have to be the case.

Option 1. Only one opportunity per account. Create an Opportunity Product for each contact (custom field) using each product each year they use it.

Option 2. One Opportunity for each product. For each Opp create an Opportunity Product for each contact using that product each year.

Option 3. One Opportunity each year (or time unit). Create an Opportunity product for each contact using any product. Repeat for each time unit.

Option 4. One Opportunity for each Contact. Create an Opportunity Product for each product and each year.

I'm sure there are more options. Then I can do any sort of combination of the above. One opp for each product each year, then record the contact. One opp for each product for each contact, then record the year.

We need to track some relation between contacts, products, and time. What is the best way to do this? Or, more realistically since every org is different, some good advice to help with making this decision.

  • Have you looked into orders and entitlements?
    – Eric
    Dec 2, 2015 at 21:36

1 Answer 1


What you are discussing is one of the core uses of any CRM system. Ultimately an "Opportunity" represents a "Deal" or "Transaction" with the customer. An opportunity contains at least an amount, a customer (or prospect), a timeframe, and a stage (or state).

Opportunities and opportunity products are tightly coupled and exist for the lifespan of this single transaction. Keep in mind that opportunity products can have schedules in the event you product is sold via subscription or allocates quantities on a scheduled basis. What I have seen in the past (and have implemented) is once the original opportunity is created and sold, a trigger or workflow (process builder) creates a brand new opportunity for the renewal with a close date the same as the expiry date of the original opportunity. This process can then continue as long as needed.

As for the contact, you just need to relate the appropriate contact to the opportunity via the Opportunity Contact Role object. This will allow for the opportunity product contact time reporting you need.

  • This is very useful, thank you. So your suggestion is to have the Opportunity linked to a particular contact for a particular time period, then use some sub object to say which specific products. 2 Questions. Would it make sense to create new Opportunity Products each year instead of new Opportunities? Is there any benefit to having one opportunity being linked to two contacts instead of just one? Dec 3, 2015 at 0:07
  • You want to create separate opportunities for separate transactions. So if the product you are selling renews each year, that means a new opportunity (ultimately because we have the chance that the customer might not renew and we need to be able to determine win/loss ratios). If two contacts are part of the same deal (ex - a decision maker and a stakeholder) then you would attach them to the same opp. If they purchased the same product that they need to use then create separate opportunities. Hope that helps. Dec 3, 2015 at 0:16

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .