Skip to content

Templates and Document Generation

Credence can generate documents from Microsoft Word templates by replacing template variables with data from the relevant record. Templates are managed by template type and can be scoped to portfolios so each portfolio can use the document format that fits its reporting package.

Supported Template Types

Credence currently supports document templates for:

Template Type Generated From
Receivable Invoice Receivables, including rent invoices
Purchase Order Vendor contracts with purchase order type
Service Contract Vendor contracts with service contract type
Rent Adjustment Notification Leases with rent changes identified from Charge Rent
Indexation Notification Leases with indexation settings
Lease Abstract Leases
Capital Event Packet Summary Capital events and draw requests

Capital event packets are generated asynchronously. The packet summary is populated from the selected Word template, then invoice PDFs from linked payables can be merged into the final packet in production.

Managing Templates

Templates should be Microsoft Word files of type .docx or .doc.

When creating or editing a template:

  • Choose the template type that matches the document you want to generate.
  • Assign the relevant portfolios. Portfolio assignment controls which templates are available for a property-scoped record.
  • Mark one template as primary when it should be the default for its portfolio and template type.
  • Upload the Word template file containing the variables listed below.

Template Syntax

Use double curly braces for simple values:

{{ invoice_number }}
{{ total_amount }}

Use loops for lists:

{% for charge in charges %}
{{ charge.name }} - {{ charge.amount }}
{% endfor %}

Loop variable names are flexible. For example, inside {% for row in funding_breakdown_by_cost_code %}, use {{ row.display_name }} and {{ row.current_draw }}.

Variable naming notes

  • Annual rent and adjustment amounts are calculated as per-period amount × (12 ÷ months in the rent cadence). For monthly rent, that is twelve times the period amount.
  • Owning-entity fields (owning_entity_*) come from the property's parent legal entity, not from the property address itself.
  • Use the variable names in this guide. Generic charge lists use charges, non_tax_charges, and tax_charges for every supported document type.

Shared Fields

These fields may be available when the generated document has the related property, tenant, vendor, lease, or bank context.

All Documents

Database Value Template Variable
Today's date {{ today }}
Document generation timestamp {{ as_of }}

Property

Database Value Template Variable
Property name {{ property_name }}
Property reference ID {{ property_ref_id }}
Property address line 1 {{ property_address }}
Property address line 2 {{ property_address2 }}
Property address line 3 {{ property_address3 }}
Property city {{ property_city }}
Property state / region {{ property_state }}
Property ZIP / postal code {{ property_zip }}
Property country {{ property_country }}
Property registration number {{ property_registration_number }}
Property tax ID {{ property_tax_id }}
Property VAT / sales tax ID {{ property_vat_id }}
Property VAT / sales tax rate {{ property_vat_rate }}
Property ISO currency code {{ property_currency }}

Owning Entity

Database Value Template Variable
Owning entity name {{ owning_entity_name }}
Owning entity reference ID {{ owning_entity_ref_id }}
Owning entity address line 1 {{ owning_entity_address }}
Owning entity address line 2 {{ owning_entity_address2 }}
Owning entity address line 3 {{ owning_entity_address3 }}
Owning entity city {{ owning_entity_city }}
Owning entity state / region {{ owning_entity_state }}
Owning entity ZIP / postal code {{ owning_entity_zip }}
Owning entity country {{ owning_entity_country }}
Owning entity registration number {{ owning_entity_registration_number }}
Owning entity tax ID {{ owning_entity_tax_id }}
Owning entity VAT / sales tax ID {{ owning_entity_vat_id }}
Owning entity VAT / sales tax rate {{ owning_entity_vat_rate }}
Owning entity ISO currency code {{ owning_entity_currency }}

Bank Account

Database Value Template Variable
Bank account name {{ bank_account }}
Bank account number, or last 10 IBAN characters {{ bank_account_number }}
ACH routing number {{ bank_account_routing_number }}
IBAN {{ bank_account_iban }}
BIC / SWIFT code {{ bank_account_bic }} or {{ bank_account_swift }}
IBAN bank identifier segment {{ bank_number }}
Bank institution name {{ bank_account_institution }}

Tenant

