> ## Documentation Index
> Fetch the complete documentation index at: https://docs.go.aiinsurance.io/llms.txt
> Use this file to discover all available pages before exploring further.

# JEXL reference

> Macros, custom operators, transforms, and accepted expression locations.

This reference lists the registered JEXL functions and custom grammar. The [JEXL authoring guide](/api-reference/configuration/jexl-authoring) explains how to use them in configuration.

A macro is accepted only at its listed locations. If a macro requires preview, the entire expression uses its stored result while inputs are unchanged, or null after inputs change. It runs on an eligible server save. Expression roots also depend on the location.

## Expression locations

| Location | Side | Configuration keys | Available roots | Result | On null | On error |
| - | - | - | - | - | - | - |
| Calculated field, Live | Server | `fields[].calculatedValue`, `objects[].subFields[].calculatedValue` | `bare`, `me`, `parent`, `root` | `any` | Use null | Reject the entire write |
| Calculated field, Stamped | Server | `fields[].calculatedValue`, `objects[].subFields[].calculatedValue` | `bare`, `me`, `parent`, `root` | `any` | Use null | Reject the entire write |
| Calculated field, Live, compute pass | Server | `fields[].calculatedValue`, `objects[].subFields[].calculatedValue` | `bare`, `me`, `parent`, `root` | `any` | Use null | Keep the stored value if inputs are unchanged, otherwise use null |
| Calculated field, Stamped, compute pass | Server | `fields[].calculatedValue`, `objects[].subFields[].calculatedValue` | `bare`, `me`, `parent`, `root` | `any` | Use null | Keep the stored value if inputs are unchanged, otherwise use null |
| Entity invariant | Server | `entityInvariants[].condition` | `bare`, `transaction`, `policyVersions` | `strict-boolean` | Refuse with the rule’s message | Refuse and name the rule that could not be checked |
| Entity invariant, bind dry run | Server | `entityInvariants[].condition` | `bare`, `transaction`, `policyVersions` | `strict-boolean` | Refuse with the rule’s message | Refuse and name the rule that could not be checked |
| Custom-object display name | Server | `objectTypes[].displayNameExpression` | `bare` | `string` | Use the location’s configured fallback | Use the location’s configured fallback |
| Smart tag | Server | `smartTags[].expression` | `event`, `policy`, `exposure`, `policyExposure`, `exposureRelatedEvents`, `exposureRelatedPolicies`, `transaction`, `policyVersions` | `any` | Use the location’s configured fallback | Leave the smart tag unbound and warn |
| Form add condition | Server | `formLogicRules[].addCondition` | `bare`, `transaction`, `policyVersions` | `boolean` | Treat the condition as false | Treat the condition as false |
| List column | Server | `listColumns[].expression` | `bare` | `any` | Use the location’s configured fallback | Use the location’s configured fallback |
| Export column | Server | `exportSurfaces[].expression` | `bare`, `transaction`, `policyVersions` | `any` | Use the location’s configured fallback | Use the location’s configured fallback |
| Conversion rule | Server | `conversionRules[].expression` | `source`, `transaction` | `any` | Use null | Stop and name the failed step |
| Rating precondition | Server | `ratingWorkflows[].preconditions[]` | `bare` | `boolean` | Refuse with the rule’s message | Refuse and name the rule that could not be checked |
| Billing precondition | Server | `ratingWorkflows[].billingPreconditions[]` | `bare` | `boolean` | Refuse with the rule’s message | Refuse and name the rule that could not be checked |
| Rating warning | Server | `ratingWorkflows[].warnings[]` | `bare` | `boolean` | Report the rule’s warning and continue rating | Warn that the rule could not be checked and continue rating |
| Freshness input | Server | `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs` | `bare` | `any` | Use null | Stop and name the failed step |
| Rating projection stage | Server | `ratingWorkflows[].stages[].raterSpec.args.expression` | `bare` | `any` | Use null | Stop and name the failed step |
| Payee default | Server | `financials.payeeDefaults.expression` | `bare` | `any` | Use the location’s configured fallback | Use the location’s configured fallback |
| Calculated field, Live | Browser | `fields[].calculatedValue`, `objects[].subFields[].calculatedValue` | `bare`, `me`, `parent`, `root` | `any` | Use null | Keep the stored value if inputs are unchanged, otherwise use null |
| Calculated field, Stamped | Browser | `fields[].calculatedValue`, `objects[].subFields[].calculatedValue` | `bare`, `me`, `parent`, `root` | `any` | Use null | Keep the stored value if inputs are unchanged, otherwise use null |
| Auto-set calculation | Browser | `fieldLocations[].autoSetCalculation` | `bare` | `any` | Use null | Skip the suggested change |
| Auto-set confirmation | Browser | `fieldLocations[].autoSetConfirmation` | `bare` | `boolean` | Treat the condition as false | Skip the suggested change |
| Required condition | Browser | `fieldLocations[].requiredCondition` | `bare`, `$pageContext` | `boolean` | Treat the condition as false | Treat the condition as false |
| Card display condition | Browser | `cards[].displayCondition` | `bare`, `$pageContext` | `boolean` | Treat the condition as false | Treat the condition as false |
| Placement display condition | Browser | `fieldLocations[].displayCondition` | `bare`, `$pageContext`, `existingExposureIds` | `boolean` | Treat the condition as false | Treat the condition as false |
| Card title | Browser | `cards[].cardTitleExpression` | `bare`, `$pageContext` | `string` | Use the location’s configured fallback | Use the location’s configured fallback |
| Card-list item title | Browser | `fieldLocations[].displayFormatArgs.itemTitleExpression` | `bare` | `string` | Use the location’s configured fallback | Use the location’s configured fallback |
| Custom-object display name | Browser | `objectTypes[].displayNameExpression` | `bare` | `string` | Use the location’s configured fallback | Use the location’s configured fallback |
| Rating precondition | Browser | `ratingWorkflows[].preconditions[]` | `bare` | `boolean` | Refuse with the rule’s message | Refuse and name the rule that could not be checked |
| Billing precondition | Browser | `ratingWorkflows[].billingPreconditions[]` | `bare` | `boolean` | Refuse with the rule’s message | Refuse and name the rule that could not be checked |
| Freshness input | Browser | `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs` | `bare` | `any` | Use null | Stop and name the failed step |

