The formula system
Build dynamic line item calculations using formulas and variables — so quantities and costs update automatically when project dimensions change.
Formulas replace static numbers with expressions that calculate automatically. Instead of manually computing cubic yards from area and depth, enter the formula once and let Gradeworks do the math. When the area changes, every formula that references it updates instantly — no manual recalculation, no missed items.
Variables
Variables are named values that formulas reference. Define them at the bid level — area, depth, haul distance, number of passes, mobilization days — and use them across multiple line items. Change a variable once and every formula using it recalculates.
- Open a bid and navigate to the Variables tab
- Click Add Variable
- Enter a name (e.g., 'area'), unit (e.g., 'SF'), and value (e.g., '12000')
- The variable is now available in any formula on this bid
Writing formulas
In any quantity or unit cost field, type an equals sign to enter formula mode. Formulas support standard math operators (+, -, *, /), parentheses for grouping, and variable names. Type the first few letters of a variable name and the autocomplete suggests matches.
- area * depth / 27 — converts square feet and depth in feet to cubic yards
- area * 0.055 — calculates tons of asphalt at 110 lbs per square foot per inch (for 1-inch depth)
- max(quantity * rate, 500) — applies a minimum charge of $500
- hours * 2 — round-trip when 'hours' is one-way drive time
- area * depth / 27 * 1.3 — cubic yards with 30% compaction factor
Formula evaluation
Formulas evaluate in real time as you type. The calculated value appears next to the formula so you can verify the result immediately. If a formula references a variable that doesn't exist, Gradeworks highlights the error and shows which variable is missing. Division by zero shows a warning instead of an error.
Formulas in templates
When you save a bid as a template, formulas are preserved with their variable references. Applying the template to a new bid creates the variables and formulas — you just fill in the variable values for the new job. This is the most powerful way to reuse bid structures across similar jobs.
Was this helpful?