I have question on opportunity and opportunity product. I have a requirement where i need to store all the different services provided by us for each opportunity. I am trying to accomplish this by creating a custom object. Exploring sf, i see the opportunity product, but don;t know what it is used for. Please throw some light.
An opportunity has to be linked to the Product for generating order or to do Quote management going ahead .The products linked to opportunity are known as opportunity line Item or opportunity product .The revenue is the sum of prices of these line items .
Have a look at sales data model from SFDC to explore more
Actually, Opportunity Product (OpportunityLineItems) is a junction between Opportunity and Price Book Entry (PricebookEntry). The Pricebook Entry is itself a junction between Product (Product2) and Pricebook (Pricebook2).
As for your requirement, it sounds like you're supposed to store every service you offer on an Opportunity even if it's not being sold on that Opportunity. Is that correct? If so, it doesn't sound like a requirement that has been fully thought through. Why not only store the services being sold on that Oppty?
If that is the requirement and it somehow makes sense, then you could use Opportunity Products and create a trigger on Insert that gets all available Products and creates a OpportunityLineItem for each.
You should think about Opportunity Products as either
a) SKU(s) that you would quote and then, if ordered, receive a Purchase Order with line items for those SKU(s). You can also forecast by SKU this way
For example, if I were Dell, one of my Opportunities might have these Opportunity products
b) Product Families that you sell one or more of on a given Opportunity (and where you want to do opportunity-product forecasting on)
For example, If I were General Electric, one of my Opportunities might have multiple Opportunity products: