Kaizen #54 - Subforms vs. Related Lists

Kaizen #54 - Subforms vs. Related Lists

Hello everyone!
Welcome back to another week of Kaizen.
In this post, we will analyze how to choose between a subform and a related list based on your business case.

What will you learn from this post? 
  1. When to choose a subform?
  2. When to choose a related list?
  3. Comparing subforms and related lists
1. When to choose a subform?
Subforms are used to organize details in a record based on your business needs. Every line item is a subform record. To know more about subforms, refer to Kaizen #31 - Subforms #API.

1a. Business case
For instance, consider a scenario where you want to view all the necessary details of the stakeholders of an account, such as email ID, phone number, and so on while viewing an account record. 


For this, go to Setup > Modules and Fields > Accounts > Choose the desired layout and add a subform named "Stakeholders". In this subform, you can have a lookup field that points to Contacts (Stakeholders). You can further choose to add new fields or add fields from the Contacts module to the subform.

Adding fields from the Contact module to the subform:


Adding new/additional fields to the subform (it can be any of any field-type including aggregate/formula):


The system auto-populates the details of the stakeholder, based on the stakeholder name. Thus, allowing you to view all the necessary details of a stakeholder in a single glance. If needed, you can even add aggregate/formula fields to the subform.

Note:
The system automatically populates the values only if the value is present in that field in the child record.

For other sample business use cases, click here.

1b. Retrieving subform records along with parent record.
You can retrieve subform records only when you retrieve records with their unique ID. The system does not retrieve subform records when you retrieve all the records in a module, or perform a search operation.

Request URL: {{api-domain}}/crm/v2/Accounts/4150868000003247001
Request Method: GET

Sample Response:


You can also choose to retrieve just the subform records using Get Subforms API.

Note:
  • To know how to add aggregate fields to a subform, click here.
  • You can add formula fields to the subform. However, you can choose only the fields in the subform in your formula expression. Click here to know more about the formula fields.
  • You can create 2 subforms per module in the Enterprise edition and 5 subforms per module in Ultimate edition.
    • The maximum number of subform fields you can add in a layout is 8.
    • The maximum number of entries across all subforms on an aggregate is 200.
2. When to choose a related list?
A record usually contains extra information such as notes, attachments, and data related to other modules (linked via lookup/multi-select lookup fields) such as related tasks, calls, products etc.These modules are categorized as related lists, and the records in each of these related lists are called related records. To know more about related lists, refer to Kaizen #48 - Related Lists and Related Records #API.

Let us try to solve the same business scenario as above using related lists.

The system lists all the related records (child) under a record (parent) based on the value in the lookup/multi-select lookup fields in the child records.

When you link an account while adding a contact, it will be directly displayed in the respective account's related list. You can show/hide the fields that are displayed in the related list based on your business needs. However, you cannot add additional fields as in subforms.

2a. Reasons why related list is not the best choice for this case:
  • You cannot add an aggregate field that calculates the stakeholder share.
  • You cannot add any formula field.
  • The related list data is auto-populated based on the value in the lookup/multi-select lookup field. 
2b. Business case for a related list
Consider a scenario where you need to view all the products that a contact is interested in. You can have a contact multi-select lookup in the products module. As and when you add product records with related contacts, it will be listed as related records in the respective contacts. This way you need not switch between modules to view the related records.


3. Comparing subforms and related lists

Here is a comparison between the subforms and related lists. 
Subforms
Related lists
Primarily used to organize data in a record based on your business needs.
Primarily used to perceive parent-child/one-to-many relationships between records. 
Allows you to add new fields (both normal and aggregate).
You can only display/hide the fields of the child record. 
You cannot configure workflow rules based on subform fields (except aggregate fields)
You can configure workflow rules based on related lists.
Subforms are layout-specific.
Related lists remain the same for all the layouts in a module. 
Subforms not available in Activities, Pricebooks and Purchase Orders, Sales Orders, Invoices and Quotes
The system creates related records when you add values to lookup/multi-select lookup fields. It is available in all the modules except Activities.
While converting a lead or a quote, fields used in a subform will not be converted.
While converting a lead or a quote, the related list data will be retained in the converted record. 

We hope you found this post useful. Let us know your thoughts in the comment section or reach us out at support@zohocrm.com.

