LOGO
Log In

Field & section mappings

Map placeholders to file-matter data, loop over parties, and show or hide content with conditionals.

Field mappings

A field mapping is a direct 1-to-1 substitution: the placeholder is replaced with the corresponding value from the file matter.

  • <guarantorName> mapped to Guarantors → Full Name becomes John Smith in the output.
  • A placeholder with no mapping renders as blank. It does not produce an error; it simply disappears from the output.
  • A placeholder that appears multiple times only needs to be mapped once. When inside a loop (see below), its value changes per iteration.

Section mappings

A section mapping is a special placeholder that does not produce a value. It controls how or whether the content within it is printed. There are two types: loops and conditionals.

Sections use opening and closing tag pairs:

  • Opening tag starts with #: <#guarantors>
  • Closing tag starts with /: </guarantors>
  • Both tags must use the exact same keyword. Mismatched keywords cause an upload error.

Section mappings are configured on the Sections tab of the mapping panel, separate from field mappings:

Mapping panel with the Sections tab open, showing three unmapped section pairs highlighted in yellow

Click Select loop/conditional… on each row and pick the appropriate data source:

Select Field picker for sections showing Each Guarantor, Is Company (per item), and Is Individual (per item) options

Once all sections are mapped, the progress bar would reach 7/7.

Sections tab fully configured: guarantors mapped to Each Guarantor, IfGuarantorCorporations to Is Company, IfGuarantorIndividual to Is Individual

Loop sections

Everything between <#guarantors> and </guarantors> repeats once per item in the mapped list. If there are 3 guarantors, the entire block prints 3 times.

  • Field placeholders inside a loop resolve to the value for that iteration. For example, <guarantorName> is John Smith on pass 1, ABC Company on pass 2.
  • Field placeholders outside a loop always resolve to the same single value.
  • If the loop list is empty, the entire block is omitted from the output.

Section context on mapping rows

Each field mapping row shows small tags for every section the placeholder is nested inside. This lets you see at a glance whether a placeholder is inside a loop, a conditional, or both.

Field Mappings panel showing borrowerName row with section tags: borrowers, IfBorrowerIndividual, IfBorrowerCorporation highlighted
  • A tag matching a loop name (e.g. borrowers) means the placeholder repeats once per item in that list.
  • A tag matching a conditional name (e.g. IfBorrowerIndividual) means the placeholder only prints when that condition is true.
  • A placeholder nested inside multiple sections shows a tag for each one.

Per-loop-item fields

In the Select Field picker, fields that carry a path with [i] in the subtext (e.g. buyers[i].fullName) are per-loop-item fields. They resolve to a different value on each loop iteration.

Select Field picker showing Buyers category with fields buyers[i].fullName, buyers[i].givenName, buyers[i].lastName and others
  • These fields only make sense inside a loop section. Outside a loop there is no iteration context to resolve against.
  • If you map a per-loop-item field to a placeholder that is not inside any loop, the mapping editor shows a warning to flag the mismatch.
  • A regular (non- [i]) field can also be used inside a loop. It will resolve to the same single value on every iteration.

Conditional sections

Content inside a conditional section only prints when the mapped condition evaluates to true.

  • <#IfGuarantorIndividual> → the block renders only when the current guarantor is an individual.
  • <#IfGuarantorCorporations> → the block renders only for corporations.
  • Conditionals can be nested inside loops: the outer loop iterates every guarantor, and the inner conditional picks the right block for each one.
Naming tip: The “If” prefix is not required — you can name a conditional anything. For example, <#ShowDisclaimer>). Using “If” is recommended because it makes the intent clear at a glance, and Triconvey automatically creates an inverse tag (e.g. <#If Not ShowDisclaimer>) so you can target the opposite case without a second mapping.

The colour-coded diagram below shows how a Client Identification Form template is structured, with the red outer loop, blue inner conditionals, and green field placeholders:

Word document showing the template with colour-coded annotations: red for the outer guarantors loop, blue for individual/corporation conditionals, green for field placeholders

Placement matters

Where you place a field placeholder relative to a conditional determines whether it always prints or only prints conditionally.

  • A placeholder outside a conditional prints for every loop iteration, regardless of the condition. In the guarantor example, <guarantorName> outside <#IfGuarantorCorporations> means every guarantor's name prints in that section, including individuals.
  • A placeholder inside a conditional only prints when the condition is true.

What the output looks like

With 3 guarantors (John Smith as individual, ABC Company as corporation, and Jane Doe as individual), the generated document shows:

Generated Client Identification Form: Individuals section lists all three guarantors, Corporations section shows only ABC Company
  • In the Individuals section, all three names print, including ABC Company. Because <guarantorName> sits outside <#IfGuarantorIndividual>, it resolves for every loop iteration regardless of client type. Only the ID table below it is inside the conditional, so ABC Company gets its name printed but no individual table.
  • In the Corporations section, <guarantorName> sits inside <#IfGuarantorCorporations>, so only ABC Company prints there, with its corporation table.

Looping inside tables

Loop sections work inside Word tables, but the opening and closing tags must be placed in the same table row. The system treats that row as a template row and duplicates it once per loop item.

Here is an Account Statement template with two loop rows: one for taxable disbursements, one for non-taxable:

Account_TL template showing the full document layout with loop placeholders for disbursements

Enable Table Layout → View Gridlines in Word to see row boundaries clearly while authoring (gridlines don't print):

Word ribbon with Table Layout tab open and View Gridlines button highlighted

With gridlines visible you can clearly see the loop tags are in the same row, opening at the start and closing at the end:

Account_TL template with gridlines enabled, showing EachTaxDis and EachNonTaxDis loop pairs each contained within a single table row
  • Splitting a loop pair across two rows causes an upload error.
  • If the loop is empty (no disbursements), the template row does not appear in the output at all.

Configuring table loop mappings

Map the section pairs on the Sections tab, one row per loop:

Sections tab showing EachTaxDis mapped to Each Taxable Disbursement and EachNonTaxDis mapped to Each Non-Taxable Disbursement

Field placeholders inside the loop (description, amount) are mapped on the Field Mappings tab as normal:

Field Mappings tab showing Disbursement Description and Disbursement Amount mapped, both tagged as belonging to EachTaxDis and EachNonTaxDis

Testing table loops

To test properly, add disbursements to the file matter first. Go to Accounts → Disbursement/Other Charges → Add New:

File matter Accounts tab with Disbursement/Other Charges sub-tab open and three disbursements listed

Then generate from the Documents tab:

Documents tab showing the Account_TL - shortened template with Generate button highlighted

The output repeats the loop row once per disbursement, sorted into the correct taxable / non-taxable section:

Generated Account Statement showing Courier Fee and Photocopies under Disbursements Subject to GST, and Title Search under Disbursements Not Subject to GST