SugarCRM SupportHelp ArticlesDoc MergeFiltering with Conditionals in Doc Merge

Filtering with Conditionals in Doc Merge


In addition to the ability to use Sugar Logic formulas in documents templates, you can use condition-based logic by manually constructing IF/ELSE IF statements. If you are familiar with the wDocs tool, these statements are constructed through "Conditionals" in the Template Builder. This article describes how to manually construct these statements in a Doc Merge document template and provides example templates you can modify and use to meet your needs.

Constructing Statements

Condition-based logic returns a field in document templates when the identified condition is true. Construct statements using the syntax shown in the following example:

{#module} {if fieldname1=="value1"} {fieldname2} {elseif fieldname1=="value2"} {fieldname3} {else} {endif} {/module}


The following rules apply to conditional statements:

  • When using multiple conditional statements, each statement must be on a separate line in the document template.
  • String variables must be embedded in quotation marks, as shown in the above example.


The following operators are allowed in conditional statements:

Operator Description
= attribution
== equal
!= not equal
< less than
<= less than or equal to
> greater than
>= greater than or equal



The following examples demonstrate conditional statements. Please also refer to the Sample Document Templates page for document template examples you can download.

Opportunities based on description

The following statement will populate the merged document with the opportunity name and amount if the Sales Stage field is "prospecting" or if the Sales Stage field is "negotiation/review":

{#opportunities} {if sales_stage=="prospecting"} {name} {amount} {elseif sales_stage=="negotiation/review"} {name} {amount} {else} {endif} {/opportunities}

Opportunities in progress

The following statement will populate the merged document with the opportunity name, amount, and date closed when the status is "In Progress":

{#opportunities} {if status=='In_Progress'} {name} {amount} {date_closed} {endif} {/opportunities}

Accounts in a specific industry

The following statement will populate the merged document with text strings based on the industry type:

{#accounts} {if industry=='Apparel'} "This account is in the Apparel industry" {elseif industry=='Banking'} "This account is in the Banking industry" {else} "The industry for this account is unknown " {endif} {/accounts}

Suppressing blank rows in a table

Using the following segment will eliminate blank rows if the field has no value, which is especially useful when working with tables:

{if billing_address_street_2}{billing_address_street_2}{endif}

Last modified: 2021-12-18 18:51:57