Skip to main content

Document Templates

Required Permission
Add/Edit Templates - You must have the Add/Edit Templates permission to access this setting.

Create templates for generating project documents with automatic variable replacement.

Overview

Document Templates allow you to create standardized documents (Word, Excel, PDF) that can be generated for any project. When you generate a document from a template, variables are automatically replaced with project-specific information like contact names, addresses, financial data, and more.

Accessing This Setting

  1. Go to Settings > Projects > Document Templates

Supported File Formats

FormatUploadVariable ReplacementPrint to PDF
.docx (Word)
.doc (Word Legacy)
.xlsx (Excel)
.xls (Excel Legacy)
.pdf
Best Practice

Use .docx format for most templates. It supports variable replacement and can be converted to PDF when printing.

Creating Templates

Step 1: Create a Document in Word or Excel

Create your document in Microsoft Word (.docx) or Excel (.xlsx). Insert variables where you want dynamic content to appear.

Variable Format:

  • Word documents: Use ${variable_name} syntax
  • Excel documents: Use ${variable_name} syntax

Example text in a Word document:

Dear ${full_contact_name},

Thank you for choosing us for your ${project_type} project at ${house_address_1}, ${house_city}.

Your salesperson ${salesperson_full_name} will be in touch soon.

Project ID: ${project_id}
Contract Amount: $${contract_amount}

Step 2: Upload to ReadyBuild

  1. Go to Settings > Projects > Document Templates
  2. Click Add Template
  3. Enter a Template Name for internal reference
  4. Select a Category to organize templates
  5. Click Upload and select your document file

Available Variables

Date Variables

VariableDescriptionExample Output
${short_date}Current date (short format)1/15/2025
${long_date}Current date (long format)January 15, 2025

Contact Information

VariableDescription
${full_contact_name}Contact display name: shows company name for commercial contacts, or "John and Jane Smith" for residential (combines spouse if present)
${main_first_name}Primary contact's first name
${main_last_name}Primary contact's last name
${spouse_full_name}Spouse/partner's full name
${spouse_first_name}Spouse/partner's first name
${spouse_last_name}Spouse/partner's last name
${email}Primary contact's email
${email_spouse}Spouse/partner's email
${contact_note}Notes from contact record

Phone Numbers

VariableDescription
${primary_home_phone}Primary contact's home phone
${primary_cell_phone}Primary contact's cell phone
${primary_work_phone}Primary contact's work phone
${secondary_home_phone}Secondary contact's home phone
${secondary_cell_phone}Secondary contact's cell phone
${secondary_work_phone}Secondary contact's work phone

Project Address (Job Site)

VariableDescription
${house_address_1}Job site street address
${house_city}Job site city
${house_state}Job site state
${house_zip}Job site ZIP code
${house_year}Year house was built
${house_county}Job site county
${house_municipality}Job site municipality

Contact Address (Billing/Mailing)

VariableDescription
${contact_address_1}Contact's mailing address
${contact_city}Contact's city
${contact_state}Contact's state
${contact_zip}Contact's ZIP code
${contact_full_address}Complete formatted address

Project Information

VariableDescription
${project_id}Project ID number
${project_title}Project title
${project_type}Project type name(s)
${project_note}Intake/project notes
${description}Project description
${division}Division/opportunity type
${source}Lead source
${work_scope}Combined work scope from estimate (formatted)

Financial Information

VariableDescription
${sold_amount}Project sold amount
${contract_amount}Contract amount (same as sold_amount)
${total_sold_amount}Total sold amount (including change orders)
${total_est_cost}Total estimated cost
${cost}Actual cost
${final_estimated_margin_dollars}Estimated margin in dollars
${final_estimated_margin_percent}Estimated margin percentage
${final_actual_margin_dollars}Actual margin in dollars
${final_actual_margin_percent}Actual margin percentage
${cost_variance_dollars}Cost variance in dollars
${margin_variance_dollars}Margin variance in dollars
${margin_variance_percent}Margin variance percentage

Contract Information

VariableDescription
${contract_date}Date contract was signed

Staff Assignments

Salesperson

VariableDescription
${salesperson_first}Salesperson's first name
${salesperson_last}Salesperson's last name
${salesperson_full_name}Salesperson's full name

Inside Sales

VariableDescription
${inside_sales_person_first}Inside sales first name
${inside_sales_person_last}Inside sales last name

Estimator

VariableDescription
${estimator_first_name}Estimator's first name
${estimator_last_name}Estimator's last name
${estimator_full_name}Estimator's full name

Project Manager

VariableDescription
${pm_first_name}Project manager's first name
${pm_last_name}Project manager's last name
${pm_full_name}Project manager's full name

Designer

VariableDescription
${designer_first_name}Designer's first name
${designer_last_name}Designer's last name
${designer_full_name}Designer's full name

Drafter

VariableDescription
${drafter_first_name}Drafter's first name
${drafter_last_name}Drafter's last name
${drafter_full_name}Drafter's full name

Intake/Created By

VariableDescription
${intake_date}Date project was created
${intake_first_name}Creator's first name
${intake_last_name}Creator's last name
${intake_full_name}Creator's full name

First Appointment Information

VariableDescription
${first_appt_date}First appointment date (short format)
${first_appt_date_long}First appointment date (long format)
${first_appt_time}First appointment time
${first_appt_assigned_first_name}Assigned person's first name
${first_appt_assigned_last_name}Assigned person's last name

Current User (Person Generating Document)

VariableDescription
${current_user_first}Current user's first name
${current_user_last}Current user's last name

Custom Fields

Any custom fields defined for Contacts or Projects are automatically available as variables. Use the field's Field Name (not display name) as the variable.

For example, if you have a custom field with field name permit_number, use:

${permit_number}
note

Custom fields must have a Field Name defined. Check Settings > Form Fields to see available field names.

Using Document Templates

Generating Documents from a Project

  1. Open a project
  2. Go to the Documents tab
  3. Click Generate from Template
  4. Select a template
  5. Choose to Download or Print (converts to PDF)

Template Tips

  1. Test your templates - Generate a document to verify all variables are replaced correctly
  2. Use consistent formatting - Variables inherit surrounding text formatting in Word
  3. Handle missing data - If data is missing, the variable will be replaced with an empty string
  4. Work scope formatting - The ${work_scope} variable includes HTML formatting and works best in Word documents

Common Templates

  • Project Proposal Cover Letter
  • Scope of Work Document
  • Pre-Construction Checklist
  • Material Selection Sheet
  • Project Completion Certificate
  • Warranty Information
  • Site Access Agreement
  • Subcontractor Information Sheet

Troubleshooting

Variables Not Replacing

  1. Check the format - Ensure you're using ${variable_name} with curly braces
  2. Check the file type - Only .docx, .xlsx, and .xls support variable replacement
  3. Check spelling - Variable names are case-sensitive and must match exactly
  4. Check for hidden formatting - In Word, variables may have hidden formatting. Try retyping the variable

Variable Shows Empty

This usually means the data doesn't exist for that project:

  • Contact or spouse information may not be filled in
  • Staff assignments may not be set
  • Custom field may be empty