Custom formulas are calculations that automatically compute quantities for line items based on takeoff measurements. Instead of entering quantities manually, a formula pulls measurement data from your takeoff symbols and derives the exact amount you need -- accounting for waste and rounding.
Where formulas appear
Formulas are configured in the line item editor when a line item is embedded within a takeoff symbol. Open the line item, and you'll see the Formula field where you can type an expression or generate one with AI.
Formula syntax
Formulas use bracket notation to reference variables. Wrap any variable name in square brackets, then combine them with arithmetic operators. For example, [NetAreaSqFt] * 1.1 takes the net area in square feet and adds 10%. You can use +, -, *, /, and parentheses for grouping.
The formula input validates your expression in real time. A green checkmark confirms the formula is valid, while a red icon indicates a syntax error or unrecognized variable.
Measurement variables
The available built-in variables depend on the takeoff type. Toggle between Area, Linear, and Count in the variable picker to see what's available for each.
Count takeoffs provide Count along with derived values like area, perimeter, wall area, trench area, and volume computed from the item's dimensions.
Linear takeoffs provide length variables (NetLinearFt, NetLinearM, etc.), area, wall area, trench area, and volume derived from length combined with width, wall height, or depth.
Area takeoffs offer the broadest set of variables. Net, gross, and cutout variants are available for area, perimeter, wall area, trench area, wall volume, and trench volume. Net values subtract cutouts, gross values include them, and cutout values isolate just the cutout regions.
Each variable comes in multiple unit variants. Clicking a variable card with multiple units opens a dropdown where you pick the unit -- feet, meters, yards, square feet, cubic yards, and so on.
Custom variables
Below the built-in variables, click Add variable to create your own. Each custom variable has a key (used in the formula), a human-readable name, a default value, and an optional unit. For example, you might create a variable with key SpacingFt, name "Joist spacing", default value 1.33, and unit "ft". Reference it in your formula as [SpacingFt]. Users can override the default value per symbol instance.
Generating formulas with AI
Click the sparkle icon next to the formula input to switch to AI mode. Describe what you're calculating in plain language -- for example, "Wall area divided by 32 for sheets of drywall" -- and press Enter. The AI generates the formula expression, and optionally sets waste and rounding values. Suggestion chips like "Area in square feet plus 10% waste" and "Volume in cubic yards for concrete" are available for common scenarios.
To return to manual entry, click the function icon or press Escape.
Waste percentage
The Waste field adds a percentage buffer to the formula result. Enter 10 to add 10% waste. The calculation multiplies the raw formula output by 1 + wastePercent / 100, so a result of 100 sq ft with 10% waste becomes 110 sq ft. This accounts for material cuts, breakage, and overage without modifying the formula itself.
Round-up rules
The Round up to nearest field rounds the final quantity up to the nearest increment you specify. Enter 1 to round up to whole numbers, 12 to round to dozens, or 0.5 for half-unit increments. Rounding is applied after waste, so the pipeline runs in order: formula evaluation, then waste, then rounding.