Cheers!

    Access your files securely from anywhere









                          Zoho Developer Community




                                                • Desk Community Learning Series


                                                • Digest


                                                • Functions


                                                • Meetups


                                                • Kbase


                                                • Resources


                                                • Glossary


                                                • Desk Marketplace


                                                • MVP Corner


                                                • Word of the Day


                                                • Ask the Experts





                                                          Manage your brands on social media



                                                                Zoho TeamInbox Resources



                                                                    Zoho CRM Plus Resources

                                                                      Zoho Books Resources


                                                                        Zoho Subscriptions Resources

                                                                          Zoho Projects Resources


                                                                            Zoho Sprints Resources


                                                                              Qntrl Resources


                                                                                Zoho Creator Resources



                                                                                    Zoho CRM Resources

                                                                                    • CRM Community Learning Series

                                                                                      CRM Community Learning Series


                                                                                    • Kaizen

                                                                                      Kaizen

                                                                                    • Functions

                                                                                      Functions

                                                                                    • Meetups

                                                                                      Meetups

                                                                                    • Kbase

                                                                                      Kbase

                                                                                    • Resources

                                                                                      Resources

                                                                                    • Digest

                                                                                      Digest

                                                                                    • CRM Marketplace

                                                                                      CRM Marketplace

                                                                                    • MVP Corner

                                                                                      MVP Corner







                                                                                        Design. Discuss. Deliver.

                                                                                        Create visually engaging stories with Zoho Show.

                                                                                        Get Started Now


                                                                                          Zoho Show Resources

                                                                                            Zoho Writer

                                                                                            Get Started. Write Away!

                                                                                            Writer is a powerful online word processor, designed for collaborative work.

                                                                                              Zoho CRM コンテンツ






                                                                                                Nederlandse Hulpbronnen


                                                                                                    ご検討中の方




                                                                                                          • Recent Topics

                                                                                                          • Fetch Subform values through a lookup of a lookup

                                                                                                            Hi, I'm having an issue fetching the values of a subform through a lookup field through another lookup field. The code works perfectly to show me the subform row ID, but the second I try to get any readable data, it says "Error occurred. Please contact
                                                                                                          • Zoho Desk API Documentation missing a required field

                                                                                                            We are trying to create a section using this information. Even after preparing everything based on that page, we still get an error. The error we get is this: {"errorCode":"INVALID_DATA","message":"The data is invalid due to validation restrictions","errors":[{"fieldName":"/translations","errorType":"missing","errorMessage":""}]}
                                                                                                          • Good news! Calendar in Zoho CRM gets a face lift

                                                                                                            Dear Customers, We are delighted to unveil the revamped calendar UI in Zoho CRM. With a complete visual overhaul aligned with CRM for Everyone, the calendar now offers a more intuitive and flexible scheduling experience. What’s new? Distinguish activities
                                                                                                          • Turn Decision Box to a button

                                                                                                            Dear all, I need your help on CSS to turn a Decision Box to a Button. I have a Decision Box like: Turn on/off to refresh the information. (on User Input, either True or False, will refresh the information) Now I want to simulate to treat it like a Refresh
                                                                                                          • Emails not being received from a particular domain

                                                                                                            Cannot receive any emails sent from atco.com Domain is in the spam whitelist so should be no reason for it not to be coming through. Have filed a ticket and besides a generic response of we are looking at it - it seems there is no actual support workers
                                                                                                          • Contact data removes Account data when creating a quote

                                                                                                            Hi, Our customer has address fields in their quote layout which should be the address of the Account. They prefill the information, adding the account name - the address data is populated as per what is in the account - great. However when they then add
                                                                                                          • Stock Count

                                                                                                            The stock count is a nice new feature, but we cannot figure out how to: 1. Use it without assigning to a person, we have a team or one of multiple do stock counts as do most any company. 2. Add any extra fields to what the "counter" sees. The most important
                                                                                                          • CRM x WorkDrive: File storage for new CRM signups is now powered by WorkDrive

                                                                                                            Availability Editions: All DCs: All Release plan: Released for new signups in all DCs. It will be enabled for existing users in a phased manner in the upcoming months. Help documentation: Documents in Zoho CRM Manage folders in Documents tab Manage files
                                                                                                          • Send Whatsapp message from Whatsapp template with custom variables

                                                                                                            Hi, I'm trying to do some basic integration for sending WhatsApp messages from Zoho CRM using Zoho Desk whatsapp templates. When creating new whatsapp template in Zoho Desk we can choose ticket related fields as variables but it's not clear how to use
                                                                                                          • Less clicks, more connection – the usability edge of Zoho Desk

                                                                                                            Imagine joining a new workplace, eager to prove your skills, partner with peers, learn new tools, and build a strong foundation for your career. The standards you've set could drive pressure into your head. You now discover the organization is using Zoho
                                                                                                          • How to remove some users in zoho accounts

                                                                                                            How to remove some users in Zoho accounts.
                                                                                                          • Outgoing blocked: Unusual activity detected.

                                                                                                            I just made payment for my Zohomail Today and have been debited so i will like to be Unblocked because this is what it says (Outgoing blocked: Unusual activity detected) Thank you i await your swift responses
                                                                                                          • Circular record relationship in CRM

                                                                                                            Given there is a lookup in custom module Transactions creating a related list on the chosen Contact record. I. e. a lookup field on Transactions module points to Contacts. The related list on a Contact record can thus have have many transaction records.
                                                                                                          • Integrating with My Own Application and ZOHO CRM Simultaneously

                                                                                                            I have my own WhatsApp bot that uses my WhatsApp business account. I want to use the same phone number to integrate with ZOHO as well. What is the recommended way to do that? Should I integrate my application with ZOHO, forwarding messages whenever the
                                                                                                          • Kiosk can't merge picklist or multiselect

                                                                                                            There is no ability to load a multiselect or picklikst field into a kiosk with the values that have been previously selected. So, I essentially have 3 unacceptable options: 1.)Load the value into a text string and include instructions like this: "Picklist
                                                                                                          • How do i move multiple tickets to a different department?

                                                                                                            Hello, i have several tickets that have been assigned to the wrong department.  I am talking about hundreds of automatically generated ones that come from a separate system. How can i select them all at once to move them to another department in one go? I can select them in "unsassigned open tickets view" but i can't find a "move to another department" option. I also can't seem to assign multiple tickets to the same agent in that same view. Could somebody advice?
                                                                                                          • Transferring CRM Attachments to Workdrive

                                                                                                            relatedrecords = zoho.crm.getRelatedRecords("Attachments","Conditions",conId); attachid = List(); for each ele in relatedrecords { attachementId = ele.get("id"); attachid.add(attachementId); } for each ele in attachid { counter = 1; downloadFile = invokeurl [ url: "https://www.zohoapis.com/crm/v2/Conditions/" + conId + "/Attachments/" + ele type: GET connection : "work_drive" ]; resp2 = zoho.crm.attachFile("Deals",dealId,downloadFile); resp3 = zoho.workdrive.uploadFile(downloadFile, dealWD, "PlaceHolder"+counter+"",
                                                                                                          • How to restrict user/portal user change canvas view

                                                                                                            Hi , I would like to restrict user / portal user change their canvas view because I hide some sensitive field for them. I dont want my user switch the canvas view that do not belong to them But seems Zoho do not provide this setting?
                                                                                                          • New Customization options in the module builder: Quick Create and Detail view

                                                                                                            Hello everyone, We have introduced two new components to the module builder: Quick create and Detail view. The Quick Create Component It is a mini form used to create a record and associate it to the parent record from a lookup field. For example, if you have a Deals lookup in the Contacts module, then you can associate existing deals or create a deal and associate it with the contact. You can customize this Quick Create form by adding standard as well as custom fields. There is no limit to the number
                                                                                                          • unblock my zoho mail account. outlines@zoho.com

                                                                                                            please unblock my zoho mail account, outlines@zoho.com
                                                                                                          • SMTP email sending problem

                                                                                                            Hello, I've sent emails before, but you haven't responded. Please respond. My work is being disrupted. I can't send emails via SMTP. Initially, there were no problems, but now I'm constantly receiving 550 bounce errors. I can't use the service I paid
                                                                                                          • Mailk got blocked / Inquiry About Email Sending Limits and Upgrade Options

                                                                                                            Dear Zoho Support Team, My name is Kamr Elsayed I created this account to use for applying for vocational training in Germany. As part of this process, I send multiple emails to different companies. However, after sending only 8 emails today, I received
                                                                                                          • Forwarder

                                                                                                            Hi, I tried to add a forwarder from which emails are sent to my main zoho account email . However, it asks me for a code that should be received at the forwarder email, which is still not activated to send to my zoho emial account. So how can I get the
                                                                                                          • No chat option

                                                                                                            Chat option is not supported.
                                                                                                          • Direct “Add to Google Calendar” Option in Zoho Meeting

                                                                                                            Hello Zoho Meeting Team, Hope you are doing well. We would like to request an enhancement related to the “Add to Calendar” functionality in Zoho Meeting. Currently, when we open Zoho Meeting and view our meetings under My Calendar, there is an Add to
                                                                                                          • Multi-currency and Products

                                                                                                            One of the main reasons I have gone down the Zoho route is because I need multi-currency support.  However, I find that products can only be priced in the home currency, We sell to the US and UK.  However, we maintain different price lists for each. 
                                                                                                          • Default Tagging on API-generated Transactions

                                                                                                            If one assigns tags to an Item or Customer, those tags get auto-populated in each line item of an Invoice or Sales Order when one creates those documents. However, if one creates the Sales Order or Invoice via the API (either directly coding or using
                                                                                                          • DKIM cannot be enabled for the domain as no verified default selector present

                                                                                                            Hi Support Team, For Domain DKIM record trying to enable status. but showing error "DKIM cannot be enabled for the domain as no verified default selector present" So, please resolve the issue. Thank you.
                                                                                                          • unable to send message reason 554 5.1.8 Email outgoing blocked

                                                                                                            unable to send message reason 554 5.1.8 Email outgoing blocked
                                                                                                          • I can't log in to my account on Thunderbird

                                                                                                            I've just had to rebuild my PC (calamitous mess from Microsoft with Win10/Win 11 'upgrade' - they confirmed I had to start with a new build). I have used Zoho mail for years via Mozilla Thunderbird, but now I've had to download the latest version of TBird,
                                                                                                          • Should I Use DMARC?

                                                                                                            When I configure Zoho Mail's DMARC settings, it's mandatory to fill in the RUA and RUF (Aggregate notification email address*, Forensic notification email address*) addresses. When we enter an email address in these fields, we receive reports from the
                                                                                                          • Introducing Profile Summary: Faster Candidate Insights with Zia

                                                                                                            We’re excited to launch Profile Summary, a powerful new feature in Zoho Recruit that transforms how you review candidate profiles. What used to take minutes of resume scanning can now be assessed in seconds—thanks to Zia. A Quick Example Say you’re hiring
                                                                                                          • Books API Receiving an Error that Doesn't Make Sense when Creating Credit Note - trying to use 'ignore_auto_number_generation' argument

                                                                                                            Hello, I'm working on a newly created routine and I'm getting an error that doesn't make sense when trying to create a new Credit Note. Here is my POST request. Endpoint: https://www.zohoapis.com/books/v3/creditnotes?organization_id=########## Body:     {
                                                                                                          • How to move emails to Shared Mailbox?

                                                                                                            Hello, I created a Shred Mailbox instead of using a distribution group. But I cannot move previous emails to certain shared mailbox. Is it possible move some emails from inbox to shared mailbox?
                                                                                                          • Collaboration with free plan user.

                                                                                                            Hello. Do both users need to be on Pro plan to collaborate? Or can a Pro user share a note with a free plan user with the ability to edit?
                                                                                                          • All new Address Field in Zoho CRM: maintain structured and accurate address inputs

                                                                                                            The address field will be available exclusively for IN DC users. We'll keep you updated on the DC-specific rollout soon. It's currently available for all new sign-ups and for existing Zoho CRM orgs which are in the Professional edition. Latest update
                                                                                                          • Send email template "permission denied to access the api"

                                                                                                            Hello, Per the title, I'm trying to send a Zoho CRM Email template based on the advice given here: https://help.zoho.com/portal/en/community/topic/specify-an-email-template-when-sending-emails-in-custom-functions (I'd prefer to send right from Deluge
                                                                                                          • Zoho sign and creator error message {"code":9043,"error_param":"Checked by","message":"Extra key found","status":"failure"}

                                                                                                            Good day, I receive the error message: {"code":9043,"error_param":"Checked by","message":"Extra key found","status":"failure"} when running below code from creator to sign, void TestForSign(int ID) { //Fetch Template Details (Optional, for dynamic mapping)
                                                                                                          • Zoho Inventory Now Supports VeriFactu for Businesses in Spain

                                                                                                            Starting from January 1, 2026, Spain requires real-time invoice reporting for all B2B transactions. From July 2026, this requirement will extend to B2C transactions as well. All reporting must be carried out through the VeriFactu to AEAT (Agencia Estatal
                                                                                                          • Connection to other user

                                                                                                            Zoho Cliq handles sharing of Custom OAuth Connections that require individual user logins.
                                                                                                          • Next Page