Database Value Template Variable
Tenant display name {{ tenant }}
Tenant reference ID {{ tenant_ref_id }}
Tenant address line 1 {{ tenant_address }}
Tenant address line 2 {{ tenant_address2 }}
Tenant address line 3 {{ tenant_address3 }}
Tenant city {{ tenant_city }}
Tenant state / region {{ tenant_state }}
Tenant ZIP / postal code {{ tenant_zip }}
Tenant country {{ tenant_country }}
Tenant registration number {{ tenant_registration_number }}
Primary contact name {{ tenant_contact_name }}
Primary contact email {{ tenant_contact_email }}
Primary contact address line 1 {{ tenant_contact_address }}
Primary contact address line 2 {{ tenant_contact_address2 }}
Primary contact address line 3 {{ tenant_contact_address3 }}
Primary contact city {{ tenant_contact_city }}
Primary contact state / region {{ tenant_contact_state }}
Primary contact ZIP / postal code {{ tenant_contact_zip }}
Primary contact country {{ tenant_contact_country }}

Receivable Invoice Templates

Receivable Fields

Database Value Template Variable
Invoice / receivable reference number {{ invoice_id }} or {{ invoice_number }}
ISO currency code {{ receivable_currency }}
Accounting period {{ receivable_period }} or {{ accounting_period }}
Accounting period start date {{ receivable_period_start_date }}
Accounting period end date {{ receivable_period_end_date }}
Invoice sent date {{ invoice_date }} or {{ sent_date }}
Payment due date {{ due_date }}
Lease reference ID {{ lease_ref_id }}
Lease start date {{ lease_start_date }}
Lease end date {{ lease_end_date }}
Comma-separated lease unit names {{ lease_unit_names }}
Net amount, excluding tax {{ net_amount }}
Tax / VAT amount {{ tax_amount }}
Grand total {{ total_amount }}

Receivable invoice templates can also use the shared property, tenant, and bank account fields.

Receivable Charge Lists

List Template Variable
All charges, condensed by charge name charges
Non-tax charges, condensed by charge name non_tax_charges
Tax / VAT charges, condensed by charge name tax_charges
All charges, one row per receivable charge charges_by_account
Non-tax charges, one row per receivable charge non_tax_charges_by_account
Tax / VAT charges, one row per receivable charge tax_charges_by_account

Charge item fields inside a loop:

Database Value Template Variable
Charge name {{ charge.name }}
Charge description {{ charge.description }}
Formatted amount {{ charge.amount }}
Expense account {{ charge.account }}
Is tax / VAT charge {{ charge.is_tax_charge }}

Example:

{% for charge in charges %}
{{ charge.name }}: {{ charge.amount }}
{% endfor %}

Vendor Contract Templates

Vendor contract generation supports Purchase Order and Service Contract templates.

Contract Fields

Database Value Template Variable
PO / contract reference number {{ contract_ref_id }}
Contract display name {{ contract_name }}
Contract description {{ contract_description }}
Contract type key {{ contract_type }}
Contract type display label {{ contract_type_display }}
Date contract was executed {{ contract_executed_date }}
Earliest charge start date {{ contract_start_date }}
Latest charge end date {{ contract_end_date }}
ISO currency code {{ contract_currency }}
Net amount, excluding tax {{ net_amount }}
Tax / VAT amount {{ tax_amount }}
Grand total {{ total_amount }}

Vendor contract templates can also use the shared property and bank fields. The bank is selected from the first charge property's hierarchy, with the contract currency preferred. Each charge row includes its associated property context.

Vendor Fields

Database Value Template Variable
Vendor company name {{ vendor_name }}
Vendor reference ID {{ vendor_ref_id }}
Vendor address line 1 {{ vendor_address }}
Vendor address line 2 {{ vendor_address2 }}
Vendor address line 3 {{ vendor_address3 }}
Vendor city {{ vendor_city }}
Vendor state / region {{ vendor_state }}
Vendor ZIP / postal code {{ vendor_zip }}
Vendor country {{ vendor_country }}
Default payment terms {{ vendor_payment_terms }}
Primary contact name {{ vendor_contact_name }}
Primary contact email {{ vendor_contact_email }}
Primary contact address line 1 {{ vendor_contact_address }}
Primary contact address line 2 {{ vendor_contact_address2 }}
Primary contact address line 3 {{ vendor_contact_address3 }}
Primary contact city {{ vendor_contact_city }}
Primary contact state / region {{ vendor_contact_state }}
Primary contact ZIP / postal code {{ vendor_contact_zip }}
Primary contact country {{ vendor_contact_country }}

Vendor Charge Lists

List Template Variable
All charge line items charges
Non-tax charge line items non_tax_charges
Tax / VAT charge line items tax_charges

Fields available inside a charges, non_tax_charges, or tax_charges loop:

