Overview
In Template Manager, you can build a contract document template from scratch using the built-in editor. Drag and drop components onto the canvas, define how they look, and add calculated fields and conditional logic to build contracts that automatically adapt their content based on job data at generation time.
Who uses this feature
Administrators
Applies to all business types
Applies to all trades
Feature configuration
Account configuration is required to use this feature. Please contact Technical Support for details.
You must have Contracts enabled to use this feature as these templates are only available for contracts.
Things to know
When a template is saved and published, you can rename it but you cannot change the template type.
Pre-designed templates can't be edited. Duplicate a pre-designed template and edit the copy instead.
Contract templates created in the editor are only available for contract documents.
For templates built from an uploaded PDF, see Import your PDF contracts into Template Manager.
Create a contract template
Step 1: Set up the template type
Go to the top toolbar and click Settings
.In the side panel, click Operations > Document Templates.
Click Create Template > New Template. The Create template dialog opens.
In the Template name field, enter a unique, brief, and descriptive name.
Note: The template name is used to reference the template in downstream flows such as contracts. You can rename it later if needed.
For Template type, select Contract from the dropdown.
When finished, click Confirm.

Step 2: Set up the template details
In the Template Details section, define how the document will look when printed:
PDF Header: Select a header template to display on all pages of generated documents.
PDF Footer: Select a footer template to display on all pages of generated documents.
Paper size: Select the paper size for the document.
Page margin: Set the margins in millimeters (mm).
Orientation: Select Portrait or Landscape.

When finished, click the design canvas area to enter the template editor.
Step 3: Add components to your template
The template editor has a canvas area on the left and a side panel on the right. Use the side panel to add and configure components.
To add a component:
In the side panel, click Content. A list of available components opens.
Drag and drop a component from the panel onto a content block on the canvas (indicated by a blue box).

To customize a placed component:
Click the component on the canvas. Its settings open in the right-side Content panel.
Configure the component's display options, labels, and appearance as needed.
Use the icons at the top of the Content panel to Duplicate or Delete the component.
To apply conditional logic to this component, click + Add Display Condition in the Display Condition section. For more, see Apply conditional logic.

Step 4: Save your template
When finished designing the template, use the options in the top-right corner:
Save and Preview: Download a PDF version of the template to see how it looks when printed.
Save Draft: Save your progress so you can return and continue editing later.
Save and Publish: Save the template and make it immediately available for use.

Add calculated fields
Calculated fields automatically compute a value based on a formula you define, using ServiceTitan data points as inputs. Use them to auto-calculate totals, percentages, or other derived values directly in the document.
In the side panel, click Content.
Drag the Calculated Field component onto a content block on the canvas.

Click the placed component to open its settings in the right-side Content panel.
Under Formula, click Configure formula. The Formula Builder opens.

In the Formula Builder, build your formula:
Under Data points, click any field to add it to the formula input.
Use the operator buttons (+, -, *, /, (, )) to construct the formula.
Under Result type, select the output format: Number, Currency, Percent, or Date.

(Optional) Click Show advanced settings to access the following options:
Rounding mode: Choose Round, Floor, or Ceil. Decimal places: Use the slider to set the number of decimal places displayed.
Thousands separator: Enable this to display a thousands separator (,) in the result.
Result affixes: Add a Prefix or Postfix to the displayed value, for example, a currency symbol or unit label.

When your formula is complete, click Save Formula.
Note: The Preview area in the Formula Builder uses demo sample data to show how the formula evaluates.
(Optional) Click + Add Display Condition to apply conditional logic to this field. For more, see Apply conditional logic.
When finished, click Save.
Apply conditional logic
Conditional logic lets you control whether a component appears in the generated document based on one or more data conditions. Use it to show or hide sections based on job type, business unit, contract value, or other ServiceTitan data points—so one template can handle multiple variations automatically.
Select a component on the canvas to open its settings in the right-side Content panel.
Under Display Condition, click + Add Display Condition. The Conditions dialog opens.

Select All to require all conditions to be met, or Any to trigger when at least one condition is met.
Select whether the component should Show or Hide when the conditions are true.

Under Data Type, select Data point.
Configure the condition row:
Data Point: Select the ServiceTitan data point to evaluate, for example, JobInformation - Job Business Unit.
Condition: Select the comparison operator, for example, Is equal to.
Value: Enter the value to compare against.
(Optional) To add more conditions, click + Add Condition.
When finished, click Save Changes.
Note: Each condition must have a data point and a value before you can save. Numeric fields must contain a valid number.
Important: Not all data fields are available for use in conditional logic and calculated fields. The fields that can be used are predefined by the platform. If you do not see a field that you would like to use, please contact your Customer Success Manager (CSM) to submit a request for evaluation and potential inclusion in a future update.
