Loading tutorials…
Loading tutorials…
Modules are the foundation of every Zoho report, workflow, and Blueprint. Get them right and your data layer is clean for years. Get them wrong — wrong field types, custom modules where a custom field would do, layouts that show every field to every user — and you spend weekends untangling. Here is the discipline.
Who this is forOps leads and founders configuring Zoho modules for the first time, or anyone inheriting an org where the Deals module has 87 custom fields and reps cannot find Amount. If 'I added a field for X but cannot find it on the layout' is a recurring question, this tutorial is for you.
What you'll need
Step 1
Zoho ships with Leads, Contacts, Accounts, Deals, Activities, Products, Quotes, Invoices, Sales Orders, Vendors. 80% of B2B needs are covered without custom modules.
Open Setup → Customization → Modules and Fields → Module Manager. This is the master list of every module in your org.
Standard modules: Leads (unqualified prospects), Contacts (qualified individuals), Accounts (organizations), Deals (sales opportunities), Tasks/Calls/Meetings (activities), Products, Quotes, Sales Orders, Invoices, Vendors, Purchase Orders.
Leads vs Contacts: a Lead is unqualified, a Contact is qualified. The "Convert Lead" action moves a Lead to Contact + Account + optionally Deal. If you skip Leads entirely (some B2B teams do) and start at Contacts, document that decision — it changes how marketing automation hands off.
Most B2B SaaS needs: Leads, Contacts, Accounts, Deals, Activities. Quotes / Sales Orders / Invoices are useful if you bill through Zoho Books or Zoho Invoice; ignore them if you bill through Stripe or NetSuite.
Rule: only create a custom module when the 'thing' you want to model is genuinely a new object type (Subscriptions, Inventory Units, Properties, Vehicles, Projects). Do not create a custom module to add fields you could just add to a standard module.
Step 2
Zoho ships ~50 default fields per module. Most of what you need already exists — search before creating.
Setup → Customization → Modules and Fields → click any module (e.g., Deals) → Fields. You see every field on the module, default and custom.
For each "I need a field for X" idea, search the existing list. Commonly re-created unnecessarily: Lead Source, Lead Status, Industry, Annual Revenue, Number of Employees, Closing Date, Deal Stage, Probability.
When you must create custom: drag a field type from the right-side panel onto the layout. Field type is mostly permanent in practice (some conversions are blocked outright; others lose data).
Pick the right field type carefully: Single Line (short text), Multi Line (long text), Email, Phone, Pick List (single-select dropdown), Multi-select Pick List, Number, Decimal, Currency, Percent, Date, Date/Time, Checkbox, URL, Lookup (reference to another module), User (assigns a user), Formula (calculated), Auto Number.
Common rookie errors: using Single Line for what should be a Pick List ("Status" as free text = unanalyzable mess), using Number for what should be Currency (no currency conversion, no decimal handling), using Pick List for what should be Lookup (cannot relate to another module).
Step 3
Setup → Customization → Modules and Fields → click module → Layouts. A single global layout means SDRs see fields meant for finance and vice versa. Layouts per profile keep the UI clean.
Open Setup → Customization → Modules and Fields → e.g., Deals → Layouts → Create Layout.
Common layout split: "Sales Layout" (visible to Sales Rep + Sales Manager profiles), "Finance Layout" (visible to Finance + Admin), "Lite Layout" (visible to view-only stakeholders).
On Sales Layout: show Amount, Closing Date, Stage, Probability, Pipeline, Account Name, Primary Contact, Next Step, Lost Reason. Hide Internal Notes, Finance fields, integration sync fields.
On Finance Layout: show Amount, Closing Date, Invoice Status, Billing Contact, Tax Treatment. Hide Pain Points, Next Step.
Assign layouts to profiles: Layout → Assign → pick profiles. Each user sees the layout assigned to their profile.
For a single-pipeline org with under 10 users, one layout is fine. Past 10 users or multiple distinct workflows (new business vs renewal vs channel), layouts per profile pay for themselves immediately.
Step 4
Setup → Customization → Modules and Fields → click module → Field Permissions. Different profiles see/edit different fields on the same record.
Open Setup → Customization → Modules and Fields → e.g., Deals → click any field → Field Permissions.
For each field, set per-profile access: Read/Write, Read Only, Hidden.
Common pattern: "Internal Notes" field is Read/Write for Sales Manager and Admin, Read Only for Sales Rep, Hidden for everyone else. "Lost Reason" is Read/Write for Sales Rep but Required only when Deal Stage = Closed Lost (validation rule).
Required fields by stage: on the Layout editor, click a field → Mark as Required. Required means cannot save the record without a value. Use sparingly — required-field sprawl is the single biggest cause of "reps refuse to update Zoho."
Per-stage required-field rules live in Blueprint (covered in the Blueprint tutorial), not in field properties.
Step 5
Custom fields scattered randomly = unfindable mess. Group them into named sections that match team workflows.
On the Layout editor, drag a Section divider onto the layout. Name it descriptively: "Qualification," "Champion & Decision Maker," "Compensation & Pricing," "Internal Notes," "Integration Sync."
Drag related custom fields into the matching section. Within a section, top-to-bottom order should match the rep workflow (Lead Source → Lead Status → Pain Point → Budget Range → Decision Maker).
For sections that are not always relevant (e.g., "Renewal Details" only matters for renewal-stage deals), set the section to "Collapsed by default" — reps see only the section header until they expand.
Write the field name as the rep would say it ("Decision Maker Name") not as the database stores it ("DM_NAME_FIELD_3"). Future-you in 18 months will not remember why "lead_score_v3" exists. Add a field description on every custom field.
Document the section/field design in a shared doc that lives outside Zoho. New hires and specialists need this map.
Step 6
Setup → Customization → Modules and Fields → Validation Rules. Force certain field combinations or block bad data at the field level.
Open Setup → Customization → Modules and Fields → click module → Validation Rules (Enterprise+).
Example 1: 'When Deal Stage = Proposal Sent, Amount must be greater than 0.' Prevents reps from advancing deals without entering a dollar value.
Example 2: 'When Lead Status = Disqualified, Disqualification Reason must not be empty.' Forces reps to log why they killed a lead — turns into a useful quarterly review report.
Example 3: 'When Industry = Healthcare, Compliance Notes must not be empty.' Captures regulated-industry context at lead-creation time.
Keep validation rules tight: 2-5 per module max. Past 10 validation rules, reps hit blockers constantly and start working around them (entering junk values that pass validation but break analytics).
On Standard / Professional, use field-level "Required" + Workflow rules to approximate validation. Full Validation Rule engine is Enterprise+ only.
Step 7
Custom field sprawl is the silent killer of Zoho usability. Quarterly audit, archive unused fields.
Open Setup → Customization → Modules and Fields → e.g., Deals → Fields. Sort by Field Type or Created Date.
For each custom field, ask: is it on any active layout? Is it filtered on in any report? Is it referenced in any workflow / Blueprint / function?
If the answer is no to all three: the field is dead weight. Mark it for archive. Setup → Modules and Fields → Click field → Delete (with confirmation). Zoho keeps the underlying data for 60 days in case you change your mind.
A healthy active Deals module has 25-45 fields total (default + custom). A healthy Leads module has 20-35. Anything past 60 fields per module is a sign of sprawl and a target for cleanup.
Document every active custom field in a field dictionary (Google Sheet or Notion). For each: field name, type, purpose, who uses it, where it appears. This is the artifact that survives staff turnover.
Common mistakes
Creating custom modules when a custom field would do
What goes wrong: Owner creates a 'Partnerships' custom module to track partner relationships. Six months later, partnership data is duplicated across Contacts (where the partner contact lives) and the custom module (where the partnership record lives). Reports cannot join them cleanly. Pipeline visibility breaks.
How to avoid: Custom modules are for genuinely new object types (Subscriptions, Properties, Vehicles, Inventory). For "tracking partnerships," add a Pick List field "Relationship Type" with values including Partner to Accounts. Use custom modules sparingly.
Using the wrong field type and discovering it after data exists
What goes wrong: Owner creates 'Industry' as Single Line text. 200 records later, 'Healthcare,' 'healthcare,' 'Health Care,' 'HealthCare,' and 'health-care' all exist. Reports cannot group cleanly. Workflow rules cannot trigger reliably. Migration to Pick List requires data cleanup.
How to avoid: Pick List for any field with a finite set of values. Single Line only for genuinely free-form strings (Title, Description). Decimal/Currency for money. Number for counts. Multi-select Pick List for tags. Lookup for cross-module references. Choose deliberately, not by default.
Single global layout shown to every profile
What goes wrong: SDRs see Finance fields they should not edit. Finance team sees Pain Point and Champion fields they cannot interpret. Sales managers see all the fields and have to scroll past 60 of them to find Deal Stage. UI becomes overwhelming and reps update fewer fields, not more.
How to avoid: Layouts per profile (Setup → Modules → Layouts → Create Layout → Assign). Sales Layout for reps, Finance Layout for finance, Lite Layout for view-only stakeholders. Same data, focused UI per role.
Required-field sprawl that makes reps refuse to save
What goes wrong: Owner marks 14 fields as Required. Reps cannot save a new Lead without filling all 14 — they do not have that data yet. Reps stop creating Leads in Zoho and revert to Excel. CRM adoption craters.
How to avoid: 2-3 required fields at creation max (Name, Email, Source). Use Blueprint or Validation Rules to enforce additional required fields at later stages (e.g., Champion required at Demo Completed, not at Lead creation).
No field descriptions or naming conventions
What goes wrong: Custom fields named 'CF_1,' 'NewField,' 'TestField,' 'Lead_Score_v3.' Three years later nobody knows what 'Lead_Score_v3' calculates. Reports filter on it. Workflows depend on it. Cannot safely delete it. Permanent technical debt.
How to avoid: Naming convention: human-readable, no abbreviations, no version suffixes. "Lead Score (Marketing)" not "ls_mkt_v3." Add a description to every custom field explaining what it stores and who populates it.
Never running a field audit
What goes wrong: Three years in, the Deals module has 92 custom fields. Reps cannot find Amount. New hires take 4x longer to learn the layout. Reports are slow because every record loads 92 fields. Performance degrades silently.
How to avoid: Quarterly: pull the field list for each module, archive fields unused in 90 days (not on any layout, not in any report, not in any workflow). Target 25-45 fields per active module.
Recap
Done — what's next
How to set up Zoho CRM from scratch without painting yourself into a corner
Read the next tutorial
Hand it off
Module and field design is the foundation under every Zoho workflow, Blueprint, and report. Get it right once and the platform scales for years. Get it wrong and every new feature inherits the mess. EverestX Zoho specialists have built 30+ field architectures — typically $300-600 for the initial design at $14-16/hr.
See specialist rates
Limits vary by edition: Free allows 5 custom fields per module. Standard allows 100. Professional allows 150. Enterprise allows 230. Ultimate allows 300+. Practically, most healthy modules have 25-45 active fields. Hitting the cap usually means field sprawl, not a need to upgrade.
Limited conversions are allowed (e.g., Single Line → Multi Line, Pick List → Multi-select Pick List, Number → Decimal). Most changes are blocked outright, and the ones that are allowed often lose data (e.g., Pick List → Single Line preserves values, Single Line → Pick List does not). Pick the right type from the start.
Pick List = a dropdown with fixed values you define ('Industry' = Healthcare/SaaS/Fintech/Manufacturing). Lookup = a reference to a record in another module ('Primary Contact' on a Deal points to a Contact record). Use Pick List for static categories, Lookup for relationships.
You cannot directly — fields belong to a single module. Patterns: (1) Add the same field type to each module independently and keep them in sync via workflow rules. (2) Use a Lookup field to reference a single source-of-truth record (e.g., put 'Industry' only on Account, and on Deal use a Lookup to Account → display Industry via formula). Pattern 2 is cleaner long-term.
Yes. From any list view: select records → Mass Update → pick field, pick new value. Or use Mass Update via API. Or export to CSV, modify, re-import with the same record ID. For 10,000+ records, the API or import-by-ID is faster than the UI bulk action.
Zoho CRM
Zoho CRM is one of the most feature-dense platforms on the market — which is exactly why most owners get it wrong on day one. Profiles and roles look similar but solve different problems, and the wrong combination leaks pipeline visibility across teams within weeks. Here is the setup sequence that holds up.
Zoho CRM
A Zoho pipeline is the single most-referenced view in the CRM. Set up wrong, the forecast number is fiction and reps stop trusting it. Set up right, the CRO walks into Monday with a real number. Here is the discipline that holds up.
Zoho CRM
Blueprint is Zoho's killer feature — a state-machine automation engine that enforces 'you cannot move this deal forward without filling X' at every stage. Set up right, it transforms data quality. Set up wrong, it becomes a reason reps hate Zoho. Here is the discipline.
Zoho CRM
DIY Zoho is a great idea — until it isn't. Zoho rewards specialization more than almost any other CRM because the platform is so feature-dense. This is the honest framework for when the cost of self-managing exceeds the cost of hiring help.