Subforms | Online Help - Zoho CRM

Building a Subform

In simple terms, a subform is a secondary form or a table, which enables you to add multiple line items to a primary form. Your CRM data are often inter-dependent. You may have the necessity to associate multiple items to a single record. In technical terms, we call these "line items". A subform allows to associate multiple line items to a single record. 
For example, while ordering a mobile phone, a customer may place the order for accessories such as mobile charger, flip cover and a microphone - along with the main product. So, these become "sub-products". While customer A orders these three accessories, customer B may order another 5. Each accessory may require essential information such as amount, rate, quantity, discount and so on.

This Accessories section in itself becomes a form - where you ask for details such as name of the accessory, price, quantity, vendor and so on. So essentially you have two forms:
  1. A primary product form, which contains details about the main order: mobile phone.
  2. A sub product form, which contains details about the associated accessories. This is nothing but a subform in CRM.

On a more technical perspective, subforms easily solve the need for you to establish a one-to-many relationship with data in your CRM, in which many secondary items are associated to a single primary record. The following "Scenarios" section offers examples from many industries to illustrate the purpose of a subform.


Subforms can be used in various scenarios. Some of them are outlined below:

Sales Sector: A subform to associate contact details to accounts

If you have many contacts that you are working with in a specific company, create a subform to jot down the details of the contacts.

Education Sector: A subform to associate academic details to a student

A Student application form may require the applicant to fill a complete section on Academic Details and Previous employment details, if any. This may contain details about the employer, job title, description and so on. While the primary form is still all about the student, the subform is a table with details about previous companies and associated information.

Insurance Sector: A subform to associate dependent details to an applicant

A life insurance form may ask an applicant to fill dependent details - this section would be a form in itself with details required such as Dependent Name, Age, Sex and other identity related information. While the primary form is still about the insurance policy holder, the subform is a table with details about his/her dependents.

Real Estate Sector: A subform to associate References details in a rental application form

A house rental or lease form could contain a section on Floor Plans. These could require details such as apartments, description, area etc. While the primary form is still about a property, the sub form could be about details about the houses under this property.

Retail Sector: A subform to associate products in invoices and orders

A manufacturing company can customize the invoice and orders to include fields like sale price, product recommended retail price, buying price, formula field to calculate profit or discounts, etc. in the product line item in the Inventory modules. 

Building a subform

A subform is created using the layout editor. You will insert the required types of fields as "Columns" in a subform and add aggregate fields if required. The following sections break down the process of creating a subform in Zoho CRM.

To create a subform

  1. Go to Setup > Customization > Modules and Fields.
  2. From the list of modules, click the required module and layout. Example: Products module, Standard layout.
  3. In the layout editor, drag and drop the Subform block from the New Fields section on the left.
  4. Name the subform: Example: Sub Products. 
    Note that subforms are layout-specific. You can have entirely different subforms for Layout A and Layout B of the same module.

Inserting columns in a subform

In the subform, you must next insert the columns required. These columns are nothing but the different types of fields such as single line, number, currency, formula, pick-list field, file upload field, lookup, user field, and so on.

Association of fields from a lookup module

When you add a lookup field to a subform, you can also include fields of the lookup module. For example, when you add Vendors as the lookup module, you will be able to add fields from this module - "Vendor Email" and the like. As you fill line items in this subform, you will see that the Vendor Email field is automatically populated as you look up a vendor. You can edit this field in the subform any time.

Similarly, you can have a user field Product Engineer for the different tent models available. Along with it, you can have other related fields like Email, Country, etc. from the users module listed, and add them further as columns in the subform. Updating the Product Engineer field will automatically update the following fields.

Note that while you can associate fields from the lookup module to a subform, they are not in sync with the subform. That is, when you change a Vendor Email field, it is modified in the subform but not in the original Vendor module. This is because, you only make an association here, but not synchronization.

  1. Fields of lookup module will not be populated upon lead conversion, Quote conversion, updating through API, Data Migration, Import, etc.
  2. User Lookup field is not supported for inventory modules.
  3. Allow Record Accessibility (Associated users will get access to the records) is not supported on subform user fields.

