Skip to content

Using functions in pricing formulas

Add IF, AND, OR, NOT, ISBLANK, and BLANKVALUE so calculated prices respond to conditions, not just measurements.

This feature requires an Enterprise plan.

Beyond arithmetic, calculated pricing formulas support comparisons and a small set of functions. Use them when the price should change based on quantity, tier, whether a field is set, or other conditions — still multiplied by the list price at the end.

On plans without this feature, the formula editor does not offer the Insert Function menu or function autocomplete, formulas that use functions cannot be saved, and any previously saved function formula stops evaluating — affected line items show a formula error instead of a calculated price until the formula is rewritten without functions or the plan includes the feature again. Arithmetic formulas are unaffected and remain available on every plan with Calculated Pricing.

Kind What you can write
Arithmetic +, -, *, /, parentheses, numeric constants (0.9, 12)
Comparisons =, !=, <>, <, <=, >, >=
Literals Numbers, TRUE, FALSE, and double-quoted text ("Gold")

String comparisons are case-insensitive ("gold" matches "Gold"). Division by zero fails evaluation and leaves the line item without a usable calculated price.

Insert any of these from Insert Function in the formula editor:

Function What it does Example
IF(condition, value_if_true, value_if_false) Returns one value when the condition is true, another when false IF(quantity >= 10, 0.9, 1)
AND(condition1, condition2, …) True when every condition is true (2–5 conditions) AND(quantity >= 10, tier = "Gold")
OR(condition1, condition2, …) True when any condition is true (2–5 conditions) OR(tier = "Gold", tier = "Platinum")
NOT(condition) Negates a condition NOT(ISBLANK(width))
ISBLANK(value) True when the value is empty or unset. 0 and FALSE are not blank IF(ISBLANK(override), list_factor, override)
BLANKVALUE(var, value) Returns var when it has a value; otherwise returns value. 0 and FALSE are not blank BLANKVALUE(override, list_factor)

Function names are case-insensitive while you type; Quotivity stores them in uppercase.

  • Formulas can be up to 2,000 characters.
  • You can nest functions up to 5 levels deep.
  • A formula can include at most 10 IF calls.
  • AND and OR each accept 2 to 5 conditions.

The editor and save validation surface these limits if you go past them.

For formulas saved with the current editor, empty or unset numeric inputs generally behave as 0 in arithmetic. That can silently underprice a line item if a rep leaves a required dimension blank.

Use BLANKVALUE when empty should fall back to another number — for example BLANKVALUE(override, list_factor). Use ISBLANK when you need a true/false test, or pair calculated pricing with a Dynamic Property Set that marks those properties required so Quote Builder blocks submit until they’re filled.

Quantity discount (10% off the multiplier at 10+ units):

IF(quantity >= 10, 0.9, 1)

Company-tier discount, with a default:

IF(tier = "Platinum", 0.85, IF(tier = "Gold", 0.9, 0.95))

Require both quantity and tier:

IF(AND(quantity >= 10, tier = "Gold"), 0.8, 1)

Fall back when a custom override field is empty:

BLANKVALUE(custom_factor, 1)

In each case Quotivity still multiplies the formula result by the list price to produce the unit price.

  • Prefer Insert Function over typing from memory so argument order stays correct.
  • Keep Function hints on while you’re learning the signatures.
  • Nest IF carefully — each nested IF counts toward the limit of 10.
  • Test edge cases in Test Your Formula: zero, empty, and boundary quantities.