The `transaction` and `policyVersions` roots on entity invariants are available only for Policy. Smart tags offer them only for Quote form types, and export columns offer them only for Policy rows. A calculated field can read `me`, `parent`, and `root` according to its object context.

## Macros

### `CLEAR`

Return an explicit null value, for example to clear a conversion destination.

**Signature** `CLEAR()`

**Returns** null

```jexl theme={null}
CLEAR()
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `HAS_UNIQUE_NAMES`

Check that populated names are unique after trimming and case folding.

**Signature** `HAS_UNIQUE_NAMES(names)`

**Returns** Boolean

| Argument | Type | Meaning |
| - | - | - |
| `names` | StringList | Names to compare; blank entries are ignored. |

```jexl theme={null}
HAS_UNIQUE_NAMES(names)
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `MIN`

Find the smallest number in a list or argument sequence.

**Signature** `MIN(values) or MIN(a, b, ...)`

**Returns** Number or null

| Argument | Type | Meaning |
| - | - | - |
| `values` | NumberList or Numbers | Numbers to compare. |

```jexl theme={null}
MIN([4, 2, 9])
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `MAX`

Find the largest number in a list or argument sequence.

**Signature** `MAX(values) or MAX(a, b, ...)`

**Returns** Number or null

| Argument | Type | Meaning |
| - | - | - |
| `values` | NumberList or Numbers | Numbers to compare. |

```jexl theme={null}
MAX([4, 2, 9])
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `SUM`

Add numbers without monetary rounding.

**Signature** `SUM(values) or SUM(a, b, ...)`

**Returns** Number

| Argument | Type | Meaning |
| - | - | - |
| `values` | NumberList or Numbers | Numbers to add. |

```jexl theme={null}
SUM([10, 20])
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `SUM_MONEY`

Add dollar amounts after rounding each amount to cents, as pricing rollups do.

**Signature** `SUM_MONEY(values) or SUM_MONEY(a, b, ...)`

**Returns** Number or null

| Argument | Type | Meaning |
| - | - | - |
| `values` | NumberList or Numbers | Dollar amounts to add. |

```jexl theme={null}
SUM_MONEY([1.006, 2.004])
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `PERCENT_OF`

Apply a canonical scaled percentage to a dollar amount.

**Signature** `PERCENT_OF(amount, percentage)`

**Returns** Number or null

| Argument | Type | Meaning |
| - | - | - |
| `amount` | Number | Dollar amount. |
| `percentage` | Number | Canonical percentage; 151454 means 15.1454%. |

```jexl theme={null}
PERCENT_OF(100, 151454)
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `ROUND`

Round a number to a fixed number of fractional digits, with ties away from zero.

**Signature** `ROUND(value, digits)`

**Returns** Number or null

| Argument | Type | Meaning |
| - | - | - |
| `value` | Number | Number to round. |
| `digits` | Number | Integer precision from -12 through 12. |

```jexl theme={null}
ROUND(2.5, 0)
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `COUNT`

Count the elements of a list.

**Signature** `COUNT(list)`

**Returns** Number

| Argument | Type | Meaning |
| - | - | - |
| `list` | List | List to count; other values count as zero. |

```jexl theme={null}
COUNT(["a", "b"])
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `FORMAT_NUMBER`

Format a number with grouping separators and optional fixed precision.

**Signature** `FORMAT_NUMBER(value, fractionDigits?)`

**Returns** String

| Argument | Type | Meaning |
| - | - | - |
| `value` | Number or numeric String | Value to display. |
| `fractionDigits?` | Number literal | Optional precision from 0 through 20. |

```jexl theme={null}
FORMAT_NUMBER(1234.5, 2)
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `FORMAT_DATE`

