Docs
Workflows

Formula Columns

Learn how to calculate totals, differences, or flags using formula columns in your workpapers.

Calculate totals, differences, and flags using formula columns that run automatically in your workpapers.

Formulas run after prompts for the same document group. Ensure the columns you reference already have data before starting a run.

Overview

Formula columns calculate values using data already captured in your workpaper.

Spreadsheet-like

Use familiar functions like SUM, IF, ROUND with @ mentions for column references.

Automatic calculation

Formulas refresh whenever you run the workflow—no manual recalculation needed.

Chain formulas

Reference other formula columns to build complex calculations step by step.

Flag exceptions

Use IF statements to automatically identify variances or missing values.

Create formula columns

Plan the calculation

  1. Decide what to measure (variance, totals, counts, checks)
  2. Identify which columns feed the calculation
  3. Click Add formula in the Custom columns panel

Start simple with one calculation, then build complexity through multiple linked formulas.

Reference columns

Use @ mentions to insert values:

  • @[Invoice Total] - Matched value from documents
  • @[AI Extracted Amount] - Result from AI prompt
  • @[Previous Formula] - Output from another formula

Keep dependencies simple. Two or three linked formulas are easier to review than long chains.

Write the expression

Common formula patterns

Calculate variance:

= @[Invoice Total] - @[Payment Amount]

Simple check:

= IF(@[Status] = "Approved", "OK", "Review Required")

Sum multiple columns:

= SUM(@[Line Item 1], @[Line Item 2], @[Line Item 3])

Round to 2 decimals:

= ROUND(@[Amount] * 1.13, 2)

Always start with = and use commas to separate function arguments.

Complex calculations

Nested IF statements:

= IF(@[Variance] > 1000, "Material",
     IF(@[Variance] > 100, "Review", "Immaterial"))

Multiple conditions:

= IF(AND(@[Approved] = "Yes", @[Amount] < 10000), "OK", "Exception")

Text concatenation:

= CONCAT(@[Vendor Name], " - ", @[Invoice Number])

Percentage calculation:

= ROUND((@[Actual] / @[Budget] - 1) * 100, 1)

Build complex formulas incrementally—test simple versions first, then add complexity.

Name the column

Use descriptive names:

  • "Variance" (not "Calc1")
  • "Approval Status" (not "Check")
  • "Percentage of Budget" (not "Pct")

Clear names help reviewers understand what each formula calculates without reading the expression.

Validate formulas

Check for errors

The editor highlights issues immediately:

  • Missing parentheses
  • Unknown function names
  • Invalid syntax

Errors must be cleared before the formula will run. Resolve them right away.

Debug complex formulas

If unsure which part failed:

  1. Simplify the expression
  2. Test the simplified version
  3. Reintroduce complexity step by step
  4. Identify exactly where it breaks

Run and review

Test individually

  1. Click the play icon beside the formula
  2. Results appear in the grid
  3. Review values for accuracy
  4. Adjust formula if needed and rerun

Testing individual formulas is faster during development and debugging.

Run complete workflow

  1. Click Run all automations from the workflow toolbar
  2. Executes matching → AI prompts → formulas in sequence
  3. All values populate automatically

Use this after clients upload evidence to process everything in one operation.

Supported functions

Mathematical functions

FunctionDescriptionExample
SUM(a, b, c)Add values=SUM(@[A], @[B], @[C])
AVERAGE(a, b)Calculate mean=AVERAGE(@[Q1], @[Q2])
MIN(a, b)Find minimum=MIN(@[Budget], @[Actual])
MAX(a, b)Find maximum=MAX(@[Score1], @[Score2])
ROUND(num, decimals)Round number=ROUND(@[Value], 2)
ABS(num)Absolute value=ABS(@[Variance])

Logical functions

FunctionDescriptionExample
IF(condition, true, false)Conditional=IF(@[Status]="OK", "Pass", "Fail")
AND(a, b)All true=AND(@[A]=1, @[B]=2)
OR(a, b)Any true=OR(@[Status]="Complete", @[Status]="Done")
NOT(condition)Negate=NOT(@[Approved]="Yes")

Text functions

FunctionDescriptionExample
CONCAT(a, b)Join text=CONCAT(@[First], " ", @[Last])
UPPER(text)Uppercase=UPPER(@[Code])
LOWER(text)Lowercase=LOWER(@[Email])
TRIM(text)Remove spaces=TRIM(@[Name])

Other functions

FunctionDescriptionExample
ISBLANK(value)Check if empty=IF(ISBLANK(@[Amount]), "Missing", "OK")
LEN(text)Text length=LEN(@[Description])
TODAY()Current date=TODAY()

Best practices

Use descriptive names

Name formulas and columns clearly so reviewers understand the logic.

Document complex logic

Add descriptions to formulas explaining what they calculate and why.

Keep formulas simple

Break complex calculations into multiple steps rather than one giant formula.

Test incrementally

Verify simple versions work before adding nested functions and conditions.

Reference dynamically

Use @ mentions instead of hard-coded values to make formulas reusable.

Round appropriately

Use ROUND for currency and percentages to avoid floating-point display issues.

How is this guide?

On this page