+ Start a Discussion
SapamrmSapamrm 

Custom Opportunity Object: good idea or not?

Our companies view towards opportunities is as follows: there can be many accounts related to one opportunity. Several activities linked to the opportunity can be done with several of these accounts.

What we need in our opportunity object is an overview of all the activities related to the opportunity + an overview of all the activities related to the involved accounts.

 

The logic behind the standard Salesforce opportunities object does not match with our companies view/implementation of opportunities. In Salesforce an opportunity is linked to only one account and all the opportunity-related activities are logged under this account. We tried to find a workaround for this by creating a new "account name"-field (the final account related to the opportunity) + 2 custom objects to relate the opportunity to other accounts involved. Opportunity-related activities are now no longer linked to the account filled in in the new "account name" field, but it is however not possible to link these activities to any account (additionally linking the activity here to a contact does not make the activity appear on the account level! why not?)

 

In the end we decided to create our own custom opportunities object + the 2 other custom objects as described above.

It is now possible to create activities related to the opportunity + when the contact is filled in, the link is automatically made with the account and the activity will appear in the related list of the account.
Until now everything seems to be working fine and as we'd like it to work. Is it a good idea to create your own custom opportunities object or is it "not done" to create your own version of a standard salesforce object? Could this eventually cause any problems in the future?
Thanks in advance for your opinions!
 
Best Answer chosen by Admin (Salesforce Developers) 
Pradeep_NavatarPradeep_Navatar

It is advisable to go in for master-detail relationship.

 

- Account should be master and custom opportunity should be detail / child.

- Custom opportunity should be master and custom product should be child.

 

If you choose lookup then open activities will not showup in accounts. Apart from this you need to take care of conversion of lead to custom opportunity, attachments, contact role and reports. You need to create a custom object for contact role(only if you require functionality of contact role) and create a lookup relationship with the custom opportunity.

 

I advise you to create custom functionality in a dev org and compare it with the standard functionality so you will be clear before implementing that.

 

Hope this helps.

All Answers

Pradeep_NavatarPradeep_Navatar

I think there is no harm in that. You can customize sfdc as per your requirements. We faced a similiar issue in one of our application where we wanted to expose opportunities on the customer portal but due the limitation that we can not expose opportunity object on the customer portal, we made a custom object which was similar to the opportunity and it worked fine.

 

SapamrmSapamrm

Ok thx for your feedback Pradeep.

 

Just one additional question before I start with the implementation:

Concerning the custom objects (for adding accounts to the opportunity) related to opportunities: would you go for a master-detail relationship or a normal lookup?

 

The same goes for the custom "products" object we'll have to create: master-detail or lookup?

 

I've read the salesforce manual but I don't seem to really understand the difference between those two.

 

 

Thx.

Pradeep_NavatarPradeep_Navatar

It is advisable to go in for master-detail relationship.

 

- Account should be master and custom opportunity should be detail / child.

- Custom opportunity should be master and custom product should be child.

 

If you choose lookup then open activities will not showup in accounts. Apart from this you need to take care of conversion of lead to custom opportunity, attachments, contact role and reports. You need to create a custom object for contact role(only if you require functionality of contact role) and create a lookup relationship with the custom opportunity.

 

I advise you to create custom functionality in a dev org and compare it with the standard functionality so you will be clear before implementing that.

 

Hope this helps.

This was selected as the best answer
SapamrmSapamrm

Thanks for the advice man! Really appreciated!