Format a date as display text without shifting its calendar day.

**Signature** `FORMAT_DATE(value, pattern)`

**Returns** String or null

| Argument | Type | Meaning |
| - | - | - |
| `value` | Date value | Stored date, ISO date string, or JavaScript Date. |
| `pattern` | String literal | One of MM/DD/YYYY, M/D/YYYY, YYYY-MM-DD, MMMM D, YYYY, or MMM D, YYYY. |

```jexl theme={null}
FORMAT_DATE(effectiveDate, 'MM/DD/YYYY')
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `FORMAT_ADDRESS`

Render entered address fields on one or two lines.

**Signature** `FORMAT_ADDRESS(address, pattern)`

**Returns** String or null

| Argument | Type | Meaning |
| - | - | - |
| `address` | Address or AddressV2 | Address to display. |
| `pattern` | String literal | one-line or two-line. |

```jexl theme={null}
FORMAT_ADDRESS(address, 'one-line')
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `FORMAT_CURRENCY`

Format a dollar amount with a currency symbol and cents.

**Signature** `FORMAT_CURRENCY(value, options?)`

**Returns** String

| Argument | Type | Meaning |
| - | - | - |
| `value` | Number, numeric String, or Currency | Amount to display. |
| `options?` | Object literal | Optional code, decimals, and symbol fields. |

```jexl theme={null}
FORMAT_CURRENCY(5983, { decimals: 0 })
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `PAD_LEFT`

Pad a number or text with leading zeroes to an exact width.

**Signature** `PAD_LEFT(value, width)`

**Returns** String or null

| Argument | Type | Meaning |
| - | - | - |
| `value` | Number or String | Value to pad. |
| `width` | Positive integer | Required output width. |

```jexl theme={null}
PAD_LEFT(42, 6)
```

* Returns null for a missing value. Throws if width is invalid or the value already exceeds it.

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `TEXT_BEFORE_LAST`

Return the text before the final occurrence of a separator.

**Signature** `TEXT_BEFORE_LAST(text, separator)`

**Returns** String or null

| Argument | Type | Meaning |
| - | - | - |
| `text` | String | Source text. |
| `separator` | String | Delimiter to find. |

```jexl theme={null}
TEXT_BEFORE_LAST('a/b/c', '/')
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `TEXT_AFTER_LAST`

Return the text after the final occurrence of a separator.

**Signature** `TEXT_AFTER_LAST(text, separator)`

**Returns** String or null

| Argument | Type | Meaning |
| - | - | - |
| `text` | String | Source text. |
| `separator` | String | Delimiter to find. |

```jexl theme={null}
TEXT_AFTER_LAST('a/b/c', '/')
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `UPPER`

Convert text to uppercase.

**Signature** `UPPER(text)`

**Returns** String or null

| Argument | Type | Meaning |
| - | - | - |
| `text` | String | Text to convert. |

```jexl theme={null}
UPPER('active')
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `TRIM`

Remove leading and trailing whitespace.

**Signature** `TRIM(text)`

**Returns** String or null

| Argument | Type | Meaning |
| - | - | - |
| `text` | String | Text to trim. |

```jexl theme={null}
TRIM('  active  ')
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `TITLE_CASE`

Convert text to title case.

**Signature** `TITLE_CASE(text)`

**Returns** String or null

| Argument | Type | Meaning |
| - | - | - |
| `text` | String | Text to convert. |

```jexl theme={null}
TITLE_CASE('general liability')
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `IS_PRESENT`

Test whether a value is set; false and zero are present.

**Signature** `IS_PRESENT(value)`

**Returns** Boolean

| Argument | Type | Meaning |
| - | - | - |
| `value` | Any | Value to test; null, undefined, empty text, and whitespace-only text are absent. |

```jexl theme={null}
IS_PRESENT(companyName)
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `IS_VALID_TIME_ZONE`

Test whether a time-zone key belongs to the supported time-zone list.

**Signature** `IS_VALID_TIME_ZONE(value)`

**Returns** Boolean

| Argument | Type | Meaning |
| - | - | - |
| `value` | String or option-set value | IANA time-zone key to test. |

```jexl theme={null}
IS_VALID_TIME_ZONE('America/New_York')
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `COUNT_ID_BEARING_EXPOSURES`

Count embedded exposures with a nonempty entity ID across field values.

**Signature** `COUNT_ID_BEARING_EXPOSURES(fieldValues...)`

**Returns** Number

| Argument | Type | Meaning |
| - | - | - |
| `fieldValues...` | Object or ObjectList | Embedded-exposure fields to count. |

