Links

Word Document (DOCX) & PowerPoint (PPTX)

This section helps you to generate dynamic Word documents and PowerPoint.

Getting Started

You can use Word Documents or PowerPoint ( .docx, .pptx is the supported format ) as your document template, you can build your document in Ms Word, Google Docs or Zoho Writer and then upload it to Docupilot as a .docx or .pptx file. If you are already using a word document for your business, replace the information that will change like client company name, client name to {{client.name}}, {{client.company}}.
Word (.docx) template overview

Uploading DOCX

Updating DOCX

If you want to make changes to your Word document make changes in MS Word, Google Docs, Zoho Writer etc , and upload it to Docupilot as a .docx file.
You cannot modify your Word Document template inside Docupilot.

Types of Merge Fields

Docupilot supports a variety of merge fields for you to use.
  • Tokens (Merge Field)
  • Condition (if/else)
  • Loops
  • Tables

Tokens (Merge Field)

These are simple fields embraced in {{}}. When you provide your custom data, Docupilot will replace these fields with the data. For example {{email}}, {{clientname}}, {{company_name}}.
If you want to group your fields you can use dot(.) while defining the tokens. For example your client has first name & last name, you can write the tokens as {{client.first_name}}, {{client.last_name}}.

Condition (if/else)

You can use condition to show or hide contents based on your data. Example If you are creating an invoice you want display PAID if the payment status field is paid, else you want to show UNPAID.
{{#if payment_status "==" "paid"}}
PAID
{{else if payment_status "==" "partial"}}
PARTIAL PAID
{{else}}
UNPAID, Insert Payment Instruction{{/if}}
You can use condition in three ways
  • if Statement.
  • if-else Statement.
  • if - else if - else Statement
Below are few examples :
Example
Description
{{#if payment_status}}
{{/if}}
if payment_status is not empty or blank.
{{#if payment_status "==" "paid"}}
{{/if}}
if payment_status equal to paid (case-sensitive).
{{#if payment_status "!=" "paid"}}
{{/if}}
if payment_status not equal to paid (case-sensitive).
{{#if price ">" 1000}}
{{/if}}
If price greater than 1000
{{#if price ">=" 1000}}
{{/if}}
If price greater than and equal to 1000
{{#if price "<" 1000}}
{{/if}}
If price lesser than 1000
{{#if price "<=" 1000}}
{{/if}}
If price lesser than 1000
{{#if payment_status "contains" "paid"}} {{/if}}
If payment status contains paid
{{#if payment_status "not_contains" "paid"}} {{/if}}
If payment status does not contains paid
{{#if status "in" "open, on-hold"}}
{{/if}}
This is similar to logical operator OR.
If status is open or on-hold.
{{#if status "not_in" "open, on-hold"}}
{{/if}}
This is similar to inverse logical operator OR.
If status is not open or on-hold.
{{#if status "==" "open"}}{{#if priority "==" "high"}}
{{/if}}{{/if}}
This is similar to logical operator AND.
If status is open AND priority is high

Hiding Empty Sections & Lines

You can use IF to hide sections/lines that do not have a value.Hide section example
Name: {{name}}
{{#if address}}Address: {{address}}{{/if}}
In the above example when the Address is empty, the Address section will be removed.Hide empty lines example
{{name}}{{#if address}}
{{address}}{{/if}}
{{city}}{{country}}
In the above example when the Address is empty, the Address empty line will be removed to achieve better document formatting.

Lists (Loops)

Lists are used when you want to print a list of items in your document.
  • Simple List
  • Advanced List
  • Bulleted List
  • Numbered List

Simple List

{{#each items}}
{{this}}
{{/each}}
Output
Apple
Orange
Strawberry

Advanced List

You can use an advanced loop if you want to print list of items like line items. Think of this as a subform with multiple rows in your main form.
{{#each line_items}}
{{name}} ${{price}}
{{/each}}
Output
Iphone6 $799
Iphone7 $899
Iphone8 $999

Bulleted List

Bulleted List

Nested Bullets:

Bulleted lists can be nested so as to have a multi layered information.
For example, below syntax demonstrates nested list up to 2 levels.
Nested Bullet List 1
Note : The second level will be printed only when products has at least one entry.
Similarly, for a nested list up to 3 levels.
Nested Bullet List 2
Note : In the above example second and third levels will be printed only when items and sub_categories have at least one entry.
Note : The above syntax can be extended for multiple levels based on requirement.

Numbered List

Numbered List

Tables

Tables are similar to Complex list, but the data will be rendered in a table. Example if you want to generate a invoice, you may want display a table with all the line items.
Tables Syntax

Hiding Empty Tables

You can use IF condition to hide empty tables, you should wrap the entire table inside a IF condition.
{{#if line_items}}
{{!...INSERT THE ABOVE TABLE IN THIS LINE...}}
{{/if}}

Filtering rows in a Table based on empty column value

If the value for name is empty in any row, it will be skipped in the output table.

Filtering rows in a Table based on a column value

If the value for name is Iphone in any row, it will be skipped in the output table.

Inserting a dynamic image

This will be helpful if you want to insert dynamic image in the document.
Format - {{insert_image image1 width="width" height="height"}}
Example - {{insert_image image1 width="300" height="300"}}
If you want to automatically adjust the height to keep proportions, you can use:
Example - {{insert_image image1 width="300"}}
Similarly to automatically adjust the width to keep proportions, you can use:
Example - {{insert_image image1 height="300"}}
The image URL need to be publicly accessible so we can download and insert it in the document.

Inserting a dynamic QR Code

This will be helpful if you want to insert dynamic QR code from your data in the document.
Format - {{insert_qr url size="qr_size" margin="qr_margin" color="qr_color"}}
Example - {{insert_qr url size="100" margin="1"}}
Qr with size 100 and margin 1 with value https://docupilot.app
Example - {{insert_qr url size="100"}}
Qr with size 100 and default margin 4 with value https://docupilot.app/
Example: {{insert_qr url margin="7"}}
Qr with margin 7
Example: {{insert_qr url color="0000FF"}}
QR with color blue & value https://docupilot.app/
The color of the QR should be given in hex coding only.

Inserting Google Maps

This will be helpful if you want to insert Google Maps from your data in the document.‌
Format - {{insert_map Location width="map_width" height="map_height" map_type="maptype" zoom="map_zoom"}}
The supported map types are as follows. The default map type is the roadmap.‌
  1. 1.
    roadmap
  2. 2.
    satellite
  3. 3.
    hybrid
  4. 4.
    terrain
Example - {{insert_map Location width="500" height="500" map_type="roadmap"}}
Location Value is Manchester
Example: {{insert_map Location map_type="roadmap" zoom= "20"}}
Location value is Manchester, with map type as road map and a Zoom set to 20
Example: {{insert_map Location height="300" zoom= "5"}}
Location value is Manchester with height as 300 px and zoom set to 5

Comments

You can add comments in the document template to help your future editors. The comments will be removed in the output document.
Comments Syntax : {{!Your comments here}}