TL;DR
- Prepare reusable contract templates for bookings.
- Use HTML for flexible contracts with inline signer fields, a source editor, and live browser preview, or PDF for exact uploaded layouts.
- Use the supported variable catalog to merge real booking, pricing, customer, company, vehicle, and organization values.
- Use repeat sections like
{{#pricing.line_items}} ... {{/pricing.line_items}}in HTML contracts for pricing rows. - Use richer contract variables like
{{vehicle.niv}},{{customer.legal_full_name}},{{company.tax_id}}, and{{booking.additional_driver_count}}when you need legal or operational detail. - Use core tax and branding variables like
{{customer.tax_id}},{{customer.tax_legal_name}},{{company.tax_id}},{{organization.legal_name}},{{organization.tax_id}}, and{{organization.logo_url}}when the contract needs RFC, billing, or logo data without depending on Portal. - Use
{{#booking.additional_drivers}} ... {{/booking.additional_drivers}}in HTML, Markdown, or text templates when the contract must list every extra driver. - Use lightweight conditionals like
{{#if booking.has_company}} ... {{/if}}and{{#unless booking.has_company}} ... {{/unless}}in HTML, Markdown, or text templates when one contract must adapt between company and individual renters. - Set the template as active so it appears when you generate documents.
Steps
Open Commercial β Templates
Go to Commercial β Templates to review existing documents or create a new one.
Create a template
Create a new template, give it a name, choose the type, and pick one of the two primary modes:
- HTML for flexible, signer-aware contracts built in Resvo. - PDF for exact uploaded legal forms with positioned fields.
Existing Markdown and plain-text templates remain available as legacy formats, but new authoring now centers on HTML and PDF.
Add your content
Add your standard terms and insert variables from the editor panel instead of typing raw placeholders manually.
For HTML templates: - Edit the source in the HTML editor, use the starter snippets for common blocks, and keep Browser Preview visible while you work. - Use scalar variables like {{booking.code}} or {{customer.name}}. - Use core legal and tax values like {{customer.tax_id}}, {{customer.tax_legal_name}}, {{company.tax_id}}, {{organization.legal_name}}, {{organization.tax_id}}, {{organization.tax_person_type}}, {{organization.tax_country_code}}, {{organization.tax_legal_structure}}, and {{organization.logo_url}} when the agreement needs RFC, billing, or business-profile branding details. - Use repeat sections like {{#pricing.line_items}} ... {{/pricing.line_items}} when you need one row per pricing item. - Use repeat sections like {{#booking.additional_drivers}}- {{name}} | {{license_number}} | {{date_of_birth}}{{/booking.additional_drivers}} when your contract needs every attached driver. - Use lightweight branching like {{#if booking.has_company}} ... {{/if}} and {{#unless booking.is_company_rental}} ... {{/unless}} for renter-type clauses. - Insert inline signer fields such as a required customer name field and a required customer signature field directly from the toolbar. - Required signer fields stay visible in preview diagnostics until the signer provides them, and the captured signature image is rendered directly in the final HTML and generated PDF. - Use Generated PDF as the export fidelity check, because it now renders the resolved HTML through the PDF pipeline instead of a text fallback.
For PDF templates: - Bind only scalar variables to mapped fields. - Use summary-style scalar fields like {{booking.additional_driver_names}} or {{booking.additional_driver_summary}} instead of repeat sections. - Use manual fields for values staff or the signer must complete later.
Legacy Markdown and plain-text templates can still be edited, and you can convert them to HTML when you are ready.
Review the preview to make sure the contract reads the way you expect before saving or sending.
Save and manage availability
Save your changes, review any unsupported-token warnings, then set the template as active or default if you want it used automatically.
Validate your work
- The template appears in the list with the correct format and status.
- When you generate a document, the template is available to select.
- Deactivated templates are no longer offered for new bookings.