Skip to content

4. Troubleshooting

George Njeri (Swagfin) edited this page Mar 7, 2026 · 1 revision

Troubleshooting

Quick Diagnostics

Symptom Likely Cause What To Do
{{ PropertyName }} remains in output Unknown regular property Check model/property spelling or add runtime parameter
Calculation renders empty Invalid/unknown/non-numeric calculation path Validate expression, path, and data type
Calculation renders 0 Null source/property in math path Confirm null is expected or initialize source values
#if block not matching Type/operator mismatch Verify property type and comparison value
Loop renders nothing Source is null/non-enumerable/empty Ensure collection exists and has items

Unknown Placeholder vs Calculation Behavior

These are intentionally different:

  • Regular placeholder unknown: keeps unresolved text
    • Example: {{ UnknownProp }}
  • Expression unknown/invalid: renders empty
    • Example: {{ _sum(Unknown.Path) }} -> empty

Common Mistakes

1. Wrong nested path

{{ Customer.BankDetails.BankName }}

If model uses BankingDetail (singular), this expression will fail.

2. Using numeric functions on string/date

{{ _sum(Items.Name) }}
{{ _sum(OrderDate) }}

These render empty because values are not numeric.

3. Using calc with unresolved fields

{{ _calc(PaidAmount - UnknownValue) }}

This renders empty.

Performance Tips

  • Reuse template strings to benefit from parser cache.
  • Prefer specific property paths over deeply complex expressions.
  • Keep heavy transformations outside templates when possible.
  • Validate user-authored templates during save time, not only at send time.

Clone this wiki locally