[Note - this feature is only available in Enterprise subscription]
Estimate Variables (Excel-style) – What they are and how to use them
Estimate Variables let you define reusable numeric values (such as areas, lengths, and heights) and reference them in Excel-style formulas to automatically calculate item quantities in the Estimate Builder.
- Where: Click the Variables button at the top of the Costing page to manage variables for the current estimate.
- What: Variables are name/value pairs (with an optional description) that can be reused across item formulas.
- Default Formulas: Inventory items can have default formulas that are automatically pre-filled when added to an estimate.
Variable naming rules
- Must start with a letter or underscore
- Can contain letters, numbers, and underscores only
- Recommended: use lowercase, descriptive names (for example
floor_area,wall_height) -
Reserved variable:
contract_pricecannot be created or overridden and always represents the estimate total (subtotal + tax)
Add, edit, and sort variables
- Add / Edit: In the Variables modal, click Add Variable or the edit icon to change the name, numeric value, or description.
- Reorder: Drag variables using the three-bar handle on the left. Order is saved automatically.
- Templates (Universal): Create shared variable templates in the right-hand panel and reuse them via Use.
-
Reserved Variables:
contract_priceis always available and cannot be modified.
Using formulas on line items (Excel-like)
- Click the Variables (code) icon on a line item.
- Enter a formula starting with
=and wrapped in parentheses. - Click Calculate to apply it.
Example:
=(floor_area*slab_height)
When a formula is saved, the Variables button turns blue to indicate it is active.
Formula syntax
-
Must start with:
= -
Wrap expressions:
=( ... ) - Operators: + − * /
- Parentheses: Supported
- Whitespace: Ignored (format freely for readability)
=( kitchen_area + bathroom_area ) * wall_height
Examples:
- Slab area:
=(floor_length*floor_width) - Two walls:
=(wall_length*wall_height*2) - Combined spaces:
=(kitchen_area+bathroom_area)*wall_height
Advanced Formula Features
IF statements
Use Excel-style conditional logic:
-
Syntax:
IF(condition, value_if_true, value_if_false) - Operators: >, <, >=, <=, ==, !=
Examples:
=IF(area>100, area*2, area) =IF(height>=3, height*1.5, height) =IF(contract_price>10000, 0.05*contract_price, 100)
Prompt variables
Prompt variables ask the user for input when calculating formulas or saving notes.
-
Syntax:
[variable_name] - Formulas: Must be numeric
- Notes: Can be text or numeric
Examples:
=([wall_height]*area) =([multiplier]*quantity) =([width]*[height])
In notes:
Benchtop colour: [colour]
Contract price variable (reserved)
-
Variable:
contract_price - Returns subtotal + tax (if enabled)
- Automatically updates as the estimate changes
Examples:
=(0.05*contract_price) =(0.15*contract_price) =IF(contract_price>10000, 0.05*contract_price, 100)
Notes:
- Cannot be created or overridden
- Returns zero if the estimate total is zero
Default formulas on inventory items
- Go to Estimates → Manage Inventory
- Edit or create an inventory item
- Enter a formula in Default Formula (below Notes)
=(area*height)
- The formula is pre-filled when added to an estimate
- The user must still click Calculate
- Default Hide Notes can also be applied
When exploding a recipe, default formulas are shown and automatically applied.
Prompt variables in notes
- Use
[variable_name]inside notes - User is prompted when saving
- Prompt value replaces the placeholder
Tips and best practices
- Keep units consistent (all meters, all m², etc.)
- Quantities round to 3 decimal places
- Blue Variables button means a formula is active
- Avoid deeply nested IF statements
- Use descriptive prompt names
-
contract_pricealways reflects the current estimate total
Troubleshooting
- Variable Not Found: Check spelling and underscores exactly
-
Invalid Formula: Must start with
=and use parentheses - IF errors: Must contain exactly two commas
-
Prompt not working: Must use
[name]syntax - Contract price is zero: Estimate has no subtotal yet
- Cannot create contract_price: This is intentional (reserved variable)
Quick workflow
- Add variables:
floor_area = 120.5,slab_height = 0.1 - Add formula:
=(floor_area*slab_height) - Click Calculate
- Quantity updates and Variables button turns blue
That's it. You now have Excel-style formulas, conditional logic, user prompts, and contract-based calculations directly inside your Estimate Builder.
Comments
0 comments
Article is closed for comments.