To insert columns in a subform

  1. In your subform, click Add Field. 
  2. From the Field Type drop-down list, click the required type of field.
  3. Name the field and set field properties.
    In case you insert a lookup field, you can add specific fields from the related lookup module.

Following are the type of fields you can include in a subform as the form's "Columns".

Single Line
Pick List
Multi-Select Pick List
Long Integer
File Upload

Here is a sample subform for a company that sells mobile phones. While a phone is their primary order, there could be sub products that include accessories. This subform includes columns such as the following:

  • Name of the accessory
  • Vendor (Lookup field)
  • Vendor Email (Field from Lookup module)
  • Rate
  • Quantity
  • Price
  • Discount
  • Amount.

Inserting an aggregate field

An aggregate field is one on which a mathematical function has been performed. Once you have included the columns, you can add an aggregate field if needed. Aggregate fields are of three types and they have been explained below. Consider the example of a mobile sale, where the mobile accessories are entered as line items in a subform called "Sub-Products". This table includes quantity, price, description, discount and so on. In this case, following could be the examples of the aggregate functions.

  • Predefined aggregate functions: 
    Predefined aggregate functions include SUM, AVERAGE, MAXIMUM and MINIMUM.
    For instance, you want to add up the Price column of all the line items. This can be performed by adding an aggregate field called Total Amount and applying SUM as the Aggregate Function on the Price column.
    When line items are entered in the Subproducts subform, the prices will be added up automatically.
  • Formula Functions: 
    For any other function apart from the predefined aggregate functions, you can define your own Formula Expression using the Formula Tab. For example, your Total Amount field is not a Sum of the total prices but Sum of Total Prices - Discount + Tax. This expression can be defined in the Formula Section appropriately.
    When line items are entered in the Subproducts subform, the entered function will be executed automatically.
  • Manual entries (New Fields): 
    In cases where you don't want the system to make these aggregate calculations, you can add a New Field. This new field can be a Currency Field, Number or Decimal Field. For example, you want to have an aggregate field called Adjustments, where entries are made on an ad-hoc basis manually. In this case, you can choose New Field, choose the type of field- say currency and add it as an aggregate field.

To add an aggregate field

  1. Click the Add Aggregate Field in the subform.
  2. In the  Aggregate Field popup, choose from the following options:
    • Aggregate: A predefined set of Aggregate Functions of SumAverageMaximum and Minimum. Simply choose the Function type and the related field. CRM will automatically calculate the aggregate values based on the settings made here.
      Example: An Aggregate Function to display the SUM of Deal Amounts will add up all the Deal Amounts entered in the subform and display the Total Deal Amount. 
    • Formula: If the predefined functions are not suitable, you can define your your Aggregate Function using the formula section.

    • New Fields: If you do not want the system to perform the aggregate function, you can insert a new field as the aggregate field, such as Number, Currency or Decimal fields. In this case, you can enter the aggregate values manually.
      Example: You don't want the system to calculate the aggregate values. You enter a value for Adjustments manually.
  1. The limits for the aggregate fields are included in the field limits of the parent module.

Manage Preferences

Once you have entered all the columns and aggregate fields, it's time to set the permissions and properties for the subform and fields in the subform.

Updating subform properties

Based on your business requirements, the properties of an individual subform can be updated. Click on the gear icon  on the subform and choose among the following options.

Mark as required: When you want the subform to carry any data before you save the record, you can mark the subform as required.

For instance, you can mandate your bank tellers to fill in the KYC details to open a bank account.

  1. If there is a mandatory field inside a mandatory subform, then that field cannot be empty.
  2. If a subform is not marked as required, you can save the record with or without values in it.
  3. If you have not marked a subform as required, but there are fields within the form that are marked mandatory, you can still save the record without any values filled in them.

  4. If you have a non-mandatory subform, mandatory fields will be applied only when the users provide any value to the subform.
Edit Properties: Update your preferences by editing the subform's properties. You can do the following actions:
  1. Update the name of the subform.
  2. Update Tooltip to describe and guide the users as they fill in the form.
  3. Mark or unmark the subform as required.
  4. Limit the maximum row entries allowed in the subform.
  5. Allow or restrict the option to re-order the row entries.
