Opens in a new tab

Smart variables

Variables fill the next job so you stop copy-pasting names.

[Variables-panel] Open Variables. Built-in keys come from the company, the client, the document, and pricing. Add custom keys for anything that repeats.

There are three {{…}} systems. Do not mix them.

SystemWhereWhat it is
VarsDocument body, titles, footersFill from company / client / settings / custom fields
Write-insSame document textUnderlines, gaps, rows, checkboxes: not a Var name
Email merge fieldsSettings → Email templatesSend-time fields such as {{view_url}}

Clients never see brackets when a required Var has a value.

Syntax

{{client_name}}
{{client_name,require:off}}
{{client_name,optional:true}}
{{client_name,raw:true}}
  • Keys: start with a letter, then letters, digits, underscore. No spaces, hyphens, or dots.
  • Default is required. Empty required Vars block share and PDF.
  • require:off or optional:true → prints blank and does not block send.
  • raw:true (alias literal:true) prints the token as text. Use this in guides and templates when you want the reader to see {{client_name}}.

[Insert-variable-menu] Insert variable: search by key, label, or group. Insert as optional adds require:off. Write-in presets ignore that switch.

Built-in keys you will use

Company: company_name, company_website, company_email, company_phone, company_address Use {{company_email}} on contact lines that clients see. Do not use {{sender_email}} there.

Client: client_name, client_company, client_email, client_phone

Document: proposal_title, proposal_date, expiration_date, project_nameproposal_date is created-at, not “today” at print time. expiration_date is empty when validity is 0.

Pricing: project_total, currency, subtotal, discount_label, discount_amount, tax_label, tax_rate, tax_amount, total_with_tax

Sender: sender_name, sender_email, sender_title  sender_title comes from Account → Title / position.

Money rules (easy to get wrong)

  • project_total is the pre-tax sum of pricing line items. Never type the printed grand total into that field.
  • Discount applies before tax.
  • There is no {{currency_symbol}}. Use {{currency}} (PHP, USD, …).
  • Acknowledgements: money received is {{amount_received}} (from the convert dialog), not a rewrite of project_total.

Custom Vars

Types: TEXT, CURRENCY, DATE. Keys 1–50 characters. Values encrypted at rest (max 2000 characters).

A custom client_name with a value overrides the attached client. An empty custom does not.

Nested tokens expand up to depth 6. A title can be Proposal {{service_1}}.

Share readiness

The builder lists missing required Vars. Fill them or mark them optional. Cover blocks that show client details still need client_name and client_email before Share when a client is expected.