```jexl theme={null}
COUNT_ID_BEARING_EXPOSURES(primaryInsured, additionalInsureds)
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `CONCAT_LISTS`

Flatten list and scalar arguments into one list, dropping null members.

**Signature** `CONCAT_LISTS(values...)`

**Returns** List

| Argument | Type | Meaning |
| - | - | - |
| `values...` | Any or Lists | Values in output order. |

```jexl theme={null}
CONCAT_LISTS([1], 2)
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `DROP_NULLISH`

Remove null and undefined members from a list.

**Signature** `DROP_NULLISH(list)`

**Returns** List

| Argument | Type | Meaning |
| - | - | - |
| `list` | List | List to filter; a non-list returns an empty list. |

```jexl theme={null}
DROP_NULLISH([1, CLEAR(), 2])
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `FIRST`

Read the first item of a list.

**Signature** `FIRST(list)`

**Returns** Any or null

| Argument | Type | Meaning |
| - | - | - |
| `list` | List | List to read. |

```jexl theme={null}
FIRST([1, 2])
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `LAST`

Read the last item of a list.

**Signature** `LAST(list)`

**Returns** Any or null

| Argument | Type | Meaning |
| - | - | - |
| `list` | List | List to read. |

```jexl theme={null}
LAST([1, 2])
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `SORT_BY`

Return a stable ascending copy of a list sorted by one sub-field.

**Signature** `SORT_BY(list, subFieldKey)`

**Returns** ObjectList or null

| Argument | Type | Meaning |
| - | - | - |
| `list` | ObjectList | Rows to sort. |
| `subFieldKey` | String | Name of a Date, Number, or Text sub-field. |

```jexl theme={null}
SORT_BY(entries, 'on')
```

* Missing sort values go last; filter them first when taking LAST.

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `TEXT_JOIN`

Render list members as display text and join them.

**Signature** `TEXT_JOIN(list, separator)`

**Returns** String or null

| Argument | Type | Meaning |
| - | - | - |
| `list` | List | Values to render; null members are skipped. |
| `separator` | String | Text inserted between rendered values. |

```jexl theme={null}
TEXT_JOIN(['A', 'B'], ', ')
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `ADD_YEARS`

Add calendar years to a date.

**Signature** `ADD_YEARS(date, years)`

**Returns** Date shape of input or null

| Argument | Type | Meaning |
| - | - | - |
| `date` | Date value | Starting date. |
| `years` | Number | Years to add; wrap a negative literal in parentheses. |

```jexl theme={null}
ADD_YEARS(effectiveDate, 1)
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `ADD_MONTHS`

Add calendar months to a date.

**Signature** `ADD_MONTHS(date, months)`

**Returns** Date shape of input or null

| Argument | Type | Meaning |
| - | - | - |
| `date` | Date value | Starting date. |
| `months` | Number | Months to add; wrap a negative literal in parentheses. |

```jexl theme={null}
ADD_MONTHS(effectiveDate, 6)
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `ADD_DAYS`

Add calendar days to a date.

**Signature** `ADD_DAYS(date, days)`

**Returns** Date shape of input or null

| Argument | Type | Meaning |
| - | - | - |
| `date` | Date value | Starting date. |
| `days` | Number | Days to add; wrap a negative literal in parentheses. |

```jexl theme={null}
ADD_DAYS(effectiveDate, (-1))
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `DATE_VALUE`

Build a canonical Date field value from a date and time zone.

**Signature** `DATE_VALUE(date, timezone?)`

**Returns** Date object or null

| Argument | Type | Meaning |
| - | - | - |
| `date` | Date value | Date to convert. |
| `timezone?` | String | IANA zone; defaults to America/New\_York. |

```jexl theme={null}
DATE_VALUE('2026-08-01', 'America/New_York')
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `DAYS_BETWEEN`

Count days between two dates.

**Signature** `DAYS_BETWEEN(start, end)`

**Returns** Number or null

| Argument | Type | Meaning |
| - | - | - |
| `start` | Date value | Start date. |
| `end` | Date value | End date. |

```jexl theme={null}
DAYS_BETWEEN('2026-01-01', '2026-01-03')
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `MONTHS_BETWEEN`

Count months between two dates.

**Signature** `MONTHS_BETWEEN(start, end)`

**Returns** Number or null

| Argument | Type | Meaning |
| - | - | - |
| `start` | Date value | Start date. |
| `end` | Date value | End date. |

```jexl theme={null}
MONTHS_BETWEEN(startDate, endDate)
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `YEARS_BETWEEN`

Count years between two dates.

**Signature** `YEARS_BETWEEN(start, end)`

**Returns** Number or null

| Argument | Type | Meaning |
| - | - | - |
| `start` | Date value | Start date. |
| `end` | Date value | End date. |

```jexl theme={null}
YEARS_BETWEEN(startDate, endDate)
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `YEAR`

Read the calendar year from a date.

**Signature** `YEAR(date)`

**Returns** Number or null

| Argument | Type | Meaning |
| - | - | - |
| `date` | Date value | Date to read. |

```jexl theme={null}
YEAR(TODAY())
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `MONTH`

Read the month from a date, numbered 1 through 12.

