I am trying to find the best way to relate multiple contacts with multiple accounts AND be able to define how they relate to their different accounts. So the contact “John” may be the CEO of one account, an investor in a second account, and a consultant to a third account. I don’t have a problem relating John to all three accounts since I have a many-to-many relationship defined, but I don’t know how to define each of those roles he plays in each of those accounts. Does anyone have any clear guidance on what will be involved in doing this? I don’t want to create multiple contact records for each person, which is the simplest solution, but is very inefficient and confusing. I am ok if it involves creating additional modules and relationships, I just can’t get my head around the best way to do it.
(I have done a good bit of searching for a solution, but I may have missed some good answer)
I think it all depends on what you want to achieve.
You could create a Module called account_roles in which you may define a few fields such as Title, role level, start date, end date, etc… as well as a one to one relationship with accounts and a one to many relationship with contacts.
The problem with this solution is that it may be difficult to search or do other things using this data.
I recall seeing a module called “Suitecrm Dynamic Fields” that would allow you to create fields similar to emails giving you the possibility to have several records for one field. I have never tried it and I don’t know if you can apply it to complex things that involve multiple information sub-fields as well as relationships.
Additionally I don’t know if it is upgrade safe.
I had seen another similar module called MultiPhoneField-by-SugarTalk that would give you the possibility to create multiple phone numbers with several fields each: number and type (mobile, office, home, etc), call/do not call, etc… If you find this field you could try to modify it per your needs then share it with the community.
I may have downloaded it at some time, since it was free, so, if you want to try I can send it to you.
I ended up creating a new module called Account_Roles that has “Many to one” relationships with both Accounts and Contacts. So in my Accounts subpanels I can see all the persons associated with that account and the role(s) they may play.
So the solution at this point is that I have an Account_Roles module that allows me to define various roles one person could have within various accounts and even within the same account. So the CEO of an Account could now also be a Software Developer of the same account, and could also be a consultant for a different account and whatever other roles they may play. This also allows me to have one contact record but be able to define it in different ways.
I have not tested everything related to this. I could end up have unintended consequences or other difficulties, like in Reporting, only time and testing will tell.