Unused Fields: It lists all the fields that are removed from a subform and moved to the list of unused fields. You can click on them to add to this subform or delete it permanently from the unused fields. 
Subform Fields Left: This option lists the number fields you have consumed and number of fields you can still avail, for each field type.

Remove Subform: If you no longer require a subform inside the record, you can remove and the same will be stored in the unused items of the layout editor.

If you would like to permanently delete it, you can do so by hovering over the subform and click the trash icon ,  under the unused items section in the layout editor.

  1. You cannot delete a subform, if the form and the fields are marked as required.

Setting field permissions in a subform

Each column (field) in a subform can be granted access rights just like any other field in the layout. Simply click the More icon on the field and choose among the following options.
  • Mark as required: Mark this field as mandatory so that a record cannot be saved without a value for this field.
  • Set Permissions: For each profile with access to this field, you can set the permissions of Read and WriteRead Only or Don't Show.
    For instance, Deal Amount should be a Read Only Field for Sales Reps but can be a Read and Write field for Managers.
  • Edit Properties: Edit the settings of each field based on the field type. Example, Number of characters for String fields, Maximum digits allowed for Number fields and so on.
    You can also include Tool Tips to explain what is required for each field.
  • Remove Field: When you don't require a field, you can either delete it permanently or just remove it from this subform.
    When you only remove it from the subform, these are moved to the  Unused Fields list of the form. To restore a removed field, go to the  Subform Settings and select  Unused Fields. From the list of fields, simply click the field once to restore it to the subform.


Edit subform properties

To edit the properties of a subform

  1. Click the Settings icon on the Subform section.
  2. Select  Edit Properties from the drop-down list. You may edit the following settings.

    • Subform Name: Enter a name for the section.
    • Select Show Tooltip if required and enter the tip.
    • Select Maximum row entries allowed if you wish to limit the number of entries or rows in a subform. Enter the required number. The range allowed is 1-100 entries.
    • Select Re-order option for row entries if you want to allow your user to rearrange the order of the rows entered in a subform.
  3. Click Done.
    For those organizations who have set up mandatory fields in their subforms until now, the subform will also be marked mandatory by default and this property will be synchronized with mobile and API after 15 days from the date of release. Click here for release information.

Check subforms field limits

To check the field limits in a subform

  1. Click the Settings icon on the Subform section.
  2. Select Subform fields left from the drop-down list.
  3. This will open a window with a complete set of details on field limits for each type of field in a subform and how many you have left to be used.

Deleting a subform

To delete a subform

  1. Click the Settings icon on the Subform section.
  2. Select Remove.
    The subform will be moved to the Unused Items section of the layout.
    You can restore it anytime from here or delete it permanently from CRM.

Add Subforms in Mail Merge Templates

You can add subfomrs that were created in a module, in mail merge template and send it to your customers.
For example, information such as details of accessories purchased, life insurance dependency details, history of educational details, etc. which are captured using subforms can be added to your mail merge template.

Create reports and dashboards based on subforms

While creating a report for a module, you can base it out of subforms present in the module. For example, when you create report for Products, where you have Sub-products as a subform, this Sub-products subform will be listed under Related Modules section.

If you want to pull up a report of each product and the Sum Total of its sub-products, you can easily get this information by creating a subforms-based report.

To create a report based on subforms

  1. Go to the Reports module.
  2. Click Create Report.
  3. Select the primary module. Example, Products.
  4. In the Related Modules section, select the required subform. Example, Sub-Products. 
  5. Click Continue.
  6. Choose the type of report. Example: Summary Report.
  7. Click Continue.
  8. In the Reports Representation section, choose the columns required from the Available Columns section and add them to the Selected Columns. Example, Amount, Discount, Quantity, Rate etc.
  9. Click Continue.
  10. Add any filters if required. Otherwise, RUN the report.
    You can also create dashboards from the reports thus created.