**Signature** `MONTH(date)`

**Returns** Number or null

| Argument | Type | Meaning |
| - | - | - |
| `date` | Date value | Date to read. |

```jexl theme={null}
MONTH(TODAY())
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `DAY`

Read the day of month from a date.

**Signature** `DAY(date)`

**Returns** Number or null

| Argument | Type | Meaning |
| - | - | - |
| `date` | Date value | Date to read. |

```jexl theme={null}
DAY(TODAY())
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `SWITCH`

Return the result for the first strictly equal case, or the required default.

**Signature** `SWITCH(selector, case1, result1, ..., default)`

**Returns** Type of result branches

| Argument | Type | Meaning |
| - | - | - |
| `selector` | String, Number, or Boolean | Value to match. |
| `case/result pairs` | Same case type and one result type | At least one pair. |
| `default` | Result type | Value when no case matches. |

```jexl theme={null}
SWITCH(tier, 1, 'bronze', 2, 'silver', 'none')
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `PICK`

Copy selected keys from an object or each object in a list.

**Signature** `PICK(object, keys...)`

**Returns** Object, ObjectList, or null

| Argument | Type | Meaning |
| - | - | - |
| `object` | Object or ObjectList | Source object or list. |
| `keys...` | Strings | Property names to copy. |

```jexl theme={null}
PICK(policy, 'policyNumber', 'effectiveDate')
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `SMART_TAG_TABLE`

Build a declared table value for a document smart tag.

**Signature** `SMART_TAG_TABLE(rows, columns, layout?)`

**Returns** SmartTagTable object or null

| Argument | Type | Meaning |
| - | - | - |
| `rows` | ObjectList | Table rows. |
| `columns` | Nonempty ObjectList literal | Column declarations with heading and from keys, and optional width and align. |
| `layout?` | Object literal | Optional table borders, header, print mode, empty behavior, and spacing. |

```jexl theme={null}
SMART_TAG_TABLE(rows, [{ heading: 'Name', from: 'name' }])
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `UNION`

Read a value or stable-ID union from policy versions.

**Signature** `UNION(versions, path, strategy?, date?)`

**Returns** Value, ObjectList, or null

| Argument | Type | Meaning |
| - | - | - |
| `versions` | transaction or policyVersions | Policy version grid root. |
| `path` | String literal | Policy field path to read. |
| `strategy?` | String literal | at selects the date-covering cell or the last cell that held the ID; first and latest select first or last occurrence. Defaults to at. |
| `date?` | Date value | Reference date for at selection; defaults to the transaction effective date. |

```jexl theme={null}
UNION(policyVersions, 'coverages')
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `HISTORY`

Read the dated history of a path across policy versions.

**Signature** `HISTORY(versions, path)`

**Returns** ObjectList or null

| Argument | Type | Meaning |
| - | - | - |
| `versions` | transaction or policyVersions | Policy version grid root. |
| `path` | String literal | Policy field path to track. |

```jexl theme={null}
HISTORY(policyVersions, 'coverages')
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `DELTA`

Subtract the before number from the after number.

**Signature** `DELTA(before, after)`

**Returns** Number or null

| Argument | Type | Meaning |
| - | - | - |
| `before` | Number | Earlier value. |
| `after` | Number | Later value. |

```jexl theme={null}
DELTA(100, 125)
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `FILTER_RELATED_EVENTS`

Combine related event lists, remove duplicate IDs, and optionally filter event types.

**Signature** `FILTER_RELATED_EVENTS(root, options?)`

**Returns** ObjectList or null

| Argument | Type | Meaning |
| - | - | - |
| `root` | Related-events object | Bound exposureRelatedEvents root. |
| `options?` | Object literal | Optional relatedByAny and eventTypes lists. |

```jexl theme={null}
FILTER_RELATED_EVENTS(exposureRelatedEvents)
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `FINANCIAL_CATEGORY_TOTAL`

Sum a named financial figure across related event rows and categories.

**Signature** `FINANCIAL_CATEGORY_TOTAL(rows, column, categoryNames)`

**Returns** Number or null

| Argument | Type | Meaning |
| - | - | - |
| `rows` | Object or ObjectList | Event financial rows. |
| `column` | String literal | paid, owed, reserves, or total. |
| `categoryNames` | Nonempty StringList literal | Distinct configured invoice type names to include. |

```jexl theme={null}
FINANCIAL_CATEGORY_TOTAL(FILTER_RELATED_EVENTS(exposureRelatedEvents), 'paid', ['Indemnity'])
```

* Throws when a named figure or category is missing.

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `TIMEZONE`

Find a supported IANA time zone from an address.

**Signature** `TIMEZONE(address)`

**Returns** String or null

| Argument | Type | Meaning |
| - | - | - |
| `address` | Address or AddressV2 | Address with coordinates or entered state and ZIP. |

```jexl theme={null}
TIMEZONE(address)
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `CREATE_PRICE_COMPONENT_V2`