Database Value Template Variable
Charge name {{ charge.name }}
Charge description {{ charge.description }}
Formatted amount {{ charge.amount }}
Cost code display name {{ charge.cost_code }}
Charge start date {{ charge.start_date }}
Charge end date {{ charge.end_date }}
Expense account {{ charge.account }}
Associated property name {{ charge.property_name }}
Associated property address {{ charge.property_address }}
Associated unit {{ charge.unit }}
Associated lease {{ charge.lease }}
Is tax / VAT charge {{ charge.is_tax_charge }}

Cost code display names use the format name - description, such as 1000 - Site Work.

Indexation Notification Templates

Indexation notification templates are generated from leases.

Lease Indexation Fields

Database Value Template Variable
Lease reference ID {{ lease_ref_id }}
Lease start date {{ lease_start_date }}
Lease end date {{ lease_end_date }}
Comma-separated lease unit names {{ lease_unit_names }}
Index name {{ lease_index_name }}
Original index date {{ lease_index_date }}
Next scheduled index date {{ lease_next_index_date }}
Index cadence display label {{ lease_index_cadence }}
Minimum indexation constraint {{ lease_index_min }}
Maximum indexation constraint {{ lease_index_max }}
Fraction of index applied {{ lease_index_percentage }}
Index lag in months {{ lease_index_month }}

Draft Indexation Result Fields

Database Value Template Variable
Whether indexation can be performed {{ can_index }}
Date indexation takes effect {{ effective_index_date }}
Period selected for indexation {{ period_to_perform_indexation }}
Index period used for calculation {{ applicable_index_period }}
Prior index period {{ previous_index_period }}
Current index value {{ applicable_index_value }}
Prior index value {{ previous_index_value }}
Rate change as decimal {{ indexed_rate_change }}
Rate change as formatted percentage {{ indexed_percent_change }}

Indexation notification templates can also use the shared property, tenant, and bank fields.

Calculated Rent and Security Deposit Fields

Database Value Template Variable
Change in index value {{ change_in_index_value }}
New per-period rent amount {{ new_rent_amount }}
New annualized rent amount {{ new_annual_rent_amount }}
Annualized rent adjustment {{ annual_adjustment_amount }}
Previous security deposit {{ previous_security_deposit }}
New security deposit {{ new_security_deposit }}
Security deposit adjustment amount {{ security_deposit_adjustment_amount }}

Annualized rent equals the per-period rent multiplied by 12 ÷ months in the rent cadence.

Indexed Rent Charges

Database Value Template Variable
All lease charges charges
Non-tax lease charges non_tax_charges
Tax / VAT lease charges tax_charges
Lease charges condensed by description charges_by_description
Current rent and free-rent charges rent_charges
Total of those rent charges {{ current_net_rent }}

rent_charges and current_net_rent include rent and free rent only. Security deposit and other charge types are excluded from both.

Each row also includes the charge type, cadence, annual amount, per-area rate, unit area, unit names, and amendment label documented under Lease Charge Lists.

Charge fields inside a rent_charges loop:

Database Value Template Variable
Charge name {{ charge.name }}
Charge description {{ charge.description }}
Formatted amount {{ charge.amount }}
Charge start date {{ charge.start_date }}
Charge end date {{ charge.end_date }}
Expense account {{ charge.account }}
Associated property name {{ charge.property_name }}
Associated property address {{ charge.property_address }}
Is tax / VAT charge {{ charge.is_tax_charge }}

Rent Adjustment Notification Templates

Rent adjustment notification templates are generated from the Charge Rent workflow when a lease has a rent adjustment for the selected period. These templates receive lease, tenant, property, and bank context, plus the rent-adjustment fields below.

Rent Adjustment Fields

Database Value Template Variable
Period in which rent is adjusted {{ period_of_adjustment }}
Previous per-period rent amount {{ previous_rent_amount }}
New per-period rent amount {{ new_rent_amount }}
Per-period adjustment amount {{ adjustment_amount }}
Adjustment rate as formatted percentage {{ adjustment_percentage }}
Previous annualized rent amount {{ previous_annual_rent_amount }}
New annualized rent amount {{ new_annual_rent_amount }}
Annualized adjustment amount {{ annual_adjustment_amount }}

Annualized rent equals the per-period rent multiplied by 12 ÷ months in the rent cadence.

Rent adjustment templates receive the universal charges, non_tax_charges, tax_charges, and charges_by_description lease collections.

Common lease fields available to rent adjustment notification templates include:

