RE+ 2026 · Nov 16–19 · Las Vegas

See what replacing your entire software stack looks like. Booth W15826.

Book a booth demo

Pricing, Proposals & Billing

Custom Fields, Variables, and Reusable Content

Create quote-specific values, calculate custom variables, insert live data into content, and reuse consistent proposal sections across your team.

Choose the right kind of reusable data

Powerlily provides several ways to avoid retyping information. They solve different problems:

  • Built-in variables pull existing customer, quote, system, equipment, financial, project, or company data.
  • Static custom variables store a company-defined value that can be entered separately on each quote.
  • Computed custom variables calculate a value from two numeric variables or numbers.
  • Merge tags insert live record data into automation emails, tasks, notes, and other supported text.
  • Company defaults and proposal presets reuse complete proposal sections and their settings.
  • Custom documents and symbols reuse designed layouts, blocks, and sections.

Choose the smallest reusable building block that fits the job. Use a variable for a changing value and a preset, default, template, or symbol for reusable content and layout.

Built-in variables

Built-in variables are provided by Powerlily and resolve from the current record. Available groups can include:

  • Customer name and contact details
  • Project address and quote identifiers
  • Assigned salesperson details
  • Panel, inverter, battery, and system totals
  • Production, consumption, and storage results
  • Gross cost, net cost, incentives, financing, and savings
  • Roof measurements and material quantities
  • Company name, contact details, and website

The exact variable list depends on the editor and the record context. A quote-specific value cannot resolve when the content is being used for a lead that has no quote.

Variable syntax

Where typed variables are supported, place the key between double braces:

{{ variable_key }}

For example, a custom variable with the key permit_number is inserted as {{ permit_number }}.

Use the variable picker when one is available. It prevents spelling errors and only offers values supported in that editor.

Create a custom variable

  1. Open Quote settings.
  2. Open Custom variables.
  3. Select New variable.
  4. Enter a clear label for the team.
  5. Enter a stable variable key.
  6. Choose Static or Computed.
  7. Add a description and the appropriate value or formula settings.
  8. Save the variable definitions.

Custom variables are company-wide definitions. Static values are then filled independently on each quote.

Name the variable carefully

The label is the human-friendly name shown to your team. The key is the technical identifier used inside saved proposal, document, and email content.

A key should:

  • Start with a letter
  • Use lowercase letters, numbers, and underscores
  • Stay short and descriptive
  • Avoid spaces and punctuation
  • Remain stable after people begin using it

Good keys include permit_number, annual_service_fee, and roofing_allowance.

Use a static custom variable

A static variable stores a value entered on each quote. It can also have an optional company default.

Good uses include:

  • A permit or application number
  • A customer-specific allowance
  • A project classification
  • An internal reference number
  • A local program name
  • A value that Powerlily does not otherwise model

The default provides a starting value. A teammate can override it on an individual quote without changing the company definition.

Enter static values on a quote

  1. Open the quote.
  2. Open the Custom fields area on the quote details page.
  3. Enter or update the static values.
  4. Select Save.

A person with view-only quote access can see the values but cannot change them. Blank quote values fall back to the variable’s default when one exists.

Create a computed variable

A computed variable performs one calculation using two operands. Each operand can be a supported numeric variable, a static custom variable containing a number, or a literal number.

Supported operations are:

  • Addition: +
  • Subtraction: -
  • Multiplication: *
  • Division: /
  • Remainder: %

Choose how the result should display: currency, number, percent, or raw.

Computed variable examples

Deposit amount

Use net_cost * 0.10 and display the result as currency.

Price before a fixed allowance

Use net_cost - roofing_allowance and display the result as currency.

Cost per panel

Use net_cost / number_of_panels and display the result as currency or number.

Division or remainder by zero does not produce a value. If an operand is blank or cannot be interpreted as a number, the computed result may also remain blank.

How numbers are handled

Powerlily performs calculations against raw numeric values rather than the formatted text shown to customers. This allows a computed field to reference values such as net cost or system capacity even when those values later display with currency symbols, separators, or units.

Static custom values intended for calculations should contain an unambiguous number. Avoid mixing explanatory sentences into a numeric field.

Preview computed values

The quote’s Custom fields area previews computed results when all required values are already available. Some variables depend on full proposal calculations, such as long-term financial projections. Those may show as calculated on the proposal and resolve only when the proposal, email, or document is rendered.

Insert variables into proposals and documents

