Many-to-Many Module Association in Zoho CRM
Table of Contents...
- Many-to-many module association: An overview
- Example scenario
- How to create Many-to-many module association setup in Zoho CRM
- Linking Module - An Overview
- Working with a linking module
- Related lists for a linking module
- Customizing a linking module
- Creating reports and dashboards
- Deleting a linking module
- Properties of a linking module
Your sales data are often inter-related. When you maintain this data in CRM, you need to have ways by which you can establish the required association between them appropriately.
For example, say you need to associate an account with one of your contacts. You can do this easily using the Account Lookup field in CRM.
If there are multiple contacts associated with one account, you can still achieve this association by simply selecting the same account for all the contacts, thereby establishing a one-to-many relationship.
However, in all these cases, note that you can select only one value using a look-up field.
Now imagine a scenario in which you have one of these contacts working on a contract basis for two accounts. So you have a situation in which you need to associate two companies to the same contact. The Account Look-up field allows the selection of only one value. Therefore a "one-to-many relationship" setup cannot fulfill this requirement.
A Many-to-many module association in Zoho CRM solves exactly this need. With a Multi-Select Lookup Field, you can associate multiple look-up values to a record and thereby establish a perfect Many-to-many module association between two modules.
|Field Type||Association Facilitated||Type of Relationship Established|
|Look-up field||Single Value||One-to-many|
|Multiple Look-up field||Multiple Values||Many-to-many|
Following are some more scenarios in which a Many-to-many module association needs to be established.
- An educational institution, which has two modules - Students and Courses.
A single student opts for many courses. Similarly, a single course may have many takers.
- An insurance company, which has two modules - Policyholder and Policies.
A single policyholder purchases many policies. Similarly, a single policy may have many buyers.
- A real estate company, which has two modules - Prospects and Listings.
A single prospect could be interested in several listings. Similarly a single listing may fetch several prospects.
When you have to associate many values to a lookup field, a multi-select lookup field will be ideal for you. Let's look at a scenario in detail.
Zylker Real Estates manages buying/renting apartments. They have two modules in their CRM - Listings and Prospects.
- Jack Smith, one of the prospects, is interested in looking at 3 listings (C-807, B-196 & H-786).
- Apart from Jack, 3 other prospects - Jane, Jill and Derek - are all interested in looking at C-807.
This means, when the record Jack Smith is created, 3 values need to be chosen for the listings he is interested in. Also, the listing C-807 should have 4 prospects associated with it. So there is a need to choose many values from a lookup field. A regular lookup field lets you choose only one value.
In this case, Zylker Real Estates could create a multi-select lookup field. Let us see how.
To create a multi-select lookup field
- Go to Setup > Customization > Modules and Fields.
- Click the required module, in this case, Prospects.
- From the list of fields available, drag and drop the Multi-select lookup field.
Note that you can create a maximum of 2 Multi-select lookup fields per module.
- In the Multi-Select Lookup Properties window, enter the details as seen in the following image.
- Select the Allow creating relationship-specific modules checkbox if a Linking Module is required and enter its name.
- Click Done.
- Save the layout.
The multi-select lookup field is now created. When Zylker Real Estates now creates a record called Jack Smith, they will now be able to choose more than one value from the multi-select lookup field.
The values thus chosen will be associated to each record as related lists.
- If you do not see a module displayed in the Select Related Module list inside the Multi-Select Lookup Properties window, it is likey that this module has reached its maximum limit for Multi-Select Lookup fields.
- You can create a maximum of two Multi-Select Lookup fields per module.
- If you have more than one layout in the Related Module, you will be prompted to select the layout in which the Multi-Select Lookup field must be added.
What is a Linking Module?
A linking module is one that serves as a junction between two modules associated with a multi-select lookup field.
Consider the example above - that of Zylker Real Estates. The prospect Jack Smith has now been created with 3 associated listings via a multiselect lookup field. But let's say he requests a negotiation for each listing- and the negotiated rent differs for all 3 listings. Now where can this field be stored?
- It cannot be a field in the Jack's record, as there are 3 different prices based on each house.
- It cannot be a field in the listing's record either, as other prospects apart from Jack may have offered different negotiations for it.
In order to manage this diversity, Zoho CRM allows you to create something called a Linking Module. Each association between two modules (created via a multi-select lookup field) is created as a record in the linking module. So, when 3 listings are associated with Jack, 3 separate records are created in the Linking Module - this lets you create separate Negotiated Rent in each record.
To enable creation of a Linking Module, simply select the Allow creating relationship-specific modules checkbox and enter a name for the linking module. You can create custom fields and manage the linking module like you would any custom module.
- The multi-select look up field can currently be used while individually creating a record. It is not supported for records generated via import.
- Custom views cannot be created for multi-select lookup field type, as there are multiple values. However you may create custom views in the linking module.
- Automation is currently not supported for records in the Linking Module.
Once you have created a linking module, you can customize it, create records and generate reports for the module. Click on the links below to read in detail about a linking module.
- Working with the related lists of a linking module
- Customizing a linking module
- Creating reports and dashboards
- Deleting a linking module
- Properties of a linking module
Following are points to note when you link two primary modules via a multi-select lookup field.
- Each primary module will contain the other module's related list in the respective Record Details page.
- This related list will also display details of the Linking Module, if you have chosen to create one.
- You can customize the related list columns to display the details you wish to see.
- You can also rename the Related List as you see fit.
- You can edit a linking module's record directly from this Related List by clicking on the Edit icon against each record.
However note that if you click on the hyperlink of a record and not the Edit icon, you will be taken to the respective record's Detail page and not necessarily the linking module.
- You can add new records to the related list or edit the existing record association directly from this related list. Simply click the Add or Edit links above the related list to do the same.
- To dissociate a record from the related list, simple click the Cross icon against the record.
- To access, view and customize the related list, one must have suitable permissions for the related Multi-select lookup field.
- Records from the Linking Module will have no other related lists except Notes.
A linking module can be customized just like any other custom module. You can add new fields and sections, edit field properties and set module/field permissions.
For instance, the Prospects Vs Listings module captures the Negotiated Rent and Negotiated Advance for each association created via the multi-select lookup field.
Following are points to note regarding customization of a linking module.
- Module Organization:
The Organize Modules option under module customization allows you to decide the order in which the module tabs appear on the menu bar. You can also hide a module by removing it from the list of Selected Tabs.
Now in case you decide to hide a module that participates in a linking module, this linking module will also be removed from the list of Selected Tabs.
This is because the linking module is dependant on the primary modules and cannot be active even if one of the primary modules is removed.
Similarly when you add a primary module back to the list of Selected Tabs, the linking module will also be added back along with it.
- Mandatory Fields:
The primary module based fields in the Linking Module will be marked as mandatory by default. As the entire linking module runs on these two primary modules, you cannot make them non-mandatory.
- Custom fields limits:
Currently, a linking module can accommodate a maximum of 100 fields in a linking module. This includes the system-defined fields as well as custom fields.
You can create specifc reports and dashboards based on the records in a linking module.
In the above example of a Many-to-many module association between the Prospects Vs Listings module, let's say you wish to see the listings with a Negotiated Rent value of more than Rs.10000. You can create a simple summary report with the Prospects Vs Listings module.
In another scenario, say you wish to see a report where you can see the negotiated rent of each prospect, in the exact month of their tentative moving date.
For this you need to select the Prospects module as the primary module while creating a matrix report and choose the Prospects Vs Listings module in the Related Modules. Note that if you choose the Linking Module, the other primary module also gets selected along with it by default and vice versa.
Once you have generated the report, you can see each prospect's negotiated rent grouped as per their tentative moving date.
You can also create dashboards out of these reports. See also: Reports and Dashboards.
- The linking module gets displayed in the list of related modules when you create a report based on one of its dependant modules.
- If you choose the linking module as a related module, the other primary module involved in the Many-to-many module association also gets selected by default. In such a case you cannot select other modules to create a report.
- If you create a report based on a linking module, the Related Modules list will only contain its primary modules.
You cannot directly delete a linking module in CRM. Also, as long as the linking module exists you cannot delete the primary modules either, as they are needed for the linking module to function.
To delete a linking module, you must remove the multi-select lookup field that has created the Many-to-many module association between two modules in the first place. When you do this, the linking module will automatically be removed.
Make sure to remove this field from any other layouts or the list of Unused fields in order to completely delete it.
Once you have removed the linking module, you are free to delete the primary modules as there is no longer a dependency between the modules.
- The Multi-select lookup field will be created for the current layout for the module in question. If you have multiple page layouts for a module, you will be prompted to choose the layout(s) in which the field has to be created in the Related Module.
- If you remove a multi-select lookup field from a layout, it is still present in the Unused Fields section. If you wish to permanently delete a multi-select lookup field, you must delete it from all layouts (if any) and also from the list of unused fields. Note that this is a permanent action and cannot be undone. When you delete a multi-select lookup field, the linking module is also removed along with it.
- If you delete a record whose multi-select lookup field has created many associations with another module, those records in the linking module are deleted along with it and sent to the Recycle Bin. When you restore the main record, it is again restored with all the associations again.
- Export of records is not supported for a linking module as well as the Multi-select lookup field in a module.