Database Value Template Variable
Lease reference ID {{ lease_ref_id }}
Property name {{ property_name }}
Lease unit names {{ lease_unit_names }}
Lease unit floors {{ lease_unit_floors }}
Lease premises {{ lease_premises }}
Lease area {{ lease_leased_area }}
Lease execution date {{ lease_execution_date }}
Lease start date {{ lease_start_date }}
Lease end date {{ lease_end_date }}
Lease payment cadence {{ lease_payment_cadence }}
Lease index {{ lease_index_name }}
Lease index cadence {{ lease_index_cadence }}
Lease index percentage {{ lease_index_percentage }}
Lease index month {{ lease_index_month }}
Lease index minimum {{ lease_index_min }}
Lease index maximum {{ lease_index_max }}
Landlord name {{ lease_landlord }}
Guarantor name {{ lease_guarantor }}
Lease document index {{ lease_document_index }}
Security deposit amount {{ lease_security_deposit }}
Letter of credit amount {{ lease_letter_of_credit_amount }}
Lease year {{ lease_lease_year }}
Expense type {{ lease_expense_type }}
Pro rata share {{ lease_pro_rata_share }}
Base year {{ lease_base_year }}
Controllable expense cap percentage {{ lease_controllable_expense_cap_percentage }}
Gross-up percentage {{ lease_gross_up_percentage }}

Lease Abstract Templates

Lease Fields

Database Value Template Variable
Lease reference ID {{ lease_ref_id }}
Lease type {{ lease_type }}
Lease status {{ lease_status }}
Lease execution status {{ lease_execution_status }}
Lease start date {{ lease_start_date }}
Lease end date {{ lease_end_date }}
Rent commencement date {{ lease_rent_commencement_date }}
Lease execution date {{ lease_execution_date }}
Comma-separated lease unit names {{ lease_unit_names }}
Security deposit amount {{ lease_security_deposit }}
Leased area {{ lease_leased_area }}
Number of parking spaces {{ lease_parking_spaces }}
Landlord name {{ lease_landlord }}
Guarantor name {{ lease_guarantor }}

Lease abstract templates can also use the shared property, tenant, and bank fields and the common lease fields listed under Rent Adjustment Notification Templates.

Lease Charge Lists

List Template Variable
Rent charges only rent_charges
All lease charges charges
Non-tax lease charges non_tax_charges
Tax / VAT lease charges tax_charges
Lease charges condensed by description charges_by_description
CAM charges cam_charges
Free-rent charges freerent_charges

Formatted summaries are available as {{ cam_summary }} and {{ freerent_summary }}.

Charge fields inside either loop:

Database Value Template Variable
Charge name {{ charge.name }}
Charge description {{ charge.description }}
Formatted amount {{ charge.amount }}
Charge start date {{ charge.start_date }}
Charge end date {{ charge.end_date }}
Expense account {{ charge.account }}
Associated property name {{ charge.property_name }}
Associated property address {{ charge.property_address }}
Is tax / VAT charge {{ charge.is_tax_charge }}
Charge type display label {{ charge.type }}
Charge cadence display label {{ charge.cadence }}
Annualized amount {{ charge.annual_amount }}
Annualized amount per unit area {{ charge.per_area_rate }}
Total associated unit area {{ charge.unit_area }}
Comma-separated associated unit names {{ charge.unit }}
Head lease or amendment label {{ charge.amendment }}

Lease Options

Use lease_options for every active option or options_by_type for options grouped by type. Type-specific lists and summaries are available as <type>_options and <type>_options_summary, where <type> is one of:

market_rent_review, renewal, termination, expansion, contraction, purchase, relocation, right_of_first_offer, right_of_first_refusal, remeasurement_binding_area, go_dark, or sales_kickout.

Fields inside an option list are type, type_display, party, party_display, start_date, end_date, notice_period_months, penalty_fee_amount, terms, and amendment_number.

Lease Detail Language

Lease detail language is available under its configured detail key:

missing_documents, unexecuted_documents, expense_reimbursement_details, expense_reconciliation_details, audit_rights, tax_and_insurance_details, utility_details, secdep_interest_bearing_details, secdep_return_terms, timing_and_proration, percentage_rent_details, sales_reporting_requirements, late_charge_terms, permitted_use, restrictions, holdover_terms, subordination_terms, estoppel_terms, subletting_terms, casualty_and_condemnation_terms, maintenance_responsibilities, parking_terms, signage_terms, landlord_notice_info, tenant_notice_info, tenant_improvement_allowance, landlord_work, and additional_info_and_abnormalities.

Capital Event Packet Summary Templates

Capital event packet summary templates are generated from capital events and draw requests. The packet payload includes high-level event data, summary groupings, cost-code budget rows, invoice groupings, and project-level budget sections.

Capital Event Fields