Build one pricing component for a full-term pricing table.

**Signature** `CREATE_PRICE_COMPONENT_V2(classification, qualifier, label, earningSchedule, value)`

**Returns** PriceComponent object or null

| Argument | Type | Meaning |
| - | - | - |
| `classification` | String | Configured pricing classification. |
| `qualifier` | String or null | Charge qualifier; null for the ordinary charge. |
| `label` | String | Display label. |
| `earningSchedule` | String or null | pro-rata, immediate, or null for the default. |
| `value` | Number | Dollar amount. |

```jexl theme={null}
CREATE_PRICE_COMPONENT_V2('fees', CLEAR(), 'Stamping Fee', CLEAR(), 150)
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `CREATE_PRICE_COMPONENTS_V2_BY_QUALIFIER`

Group parallel qualifier and value lists into pricing components.

**Signature** `CREATE_PRICE_COMPONENTS_V2_BY_QUALIFIER(classification, qualifiers, label, earningSchedule, values)`

**Returns** PriceComponent ObjectList

| Argument | Type | Meaning |
| - | - | - |
| `classification` | String | Configured pricing classification. |
| `qualifiers` | StringList | Charge qualifiers. |
| `label` | String | Display label. |
| `earningSchedule` | String or null | Earning schedule. |
| `values` | NumberList | Dollar amounts parallel to qualifiers. |

```jexl theme={null}
CREATE_PRICE_COMPONENTS_V2_BY_QUALIFIER('taxes', states, 'Tax', CLEAR(), amounts)
```

* Throws if a qualifier/value pair is invalid or the lists differ in length.

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `CREATE_BILLING_LINE`

Build one signed billing line.

**Signature** `CREATE_BILLING_LINE(invoiceType, lineItem, direction, amount)`

**Returns** BillingLine object or null

| Argument | Type | Meaning |
| - | - | - |
| `invoiceType` | String | Invoice type. |
| `lineItem` | String | Line name. |
| `direction` | String | receivable or payable. |
| `amount` | Number | Signed dollar amount. |

```jexl theme={null}
CREATE_BILLING_LINE('premium', 'Policy premium', 'receivable', 100)
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `COVERAGE_LIMIT`

Read a named limit from an in-context coverage list.

**Signature** `COVERAGE_LIMIT(coverages, coverageKey, limitName)`

**Returns** Number

| Argument | Type | Meaning |
| - | - | - |
| `coverages` | ObjectList | Current policy coverages. |
| `coverageKey` | String | Coverage type key. |
| `limitName` | String | Limit name. |

