Preview Image

What is SuiteCRM? SuiteCRM is an open-source Customer Relationship Management platform built on top of SugarCRM Community Edition. It provides a 360-degree view of your customers and business operations, bringing

What is SuiteCRM?


SuiteCRM is an open-source Customer Relationship Management platform built on top of SugarCRM Community Edition. It provides a 360-degree view of your customers and business operations, bringing together sales, marketing, and support workflows in one system.


On Day 1, you get comfortable with the SuiteCRM interface and SuiteCRM basics — understanding how data is structured, how to navigate the UI, and how the platform handles information across its core modules.


Core Modules


SuiteCRM organizes all business data into Modules. Each module represents a category of records — like tables in a database, but with a full UI built around them.


  • Accounts: organizations or companies you do business with. The anchor record that links to Contacts, Opportunities, Cases, and more.

  • Contacts: Individual people, typically linked to an Account. Holds phone numbers, emails, titles, and interaction history.

  • Leads: Prospective customers not yet qualified. Can be converted into Contacts, Accounts, and Opportunities.

  • Opportunities: Active sales deals with a monetary value, close date, and pipeline stage (e.g., Prospecting → Closed Won).

  • Cases: Support tickets submitted by customers, used by the support team to track resolution.

  • Calls: Meetings, Tasks, Notes. Activity modules that log every customer interaction and keep historical context.

  • Campaigns: Email and marketing campaigns, complete with target lists, templates, and ROI tracking.

  • Documents: Centralized file storage attached to any record in the system.

All 22 Field Types in SuiteCRM


Every module is made up of Fields — the individual data points stored on a record. SuiteCRM supports 22 field types. Custom fields added through Studio are stored in the _cstm table and use the _c suffix.


# Field Type DB Type Key Notes 
Address 5× VARCHAR Composite field: Street, City, State, Postal Code, Country — 5 DB columns. 
Checkbox TINYINT(1) Boolean true/false toggle. 0 = false, 1 = true in the database. 
Currency DECIMAL(26,6) Monetary values. Uses system currency settings. 
Date DATE Date only (no time). Formatted per user locale. 
DateTime DATETIME Date + time. Always stored as UTC; displayed per user timezone. 
Decimal DECIMAL(26,6) High-precision numbers for measurements or scientific values. 
DropDown VARCHAR(100) Single-select from a named dropdown list (e.g., account_type_dom). 
DynamicDropdown VARCHAR(100) Dropdown whose options depend on the value of a parent dropdown field. 
Flex Relate VARCHAR(36) + type Polymorphic relate; can link to any module. Stores module name alongside ID. 
10 Float DOUBLE Decimal numbers where precision is less critical. 
11 HTML TEXT Read-only HTML block rendered inside the record view. Not stored as data. 
12 IFrame VARCHAR(255) Renders an external URL inside an iframe within the record layout. 
13 Image VARCHAR(36) Image file (JPEG/PNG/GIF). UUID stored; file saved in upload/ directory. 
14 Integer INT Whole numbers. No decimal places. 
15 MultiSelect TEXT Multiple options stored as caret-delimited string (^value1^^value2^). 
16 Phone VARCHAR(100) Phone number string. No built-in validation — treated as text. 
17 Radio VARCHAR(100) Single-select rendered as radio buttons instead of a dropdown. 
18 Relate VARCHAR(36) + name UI link to another module. Stores both UUID and display name. 
19 TextArea TEXT Multi-line input. No character limit enforced at DB level. Used for notes/descriptions. 
20 URL VARCHAR(255) Web address. Renders as a clickable link in DetailView. 
21 TextField VARCHAR(255) Single-line input for names, codes, short labels. Default max 255 chars. 
22 WYSIWYG TEXT (HTML) Rich-text editor (TinyMCE). Stores full HTML markup; rendered in DetailView. 

Views in SuiteCRM


SuiteCRM renders each record through four distinct Views. Understanding which view you're in matters when customizing layouts in Studio.


ViewDescription 
ListView Searchable grid of all records in a module. Configurable columns. Supports inline editing. 
DetailView Read-only single-record page. Shows all visible fields in a 2-column layout by default. 
EditView Form used to create or edit a record. Shares layout panel with DetailView in Studio. 
SearchView Basic and Advanced search forms above ListViews. Customized separately from other views. 

  DO: Always use Studio for client-facing layout changes. 
DON'T: Edit core module files in the modules/ directory — your changes will be overwritten on upgrade. Use the custom/ extension folder instead.


 SuiteCRM Relationships


Relationships define how records in different modules connect to each other. SuiteCRM supports three relationship types:


Type How It Works Example Table
One-to-One (1:1) Rare. Usually a 1:M with a UI constraint. — 
One-to-Many (1:M) Single parent → many children. Foreign key on child table (e.g., account_id on contacts). accounts → contacts 
Many-to-Many (M:M) Any record in A ↔ any record in B. Stored in a join/relationship table. accounts_contacts 

Read More: What Is CRM Hosting? Types, Comparison & How to Choose the Right Solution


Example: Relationship Definition in Vardefs



Do's and Don'ts of SuiteCRM


  • DO — Prefix all custom fields and modules with a company or project identifier (e.g., ow_) to avoid naming collisions. 
  • DO — Place all custom code inside custom/Extension/ or custom/modules/ — never in core directories. 
  • DO — Run Quick Repair & Rebuild (Admin → Repair) after any metadata change to regenerate caches. 
  • DON'T — Delete fields that have existing data — mark them hidden in layouts instead, then migrate data before removal. 
  • DON'T — Create relationships through direct SQL inserts — always use the SuiteCRM relationship API or Studio. 
  • DON'T — Share admin credentials. Use role-based access (Security Suite) for granular permissions. 

Conclusion


The blog offers a deep understanding of the basics of SuiteCRM. It also offers the foundation for becoming an efficient CRM developer and administrator. With this blog, you can learn how modules, fields, layouts, and relationships work together. With this, the developers can also build a scalable and maintainable CRM solution.


The blog covers the core structure of SuiteCRM, which includes 22 field types, record views, relationship architecture, and best practices of customization. With these fundamentals, the developers can explore the advanced SuiteCRM development topics, like Logic Hooks, APIs, SQL queries, and automation workflows.

Respond to this article with emojis
You haven't rated this post yet.