Database Value Template Variable
Capital event type display label {{ event_type }}
Event date {{ event_date }}
Loan name {{ loan_name }}
Description {{ description }}
Total capital event amount {{ total_amount }}
Number of capital event items {{ num_items }}
Plural suffix for item count {{ num_items_ending }}
Uppercase plural suffix for item count {{ num_items_ending_capital }}
Number of properties {{ num_properties }}
Plural suffix for property count {{ num_properties_ending }}
Uppercase plural suffix for property count {{ num_properties_ending_capital }}

Funding Breakdown By Cost Code

Use funding_breakdown_by_cost_code for the packet budget table that matches the Capital Event Budget tab.

Cost-code row fields:

Database Value Template Variable
Cost code name {{ row.cost_code }}
Cost code description {{ row.description }}
Display name {{ row.display_name }}
Tree depth {{ row.depth }}
Whether row is top-level {{ row.is_top_level }}
Original budget {{ row.original_budget }}
Current budget {{ row.current_budget }}
Expected budget {{ row.expected_budget }}
Current budget per SF {{ row.current_budget_per_sf }}
Current budget per acre {{ row.current_budget_per_acre }}
Spent {{ row.spent }}
Approved spend {{ row.approved_spend }}
Invoiced {{ row.invoiced }}
Committed {{ row.committed }}
Contracted {{ row.contracted }}
Current draw {{ row.current_draw }}
Available budget {{ row.available }}
Child cost-code rows row.children

Funding breakdown total fields:

Database Value Template Variable
Original budget total {{ funding_breakdown_by_cost_code_totals.original_budget }}
Current budget total {{ funding_breakdown_by_cost_code_totals.current_budget }}
Expected budget total {{ funding_breakdown_by_cost_code_totals.expected_budget }}
Current budget per SF total {{ funding_breakdown_by_cost_code_totals.current_budget_per_sf }}
Current budget per acre total {{ funding_breakdown_by_cost_code_totals.current_budget_per_acre }}
Spent total {{ funding_breakdown_by_cost_code_totals.spent }}
Approved spend total {{ funding_breakdown_by_cost_code_totals.approved_spend }}
Invoiced total {{ funding_breakdown_by_cost_code_totals.invoiced }}
Committed total {{ funding_breakdown_by_cost_code_totals.committed }}
Contracted total {{ funding_breakdown_by_cost_code_totals.contracted }}
Current draw total {{ funding_breakdown_by_cost_code_totals.current_draw }}
Available budget total {{ funding_breakdown_by_cost_code_totals.available }}

The financial fields use the Development budget calculations:

  • Invoiced = Spent + Approved Spend.
  • Contracted = Invoiced + Committed.
  • Available = Current Budget − Spent − Approved Spend − Committed.

Miscellaneous lines and uncoded invoice rows appear as supplemental funding rows. Their budget and financial columns display N/A; their current draw amounts are included in funding_breakdown_by_cost_code_totals.current_draw.

Example:

{% for row in funding_breakdown_by_cost_code %}
{{ row.display_name }} | {{ row.expected_budget }} | {{ row.current_draw }}
{% for child in row.children %}
{{ child.display_name }} | {{ child.expected_budget }} | {{ child.current_draw }}
{% endfor %}
{% endfor %}

Total expected budget: {{ funding_breakdown_by_cost_code_totals.expected_budget }}

Invoices By Cost Code

List Template Variable
Invoices grouped by cost code invoices_by_cost_code

Cost-code invoice group fields:

Database Value Template Variable
Cost code name {{ group.cost_code }}
Cost code description {{ group.description }}
Display name {{ group.display_name }}
Subtotal {{ group.subtotal }}
Total {{ group.total }}
Invoices group.invoices

Invoice fields:

Database Value Template Variable
Invoice number {{ invoice.invoice_number }}
Invoice name {{ invoice.invoice_name }}
Payable name {{ invoice.payable_name }}
Vendor name {{ invoice.vendor_name }}
Job name {{ invoice.job }}
Cost code display {{ invoice.cost_code }}
Property name {{ invoice.property }}
Purchase order display {{ invoice.purchase_order }}
Received date {{ invoice.received_date }}
Amount {{ invoice.amount }}

Example:

{% for group in invoices_this_period_by_cost_code %}
{{ group.display_name }} - {{ group.total }}
{% for invoice in group.invoices %}
{{ invoice.invoice_number }} | {{ invoice.vendor_name }} | {{ invoice.amount }}
{% endfor %}
{% endfor %}

Generating Documents

Documents are generated from the relevant record page or workflow. When generation is available, select the appropriate template and submit the generation request. Credence queues the document in the background and attaches the generated document to the source record when it is ready.

Generated documents may take a few seconds to appear. Refresh the source record page to see the latest generated files.