Narrative Variable Reference

Unit21 also supports auto-filling of the narrative section in SAR forms through the use of template variables. The values of form fields in other sections can be referenced and auto-filled in the narrative section. The form field template variables are in the form of {page_number.field_name.nested_field_name:UNFILLED_VALUE}. As you fill out the form, UNFILLED_VALUE will be replaced by the form field referenced by page_number.field_name.nested_field_name. page_number refers to the section that the form field comes from.

When the SAR form is ready for review, the entire narrative section will go through a final replacement process where each form field template variable is replaced by the current value of the form field.

Note that:

  • if the value is still UNFILLED_VALUE, it means that the form field that was referenced has not been changed yet
  • if the value is NOT_FOUND, the formatting of the template variable may be incorrect or a non-existent form field was referenced


  • {0.priorBsaId:UNFILLED_VALUE} refers to the prior BSA ID in the Home section.
  • {3.forms[0].19_dateOfBirth:UNFILLED_VALUE} refers to the birth date of the first subject in Step 3.
  • {3.forms[0].4_legalName:UNFILLED_VALUE} refers to the last name or legal name of the first subject in Step 3.
  • {3.forms[0].5_firstName:UNFILLED_VALUE} refers to the first name of the first subject in Step 3.
  • {4.31_cumulativeAmount:UNFILLED_VALUE} refers to the cumulative amount in Step 4.

Field references

Field references simply map the value of a field from the SAR form and copy it to the narrative section.

Variables for Step 0: Home

The following variables are replaced with values from the fields in the Home form. These variables all begin with 0.

Variable nameDescription
{0.filingName}The name of the filing
{0.2_filingInstitution}Additional notes added by the org
{0.priorBsaId:}If a continuing report, the ID of the last associated BSA

Variables for Step 4: Suspicious activity information

The following variables are replaced with values from the fields in the Step 4: Suspicious activity information form. These variables all begin with 4.

Variable nameDescription
{4.30_suspiciousActivityStartDate:}Start of Suspicious activity report
{4.30_suspiciousActivityEndDate:}End of SAR
{4.29_amountInvolved:}Amount involved in SAR
{4.31_cumulativeAmount:}If a continuing report, the cumulative amount


See Field References Variables for a list of all available variables.

Process variables

With Process variables, U21 processes case data and inserts some values.

Process variables have the form {<Variablename>}():}. Some of these processes have _arguments, letting you provide more information to the process. In these cases, put the argument in the parenthesis {<variable_name>(argument_1, argument_2):}.

Process nameDescriptionArgumentExample
sum_txn_amountTotal/Sum of the amounts of flagged transactions in any given currency and transaction typeOptional: transaction_type, currency, conversion{sum_txn_amount(transaction,usd,1.1):}
earliest_txn_event_dateEarliest flagged transaction event datenone{earliest_txn_event_date():}
latest_txn_event_dateLatest flagged transaction event datenone{latest_txn_event_data():}
txn_tableTable of all flagged transactions (includes date, transaction amount, originator, and beneficiarynone{txn_table():}
txn_custom_dataA field sent in the custom_data object via API. Only string values<custom_field_name>{txn_custom_data(<custom_field_name>):}
txn_event_datesList of dates of all flagged transactionsnone{txn_event_dates(<custom_field_name>):}
entity_name_created_atList of names of all flagged entitiesnone
count_txn_eventsNumber of all flagged transactionsnone
count_entitiesNumber of all flagged entitiesnone

Using variables with custom_data

If your organization sends custom_data via API, the top-level fields of a transaction can be referenced in the SAR narrative as a template variable.

In the following example, remoteIps and merchantName are top-level fields. internal_notes is not a top-level field.

{" remoteIps": ",",
 "merchantName": "Bob Smith"
  "custom_data": {
    "internal_notes": "Reviewed by Tara on 31 May 2019"

An example of custom_data in a template

Given custom data sent above, you could use reference the fields with template variables like this:

  1. go to Step 5: Narrative and add some text like this

This transaction involves a merchant, by the name of {txn_event_dates(merchantName):}, who is associated with the following remoteIPs: {txn_event_dates(remoteIPs):}

  1. Open a different form and save. This populates the variables.
  2. Scroll back down. The variables should now have attached values, like this:

This transaction involves a merchant, by the name of {txn_event_dates(merchantName):Bob Smith}, who is associated with the following remoteIPs: {txn_event_dates(remoteIPs),}

When you send the SAR, the brackets and process variable names disappear. Only the value gets sent to the SAR institution.

Limitations of custom_data templates

  • custom_data fields with underscores ( _) cannot be used as template variables
  • Only text/string values accepted, so a variable cannot reference nested objects inside custom_data
    -- For numbers, send values as strings in quotes, e.g. "number": "12"
  • If custom_data has a value None, it cannot be used as a variable