```jexl theme={null}
COVERAGE_LIMIT(coverages, 'generalLiability', 'Occurrence')
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Custom-object display name (server, runs) at `objectTypes[].displayNameExpression`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Form add condition (server, runs) at `formLogicRules[].addCondition`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Conversion rule (server, runs) at `conversionRules[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Payee default (server, runs) at `financials.payeeDefaults.expression`.
* Calculated field, Live (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Custom-object display name (browser, runs) at `objectTypes[].displayNameExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `TODAY`

Read the current UTC calendar date.

**Signature** `TODAY()`

**Returns** ISO date String

```jexl theme={null}
TODAY()
```

* Temporal values are not accepted in every expression location.

Accepted locations:

* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Smart tag (server, runs) at `smartTags[].expression`.
* List column (server, runs) at `listColumns[].expression`.
* Export column (server, runs) at `exportSurfaces[].expression`.
* Rating precondition (server, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (server, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Rating warning (server, runs) at `ratingWorkflows[].warnings[]`.
* Freshness input (server, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.
* Rating projection stage (server, runs) at `ratingWorkflows[].stages[].raterSpec.args.expression`.
* Calculated field, Stamped (browser, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Auto-set calculation (browser, runs) at `fieldLocations[].autoSetCalculation`.
* Auto-set confirmation (browser, runs) at `fieldLocations[].autoSetConfirmation`.
* Required condition (browser, runs) at `fieldLocations[].requiredCondition`.
* Card display condition (browser, runs) at `cards[].displayCondition`.
* Placement display condition (browser, runs) at `fieldLocations[].displayCondition`.
* Card title (browser, runs) at `cards[].cardTitleExpression`.
* Card-list item title (browser, runs) at `fieldLocations[].displayFormatArgs.itemTitleExpression`.
* Rating precondition (browser, runs) at `ratingWorkflows[].preconditions[]`.
* Billing precondition (browser, runs) at `ratingWorkflows[].billingPreconditions[]`.
* Freshness input (browser, runs) at `ratingWorkflows[].freshness.ratingInputs`, `ratingWorkflows[].freshness.billingInputs`.

### `GENERATE_QUOTE_NUMBER`

Allocate a quote number from the configured sequence.

**Signature** `GENERATE_QUOTE_NUMBER()`

**Returns** String

```jexl theme={null}
GENERATE_QUOTE_NUMBER()
```

* Allocates on a server save; browser evaluation uses a preview value.

Accepted locations:

* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.

### `GENERATE_SUBMISSION_NUMBER`

Allocate a submission number from the configured sequence.

**Signature** `GENERATE_SUBMISSION_NUMBER()`

**Returns** String

```jexl theme={null}
GENERATE_SUBMISSION_NUMBER()
```

* Allocates on a server save; browser evaluation uses a preview value.

Accepted locations:

* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.

### `GENERATE_POLICY_NUMBER`

Allocate a policy number from the configured sequence.

**Signature** `GENERATE_POLICY_NUMBER()`

**Returns** String

```jexl theme={null}
GENERATE_POLICY_NUMBER()
```

* Allocates on a server save; browser evaluation uses a preview value.

Accepted locations:

* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.

### `NEXT_SEQUENCE_NUMBER`

Allocate the next number from a named sequence.

**Signature** `NEXT_SEQUENCE_NUMBER(sourceId, discriminator?)`

**Returns** Number

| Argument | Type | Meaning |
| - | - | - |
| `sourceId` | String | Non-empty sequence source ID. |
| `discriminator?` | String | Optional partition, often ENTITY\_ID(). |

```jexl theme={null}
NEXT_SEQUENCE_NUMBER('system/policy-number')
```

* Use a ternary for conditional allocation. The right operand of ?? evaluates eagerly.

Accepted locations:

* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.

### `ENTITY_ID`

Read the ID of the entity being evaluated.

**Signature** `ENTITY_ID()`

**Returns** String or null

```jexl theme={null}
ENTITY_ID()
```

* Before a new entity has an ID, evaluation follows the preview rule.

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`. A save without an entity ID also previews.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`. A save without an entity ID also previews.
* Calculated field, Live, compute pass (server, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.

### `GENERATE_EVENT_REFERENCE_ID`

Generate an event reference ID.

**Signature** `GENERATE_EVENT_REFERENCE_ID()`

**Returns** String

```jexl theme={null}
GENERATE_EVENT_REFERENCE_ID()
```

* Available on stamped calculated values; browser evaluation uses a preview value.

Accepted locations:

* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.

### `DERIVE_EVENT_NAME`

Build an event name from insured exposure names and a claimant.

**Signature** `DERIVE_EVENT_NAME(insuredIds, claimant?)`

**Returns** String

| Argument | Type | Meaning |
| - | - | - |
| `insuredIds` | StringList | Insured exposure IDs. |
| `claimant?` | String | Claimant name. |

```jexl theme={null}
DERIVE_EVENT_NAME(insuredIds, claimant)
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Calculated field, Live (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.

### `EXPOSURE_EXISTS`

Check whether an exposure ID resolves in the current company.

**Signature** `EXPOSURE_EXISTS(id)`

**Returns** Boolean

| Argument | Type | Meaning |
| - | - | - |
| `id` | String | Exposure entity ID. |

```jexl theme={null}
EXPOSURE_EXISTS(exposureId)
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Calculated field, Live (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.

### `OPTION_SET_LABEL`

Look up the label of one option-set key in the active configuration.

**Signature** `OPTION_SET_LABEL(optionSetName, value)`

**Returns** String

| Argument | Type | Meaning |
| - | - | - |
| `optionSetName` | String | Option-set name. |
| `value` | String | One option key; lists are rejected. |

```jexl theme={null}
OPTION_SET_LABEL('status', status)
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Calculated field, Live (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.

### `LINKED_POLICY_COVERAGE_LIMIT`

Read a named coverage limit from the current segment of a linked policy.

**Signature** `LINKED_POLICY_COVERAGE_LIMIT(policyRef, coverageListField, coverageKey, limitName)`

**Returns** Number

| Argument | Type | Meaning |
| - | - | - |
| `policyRef` | String | Linked policy ID. |
| `coverageListField` | String | Field that holds the coverage list. |
| `coverageKey` | String | Coverage type key. |
| `limitName` | String | Limit name. |

```jexl theme={null}
LINKED_POLICY_COVERAGE_LIMIT(referencingPolicy, 'coverages', 'generalLiability', 'Occurrence')
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Calculated field, Live (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.

### `POLICY_EXPOSURE_COVERAGE_PERIOD`

Resolve the coverage period for exposures on a linked policy.

**Signature** `POLICY_EXPOSURE_COVERAGE_PERIOD(policyRef, exposureRefs, exposureField)`

**Returns** String or null

| Argument | Type | Meaning |
| - | - | - |
| `policyRef` | String | Linked policy ID. |
| `exposureRefs` | String or StringList | Exposure IDs. |
| `exposureField` | String | Policy field holding exposure references. |

```jexl theme={null}
POLICY_EXPOSURE_COVERAGE_PERIOD(referencingPolicy, exposureIds, 'exposures')
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Calculated field, Live (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.

### `LINKED_POLICY_FIELD`

Read a field from the current segment of a linked policy.

**Signature** `LINKED_POLICY_FIELD(policyRef, fieldReferenceId)`

**Returns** Any or null

| Argument | Type | Meaning |
| - | - | - |
| `policyRef` | String | Linked policy ID. |
| `fieldReferenceId` | String | Field reference ID. |

```jexl theme={null}
LINKED_POLICY_FIELD(referencingPolicy, 'policyNumber')
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Calculated field, Live (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.

### `TERM_NUMBER`

Carry or increment the term number across a policy lineage.

**Signature** `TERM_NUMBER(isRenewal, lineagePolicyRef, parentFieldReferenceId, currentValue, startAt)`

**Returns** Number

| Argument | Type | Meaning |
| - | - | - |
| `isRenewal` | Boolean | Whether this is a renewal. |
| `lineagePolicyRef` | String or null | Source policy ID. |
| `parentFieldReferenceId` | String | Term-number field on the source policy. |
| `currentValue` | Number or null | Existing value to preserve. |
| `startAt` | Number | Start for a new chain. |

```jexl theme={null}
TERM_NUMBER(isRenewal, previousPolicy, 'termNumber', termNumber, 1)
```

* Throws if a renewal cannot read its parent term.

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Calculated field, Live (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.

### `LINKED_ENTITY_FIELD`

Read one persisted field from a linked entity.

**Signature** `LINKED_ENTITY_FIELD(entityType, ref, fieldReferenceId)`

**Returns** Any or null

| Argument | Type | Meaning |
| - | - | - |
| `entityType` | String | Top-level entity type. |
| `ref` | String | Linked entity ID. |
| `fieldReferenceId` | String | Field reference ID. |

```jexl theme={null}
LINKED_ENTITY_FIELD('Organization', policyBrokerage, 'name')
```

* Re-evaluates when the host is saved; target changes alone do not refresh it.

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Calculated field, Live (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.

### `USER_EMAIL`

Read an email for a user who belongs to the current company.

**Signature** `USER_EMAIL(ref)`

**Returns** String or null

| Argument | Type | Meaning |
| - | - | - |
| `ref` | String | User ID. |

```jexl theme={null}
USER_EMAIL(assignee)
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Calculated field, Live (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.

### `RESOLVE_JOIN`

Resolve one Join ID or a list of Join IDs to complete entities.

**Signature** `RESOLVE_JOIN(ref)`

**Returns** Object, ObjectList, or null

| Argument | Type | Meaning |
| - | - | - |
| `ref` | String or StringList | Join field value. |

```jexl theme={null}
RESOLVE_JOIN(policyBroker).lastName
```

* Re-evaluates when the host is saved; target changes alone do not refresh it.

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Calculated field, Live (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.

### `CHANGES`

Describe labeled field changes between two policy values.

**Signature** `CHANGES(before, after)`

**Returns** ObjectList or null

| Argument | Type | Meaning |
| - | - | - |
| `before` | Policy value | Earlier policy value. |
| `after` | Policy value | Later policy value. |

```jexl theme={null}
CHANGES(transaction.before, transaction.after)
```

Accepted locations:

* Calculated field, Live (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Live, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped, compute pass (server, runs) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Entity invariant (server, runs) at `entityInvariants[].condition`.
* Entity invariant, bind dry run (server, runs) at `entityInvariants[].condition`.
* Smart tag (server, runs) at `smartTags[].expression`.
* Calculated field, Live (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.
* Calculated field, Stamped (browser, expression previews) at `fields[].calculatedValue`, `objects[].subFields[].calculatedValue`.

## Operators

JEXL also supports built-in Boolean, comparison, arithmetic, ternary, and bracket-filter syntax. See the authoring guide for grouping and evaluation behavior.

### `=`

Compare scalar values for strict equality. Boolean and whole-list equality is rejected by configuration validation.

**Signature** `left = right`

**Returns** Boolean

```jexl theme={null}
status = 'Active'
```

### `CONTAINS`

Test whether text contains a substring or a list contains an element.

**Signature** `container CONTAINS value`

**Returns** Boolean

```jexl theme={null}
tags CONTAINS 'urgent'
```

### `IN`

Test whether a scalar is in a list. The engine also defines string-to-string behavior, but configuration validation requires a list on the right.

**Signature** `value IN list`

**Returns** Boolean

```jexl theme={null}
'urgent' IN tags
```

### `??`

Use the right value when the left value is null or undefined. Both operands evaluate.

**Signature** `value ?? fallback`

**Returns** Left operand unless nullish, otherwise right operand

```jexl theme={null}
nickname ?? 'Unknown'
```

## Transforms

Use bracket syntax such as `rows[.status = "Active"]` to filter a list. `filter` is not a registered pipe transform.

### `map`

Read one named property from each list item.

**Signature** `list|map('property')`

**Returns** List

| Argument | Type | Meaning |
| - | - | - |
| `property` | String | Property name on each list item. |

```jexl theme={null}
locations|map('state')
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.