In a supported text editor, use the variable menu or type the variable key between double braces. When the proposal or document is generated, Powerlily replaces the placeholder with the value from that quote.

Test the content using a representative quote. Confirm that the quote has the required system, equipment, consumption, financial, and custom-field data before judging the result.

Use merge tags in automations

Automation content can use merge tags in supported email subjects and bodies, task titles, and notes. Available tags can include customer details, assigned team member details, company information, quote links, proposal links, system information, and quote template values.

Insert tags from the available variable picker where possible. If an unknown tag is typed manually, Powerlily leaves it visible instead of silently deleting it. This makes spelling mistakes easier to find.

Understand record context

A merge tag resolves from the record enrolled in the automation. A lead automation can resolve lead and company information, while quote-specific pricing or proposal variables require a quote.

Before activating an automation, test it using the same kind of record that will trigger it. A tag that works for a quote may be blank for a lead, client, or installed system when that data is not available.

Reuse proposal sections

Changes made to a proposal section save automatically to that proposal. When the section should be used again, select Save for reuse.

Depending on your permissions and available presets, you can save the section to:

  • Company default: Sets the starting content for new proposals.
  • Proposal preset: Updates a selected reusable proposal configuration.

Saving a company default does not rewrite existing proposals or saved presets. It changes the starting content used in the future.

Use proposal presets

A Proposal Preset is a reusable set of proposal styling, content, and section choices. Use presets when the company needs different starting proposals for different markets, products, financing programs, or sales approaches.

Apply the preset that matches the project, then make quote-specific changes. Those changes remain on the proposal unless you deliberately save them back for reuse.

Reuse blocks and sections in Custom Documents

Custom Documents are reusable branded document layouts generated from quote data. In the visual builder, a finished block or section can be saved as a reusable symbol in the company library.

Symbols are useful for:

  • Warranty and guarantee language
  • Company introduction blocks
  • Equipment highlights
  • Financing explanations
  • Signature and acceptance sections
  • Branded footers and contact panels

Use variables inside reusable document content when the wording stays consistent but the customer or project data changes.

Use defaults, presets, and snapshots deliberately

  • Company defaults establish future starting content.
  • Proposal presets provide reusable proposal configurations for specific situations.
  • The current proposal stores the changes made for that quote.
  • Custom document templates remain reusable company resources.
  • Generated proposal documents are quote-specific results based on the selected template and current data.

Updating a reusable source does not necessarily change content that has already been generated or customized.

Avoid accidental template problems

  • Do not rename a variable key casually after it has been inserted into saved content.
  • Use the picker instead of typing when possible.
  • Keep numeric custom values clean if they feed a formula.
  • Do not use a quote-only variable in content intended for lead-only automations.
  • Test defaults and presets on a new proposal, not only an existing customized proposal.
  • Preview customer-facing output before sending it.
  • Document the intended use of custom variables in their descriptions.

Changing or removing a variable

Before changing a key or removing a custom variable, search the company’s proposal content, Custom Documents, email templates, and automations for references to it.

Removing a definition prevents it from being managed and resolved normally, but saved content may still contain its old {{ key }} placeholder. Update those references deliberately.

Troubleshooting

A variable appears as braces instead of a value

Check the spelling of the key, confirm that the variable is supported in that editor, and verify that the current record supplies the required context.

A static value is not changing

Open the quote’s Custom fields area, confirm you can edit the quote, enter the new value, and save it. A company default does not overwrite an already saved quote value.

A computed value is blank

Confirm that both operands exist and contain numbers. Check for division or remainder by zero and confirm that the required proposal calculation has run.

A computed value has the wrong format

Edit the custom variable definition and choose currency, number, percent, or raw. The format changes presentation, not the underlying arithmetic.

An automation tag works for quotes but not leads

The tag probably requires quote context. Replace it with a lead-supported tag or move the automation to a quote-based trigger.

Saving a company default did not update old proposals

This is expected. Company defaults provide starting content for future proposals. Existing proposals and presets keep their own saved content.

A preset does not contain my latest section changes

Changes save automatically to the current proposal only. Use Save for reuse, choose the preset destination, and update the intended preset.

Related guides

  • PDF Templates and the Proposal Builder
  • Creating and Comparing Quote Options
  • Automating Your Workflow: Triggers, Steps, and Conditions
  • Campaigns, Segments, and Branded Email
  • The Client Portal
Pericles
Pericles
Powerlily assistant
Replies instantly. Leave your email anytime and a human follows up.