This video shows you how to create professional project documents like contracts, NDAs, or data processing agreements using document templates in Leadtime. While estimates and specifications are generated automatically from the project tree, document templates are the third document type – freely written and equipped with intelligent features.
Every service provider knows the classic problem: you copy an old contract, manually replace company names and project titles – and forget to update one spot or leave in a clause that doesn't apply. Document templates solve this through placeholders that are automatically filled with the correct data when used in a project. All master data like company name, address, project name, and contact person comes directly from the data you already maintain in Leadtime.
You manage templates under Administration → Document Templates. In the editor, you create document text with headings, lists, and tables, and insert variables through a dropdown or the hash symbol. The most important groups: Company (your business data), Organization (customer data), Project (project information), Recipient (contact person details), and Macros (helper variables like date or salutation).
Custom Variables and Conditions are particularly powerful. You define your own variables – such as contract duration or advance payment option – which appear as form fields when used. Conditions allow text blocks to appear only when specific criteria are met: an advance payment clause only shows when the variable is set to "Yes." This means you need only a single template for different scenarios. The automatic heading numbering – including section sign numbering for contracts – adapts dynamically, even when conditions show or hide sections.
In the project, you use the template through the Documents tab as a "Free Document," fill in the custom variables, and export the automatically populated contract as DOCX. Together with Estimate and Specification, you now have three professional document types at your disposal.
Estimates and specifications are generated automatically from the project tree. But some documents are not built from structured data. Contracts, NDAs, data processing agreements. In this video, I will show you how to create professional project documents using document templates. With variables, conditions, and automatic data filling. Create once, reuse in every project.
When you create a project contract today, you probably open an old document, copy the text, and manually replace the company name, the project title, the date, the contact person. That works until you forget to update one spot. Or until you leave in a clause that does not apply to this project at all.
Document templates in Leadtime solve exactly this problem. You create a template once, with placeholders for all variable content. When you use it in a project, these placeholders are automatically filled with the correct data. Company name, address, project name, contact person. Everything comes from the data you already maintain in Leadtime.
A quick note on where this fits in. Estimates and specifications are generated automatically from the project tree. Document templates are the third document type. They use the custom editor and are designed for everything you want to write freely. Contracts, supporting documents, agreements.
You manage templates under Administration, then Document Templates. Here you see a table overview of all templates with name, description, language, type, and timestamps for creation and last update.
From here you can edit or delete existing templates, or create a new one.
I click "Create Template". A dialog opens with three areas.
On the left, you define the metadata. Name of the template, an optional description, the language, and the type. Currently, the type "Project Document" is available.
In the middle is the editor. This is where you write the actual document text. You can use headings, lists, tables, and all common formatting options.
The key feature: you can insert variables into the text. On the right side of the dialog, you see a dropdown where you select a variable group. The available variables appear below, and you simply click the one you want. It gets inserted at the cursor position.
Even faster: type the hash symbol directly in the editor, and a context menu opens with all available variables.
The most important variable groups. Company contains your own business data like name, legal form, and address. Organization contains your customer's data. Project provides the project name, category, and version. Recipient contains the contact person's details. And under Macros you find helper variables like today's date or a gender-specific greeting.
For our Bakery Mueller example, I create a template called "Project Contract". In the text I write something like: "Between" followed by the company name variable, "represented by" the current user's first and last name, "and" the organization company name, "represented by" the recipient's first and last name, "the following contract is concluded for the project" followed by the project name variable. When you use this template in a project, all these placeholders are automatically filled with the correct values.
Beyond the system variables, you can define your own custom variables. You do this in the right column under Custom Variables. You enter a name, a data type, and optionally a default value.
For our project contract, I create two custom variables. One called "runtime" for the contract duration, and one called "advancePayment" as a yes or no selection for advance payment.
The benefit: when you later create a document from this template in a project, these custom variables appear as form fields. You fill them in, and the text updates automatically. No searching through the contract, no manual replacing.
Now it gets really powerful: conditions. You can define text blocks that only appear when a specific condition is met.
Example: an advance payment clause should only appear in the contract if the custom variable advancePayment has the value "Yes". You place the cursor at the desired position, select "Condition" from the menu, and define: if advancePayment equals "Yes", then show this text block.
This means you only need a single template for different scenarios. Contract with advance payment, contract without. Contract with hosting clause, contract without. The system shows the matching sections and hides the ones that do not apply. No manual deleting, no risk of leaving a wrong clause in the document.
Available condition types include: is equal to, contains, is greater than, is less than, and is not empty. You can combine multiple conditions with AND or OR.
One detail that is especially important for contracts: automatic heading numbering. Under the menu item "Heading Style" you choose the style.
Four options. Headings without numbering. Sequential numbering from the first level, meaning 1, 1.1, 1.1.1. Sequential numbering from the second level, where the first level stays unnumbered. And paragraph numbering with the section sign starting from level 2. That last one is perfect for contracts and terms of service.
Why does this matter? Because conditions can show and hide sections. If you number headings manually and a conditional section drops out, you suddenly have a gap. Section 3, then section 5. Automatic numbering calculates this correctly, no matter which sections are visible.
Now I use the template in the project. I open the Bakery Mueller project, switch to the Documents tab, and click "Create Document".
I select the project version. Document type: "Free Document". I enter a title: "Project Contract Website Relaunch Bakery Mueller". Status is set to Draft. I select the contact person.
For layout options, I can enable a table of contents and a title page. I choose the heading style again. For this contract, I pick the section sign numbering.
Then I import my template. The custom variables appear as form fields. I enter 12 months for runtime. I set advance payment to Yes.
In the preview, I can see immediately: all system variables are filled in. Company name, customer name, project, contact person, date. Everything is correct. The advance payment clause is visible because I set advance payment to Yes. If I had chosen No, that section would not be in the document.
I save and export as DOCX. Done. A professional project contract, automatically filled, in just a few clicks.
Document templates with variables and conditions. Create once, use in every project. System variables fill in automatically, custom variables are controlled through form fields, and conditions make sure one template works for different scenarios. Together with the estimate and the specification, you now have three professional document types for your projects.
In the next video, I will show you how to move from planning to execution. How to turn work packages into tickets and track your project's progress.