Points to remember

  • A subform is available in the Enterprise Edition and above.
  • 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 10.
    • The maximum number of entries across all subforms on an aggregate is 200.
  • The number of aggregate fields you can create falls within the field limits of the parent module.
  • Subforms are layout-specific. You can have entirely different subforms for Layout A and Layout B of the same module. This includes the subform fields as well as the aggregate fields.
  • Subforms are not available for Tasks, Calls, Meetings (Activities)Pricebooks.
  • Fields used in subforms will show up in reports when subforms are selected as secondary modules.
  • The fields used in subforms will not show up in the following places.
    • Custom view columns.
    • Advanced filters
    • Layout rules
    • Blueprint validation
    • Webforms
    • Import 
    • Global Search
    • Template merge fields
    • Validation rules
    • Workflow field update and criteria

      However, a subform's aggregate fields will be available in the above-mentioned places.

    Zoho CRM Training Programs

    Learn how to use the best tools for sales force automation and better customer engagement from Zoho's implementation specialists.

    Zoho CRM Training
      Redefine the way you work
      with Zoho Workplace

        Zoho DataPrep Personalized Demo

        If you'd like a personalized walk-through of our data preparation tool, please request a demo and we'll be happy to show you how to get the best out of Zoho DataPrep.

        Zoho CRM Training

          Create, share, and deliver

          beautiful slides from anywhere.

          Get Started Now

            Zoho Sign now offers specialized one-on-one training for both administrators and developers.

            BOOK A SESSION

                        Still can't find what you're looking for?

                        Write to us:



                          New to Zoho Social?

                              Zoho Marketing Automation

                                Zoho Sheet Resources


                                    Zoho Forms Resources

                                      Secure your business
                                      communication with Zoho Mail

                                      Mail on the move with
                                      Zoho Mail mobile application

                                        Stay on top of your schedule
                                        at all times

                                        Carry your calendar with you
                                        Anytime, anywhere

                                              Zoho Sign Resources

                                                Sign, Paperless!

                                                Sign and send business documents on the go!

                                                Get Started Now

                                                    Zoho SalesIQ Resources

                                                        Zoho TeamInbox Resources

                                                                Zoho DataPrep Resources

                                                                  Zoho DataPrep Demo

                                                                  Get a personalized demo or POC

                                                                  REGISTER NOW

                                                                    Design. Discuss. Deliver.

                                                                    Create visually engaging stories with Zoho Show.

                                                                    Get Started Now

                                                                                            • Related Articles

                                                                                            • Subforms

                                                                                              Add subforms to the modules to include additional information Help guide Building a Subform
                                                                                            • Create and Manage Groups

                                                                                              In Zoho CRM, you can create different types of groups (set of users) to manage a set of common records. Groups can be used for setting up team selling, team support, event management by a group of marketing users, etc. Users associated with a ...
                                                                                            • Customizing Modules

                                                                                              Modules in Zoho CRM, let you categorize and track various aspects of your business such as Sales, Marketing, Customers, Products, Meetings and the like. Modules in Zoho CRM are represented in the form of tabs such as Leads, Contacts, Deals, Tasks ...
                                                                                            • Using Territories

                                                                                              Understanding Territory Management Using Territory Management, you can segment accounts, contacts and deals into territories. You can build a territory hierarchy by creating territories and sub territories. You can define criteria for each of these ...
                                                                                            • Using Custom Buttons

                                                                                              Customization is the most powerful way to build a flexible CRM system. In Zoho CRM, you can customize modules, fields, pages, links, and a lot of other elements. In addition to these elements, Zoho CRM now allows you to create new button actions with ...
                                                                                            Wherever you are is as good as
                                                                                            your workplace



                                                                                              Watch comprehensive videos on features and other important topics that will help you master Zoho CRM.


                                                                                              Download free eBooks and access a range of topics to get deeper insight on successfully using Zoho CRM.


                                                                                              Sign up for our webinars and learn the Zoho CRM basics, from customization to sales force automation and more.

                                                                                              CRM Tips

                                                                                              Make the most of Zoho CRM with these useful tips.

                                                                                                Zoho Show Resources