CASE Annual Accounts (BE): link custom templates to Silverfin module of the Annual Accounts

The Silverfin module of the BE Annual Accounts links to a set of reconciliation templates to take values automatically: it’s the recon templates of “Fixed Assets” and “Leases and loans” which are made by details on account level.

This case has the goal to explain how we link to the reconciliation templates, which values we take so your custom templates can be updated in order to work with our BE Annual Accounts templates.

First of all, each reconciliation template that has the needed values for the Annual Accounts, has to have the correct handle:

Fixed Assets (Vaste Activa - Actif immobilisé): used handle = vaste_activa
Leases and Loans (Leasingen en leningen - Emprunts et locations-financements): used handle = leasingen_leningen

These handles have to be used (and no other), because it’s in the code of the BE Annual Accounts to look to those templates specifically.

We now will look at each recon template to see which values can be taken from them through result-tags:

Leases and loans:

We need certain values of the leases and loans, and take them into specific result-tags (the names of these result-tags cannot be anything else obviously):

less than 1 year: schulden_1j (code 42 in the BE Annual Accounts)
more than 1 year and less than 5 year: schulden_1_5j (code 8912 in the BE Annual Accounts)
more than 5 year: schulden_5j (code 8913 in the BE Annual Accounts)

So, for your custom template that can be linked to the BE Annual Accounts regarding “loans and leases” 2 things need to be done:

  • add or rename the handle to leasingen_leningen
  • add these result-tags: schulden_1j, schulden_1_5j and schulden_5j

If you have the needed info only in account templates, then you’ll need to create a new recon template that takes these values.
This is our source code of the recon template of Leases and loans:

{% comment %}VERTALINGEN{% endcomment %}
{% t= "Dit sjabloon wordt automatisch opgebouwd via de rekeningsjablonen op de 42 of 17" fr:"Cet modèle à créé automatiquement par les modèles au niveau du 42 ou 17" en:"This reconciliation is automatically built up using the account templates 42 and 17" %}
{% t= "Contract" fr:"Contrat" en:"Contract" %}
{% t= "Kredietverstrekker" fr:"Prêteur" en"Lender" %}
{% t= "Einddatum" fr:"Date de fin" en:"End date" %}
{% t= "Bedrag" fr:"Montant" en:"Amount" %}
{% t= "1 jaar" fr:"1 an" en:"1 year" %}
{% t= "jaar" fr:"ans" en:"year" %}
{% t= "Totaal" fr:"Total" en:"Total" %}
{% t= "Kredietverstrekker" fr:"Emprunteur" en:"lender" %}
{% t= "contractnummer" fr:"nr. Contrat" en:"Contract nr." %}
{% t= "doel" fr:"but"  en:"goal"%}
{% t= "ontleend bedrag" fr:"montant emprunté" en:"amount loaned" %}
{% t= "rentevoet" fr:"taux d'intérêt" en:"intrest rate" %}
{% t= "duur" fr:"durée" en:"duration" %}
{% t= "datum overeenkomst" fr:"date convention" en:"date of agreement" %}
{% t= "eerste vervaldag" fr:"première date d'échéance" en:"first experation date" %}
{% t= "laatste vervaldag" fr:"dernière date d'échéance" en:"last expiration date" %}
{% t= "begin saldo" fr:"solde début" en:"first balance" %}
{% t= "eind saldo" fr:"solde final" en:"end balance" %}
{% t= "opmerking" fr:"remarque" en:"comment" %}
{% t= "Eventuele opmerkingen" fr:"remarques eventuelles" en:"additional comments" %}
{% t= "Omschrijving" fr:"Description" en:"Description" %}
{% t= "Extra toelichting" fr:"Explication supplémentaire" en:"Additional explanation" %}
{% t= "extra toelichting" fr:"explication supplémentaire" en:"additional explanation" %}
{% t= "Andere leningen op minder dan 1 jaar" fr:"Autres emprunts à un an au plus" en:"Other loans less than one year" %}
{% t= "Andere leningen tussen 1 jaar en 5 jaar" fr:"Autres emprunts entre un an et cinq ans" en:"Other loans between one year and 5 years" %}
{% t= "Andere leningen meer dan 5 jaar" fr:"Autres emprunts à plus de cinq ans" en:"Other loans more than 5 years" %}
{% t= "Saldo" fr:"Solde" en:"Balance" %}

{% comment %}TABELLEN{% endcomment %}

{% ic %}*{% t "Dit sjabloon wordt automatisch opgebouwd via de rekeningsjablonen op de 42 of 17" %}:*{% endic %} {% input custom.accounts.numbers_42 as:account_collection range:4,17 accounts_var:accounts_42 %}

{% stripnewlines %}
| {% t "Contract" %} nr. 
| {% t "Kredietverstrekker" %} 
| {% t "Einddatum" %}  
| {% t "Bedrag" %}  
| < {% t "1 jaar" %} 
| > {% t "1 jaar" %} 
| > 2 {% t "jaar" %} 
| > 3 {% t "jaar" %} 
| > 4 {% t "jaar" %} 
| &gt;1&nbsp;{% t "jaar" %}&nbsp;&lt;5&nbsp;{% t "jaar" %} 
| > 5 {% t "jaar" %}
{% newline %}
|----------|----------|----------:|--------:|---------:|---------:|---------:|---------:|---------:|----------------:|----------:+
{% for account in accounts_42.include_zeros_with_details %}
  {% assign details = account.details | sort:'date' %}
  {% assign $20 = 0 %}
  
  {% comment %}for each account, take the not-explained differences as well{% endcomment %}
  {% assign diff_min_1_year = account.results.diff_min_1_year %} {% comment %}to be taken into < 1 year{% endcomment %}
  {% assign diff_more_1_year = account.results.diff_more_1_year %} {% comment %}to be taken into > 1 year{% endcomment %} 

  {% newline %}
  | {% linkto account %}{{ account.custom.lening.contractnummer }}{% endlinkto %}
  | {{ account.custom.lening.ontlener }} 
  | {{ account.custom.lening.laatste_vervaldag | date:'%d/%m/%Y' }} 
  | {{ account.custom.lening.ontleend_bedrag | currency }}
  | {% for d in details %} 
      {% if period.year_end_date-d.date == 0 %} 
        {% assign till_index = forloop.index | plus:3 %} 
        {% for i in (forloop.index0..till_index) %} 
          {% assign next_index = i | plus:1 %}
          {% if forloop.index0 == 0 %}
            {% assign value = details[i].custom.eind_saldo-details[next_index].custom.eind_saldo+diff_min_1_year %}
          {% else %}
            {% comment %}take difference > 1 year into account if last year is less than 5 year; we check that on end value of next detail{% endcomment %}
            {% assign no_next_end_value = false %}
            {% assign current_end_value = false %}
            {% assign last_year_payment = false %}
            {% if details[next_index].custom.eind_saldo == 0 %}
              {% assign no_next_end_value = true %}
            {% elsif details[next_index].custom.eind_saldo == blank %}  
              {% assign no_next_end_value = false %}
            {% elsif details[next_index].custom.eind_saldo > 0 %} 
              {% assign no_next_end_value = false %}            
            {% endif %}
            {% if details[i].custom.eind_saldo > 0 %}
              {% assign current_end_value = true %}
            {% elsif details[i].custom.eind_saldo == blank %}  
              {% assign current_end_value = false %}
            {% elsif details[i].custom.eind_saldo == 0 %}
              {% assign current_end_value = false %}
            {% endif %}
            {% if no_next_end_value and current_end_value  %}
              {% assign value = details[i].custom.eind_saldo-details[next_index].custom.eind_saldo+diff_more_1_year %}
            {% else %}
              {% assign value = details[i].custom.eind_saldo-details[next_index].custom.eind_saldo %}
            {% endif %}  
          {% endif %}
          {% if forloop.index0 != 0 %}
            {% $20+ value %}
          {% endif %} 
          {{ value | currency }}
          | {% if forloop.last %}
              {%=$10+ $20 %}  
              | {% if details[next_index].custom.eind_saldo > 0 %}
                  {%=$11+ details[next_index].custom.eind_saldo+diff_more_1_year %}
                {% else %}
                  {%=$11+ details[next_index].custom.eind_saldo %}
                {% endif %}  
            {% endif %}
            {% case forloop.index %}
              {% when 1 %}
                {% $1+ value %}
              {% when 2 %}
                {% $2+ value %}
              {% when 3 %}
                {% $3+ value %}
              {% when 4 %}
                {% $4+ value %}
              {% when 5 %}
                {% $5+ value %}
            {% endcase %}
        {% endfor %}
        {% break %}
      {% endif %}
    {% endfor %} 
    {% if forloop.last %}
      {% newline %}
      | **{% t "Totaal" %}**     
      |      
      |            
      |         
      | **{{ $1 | currency }}{% result 'schulden_1j' $1 %}**
      | **{{ $2 | currency }}**
      | **{{ $3 | currency }}**
      | **{{ $4 | currency }}**
      | **{{ $5 | currency }}**
      | **{{ $10 | currency }}{% result 'schulden_1_5j' $10 %}**
      | **{{ $11 | currency }}{% result 'schulden_5j' $11 %}**
    {% endif %}
{% endfor %}
{% endstripnewlines %}

<hr>

{% input custom.accounts.numbers_less1y as:account_collection range:4,17 accounts_var:accounts_less1y %}{% ifi accounts_less1y != blank %}*{% t "Andere leningen op minder dan 1 jaar" %}:*

{% for account in accounts_less1y.include_zeros_with_details %}{% assign details = account.details | sort:'date' %}
{%if forloop.first %}

| {% t "Omschrijving" %} | {% t "Saldo" %}{%endif%} 
|:-----------80%------------|---------20%---------:+
|{% linkto account %}{{ account.name }} {{ account.number }}{% endlinkto %}|{% =$31+ ABS(account.value) | currency %}{% if forloop.last %}
|**{% t "Totaal" %}**   |**{{ $31 | currency }}{% result 'andere_1j' $31 %}**{% endif %}{% endfor %}

{%endifi%}

<hr>

{% input custom.accounts.numbers_1yto5y as:account_collection range:4,17 accounts_var:accounts_1yto5y %}{% ifi accounts_1yto5y != blank %}*{% t "Andere leningen tussen 1 jaar en 5 jaar" %}:*

{% for account in accounts_1yto5y.include_zeros_with_details %}{% assign details = account.details | sort:'date' %}
{%if forloop.first %}

| {% t "Omschrijving" %} | {% t "Saldo" %}{%endif%}
|:-----------80%-------------|---------20%---------:+
|{% linkto account %}{{ account.name }} {{ account.number }}{% endlinkto %}|{% =$32+ ABS(account.value) | currency %}{% if forloop.last %}
|**{% t "Totaal" %}**   |**{{ $32 | currency }}{% result 'andere_1_5j' $32 %}**{% endif %}{% endfor %}

{%endifi%}

<hr>

{% input custom.accounts.numbers_more5y as:account_collection range:4,17 accounts_var:accounts_more5y %}{% ifi accounts_more5y != blank %}*{% t "Andere leningen meer dan 5 jaar" %}:*

{% for account in accounts_more5y.include_zeros_with_details %}{% assign details = account.details | sort:'date' %}
{%if forloop.first %}

| {% t "Omschrijving" %} | {% t "Saldo" %}{%endif%}
|:---------80%---------------|----------20%--------:+
|{% linkto account %}{{ account.name }} {{ account.number }}{% endlinkto %}|{% =$33+ ABS(account.value) | currency %}{% if forloop.last %}
|**{% t "Totaal" %}**   |**{{ $33 | currency }}{% result 'andere_5j' $33 %}**{% endif %}{% endfor %}

{%endifi%}

<hr>

{% comment %}EXTRA TOELICHTING{% endcomment %}

{% ifi custom.leas_len.bijlage.document or custom.leas_len.extra_toelichting != blank %}
**{% t "Extra toelichting" %}** 
{% input custom.leas_len.bijlage as:file %}

{% input custom.leas_len.extra_toelichting as:text placeholder:'extra toelichting' %}{% endifi %} 

So you see we can call on the needed values like this:

{{ period.reconciliations.leasingen_leningen.results.schulden_1j | currency }}
{{ period.reconciliations.leasingen_leningen.results.schulden_1_5j | currency }}
{{ period.reconciliations.leasingen_leningen.results.schulden_1_5j | currency }}

Fixed Assets

Certain values are needed here as well to push them to the related BE Annual Account templates. These need to be taken as well into specific result-tags.
In our recon template, we create an array for this:

{% assign category_jr_result_names = "opr_kosten;imm_vaste_act;terr_en_geb;inst_mach_en_uitr;meub_en_rm;leasing_en_soort;andere_mva;act_in_aanbouw;fin_va_act" | split:";" %} 

These are all separate segments of the BE Annual Accounts templates regarding fixed assets, and each segment will be used to create unique result-tags:

{% assign cat_key = category_jr_result_names[category_index] %}
{% assign cat_key_aw_begin_bj = cat_key | append:'_aw_begin_bj' %}{% result cat_key_aw_begin_bj $1 %}
{% assign cat_key_inv_plus_bj = cat_key | append:'_inv_plus_bj' %}{% result cat_key_inv_plus_bj $3 %}
{% assign cat_key_inv_min_bj = cat_key | append:'_inv_min_bj' %}{% result cat_key_inv_min_bj $4 %}
{% assign cat_key_aw_einde_bj = cat_key | append:'_aw_einde_bj' %}{% result cat_key_aw_einde_bj $2 %}
{% assign cat_key_af_begin_bj = cat_key | append:'_af_begin_bj' %}{% result cat_key_af_begin_bj $5 %}
{% assign cat_key_af_plus_bj = cat_key | append:'_af_plus_bj' %}{% result cat_key_af_plus_bj $6 %}
{% assign cat_key_af_min_bj = cat_key | append:'_af_min_bj' %}{% result cat_key_af_min_bj $7 %}
{% assign cat_key_af_einde_bj = cat_key | append:'_af_einde_bj' %}{% result cat_key_af_einde_bj $8 %}
{% assign cat_key_netto_bw_bj = cat_key | append:'_netto_bw_bj' %}{% result cat_key_netto_bw_bj $9 %}

So, we’ll loop over all segments, use the name of the segment and add the name of a “sub” segment to create unique result tags.
Meaning, for the investments done during the year for the segment imm_vaste_act we’ll create the result-tag imm_vaste_act_inv_plus_bj

This is the source code of our template Fixed Assets:

{% t= "OPRICHTINGSKOSTEN" fr:"FRAIS DE CONSTITUTION" en:"FORMATION EXPENSES" %}
{% t= "IMMATERIËLE VASTE ACTIVA" fr:"IMMOBILISATIONS INCORPORELLES" en:"INTANGIBLE FIXED ASSETS" %}
{% t= "MATERIËLE VASTE ACTIVA" fr:"IMMOBILISATIONS CORPORELLES" en:"FIXED ASSETS" %}
{% t= "TOTAAL" fr:"TOTAL DES" en:"TOTAL" %}
{% t= "Terreinen en gebouwen" fr:"Terrains et bâtiments" en:"Land and buildings" %}
{% t= "Installaties, machines en uitrusting" fr:"Installations, machines et outillage" en:"Plant, machines and fixtures" %}
{% t= "Meubilair en rollend materieel" fr:"Mobilier et matériel roulant" en:"Furniture and vehicles" %}
{% t= "Leasing en soortgelijke rechten" fr:"Droits de location-financement et assimilées" en:"Leasings and similar rights" %}
{% t= "Activa in aanbouw" fr:"Actifs en cours" en:"Fixed assets under construction" %}
{% t= "Andere materiële vaste activa" fr:"Autre actifs immobiliés matériels" en:"Other fixed assets" %}
{% t= "Omschrijving" fr:"Déscription" en:"Description" %}
{% t= "Aanschaffingswaarde" fr:"Valeur d'acquisition" en:"Cost of acquisition" %}
{% t= "Buiten gebruik gestelde activa" fr:"Actifs mis hors d'usage" en:"Tangible fixed assets removed from operation" %}
{% t= "Verkoopfactuur" fr:"Facture de vente" en:"Sales invoice" %}
{% t= "Geboekte afschrijvingen" fr:"Amortissements comptabilisés" en:"Booked depreciations" %}
{% t= "Investeringen" fr:"Investissements" en:"Investments" %}
{% t= "Afschrijvingen" fr:"Amortissements" en:"Depreciations" %}
{% t= "Boekwaarde" fr:"Valeur comptable" en:"Book value" %}
{% t= "FINANCIËLE VASTE ACTIVA" fr:"IMMOBILISATIONS FINANCIERES" en:"FINANCIAL FIXED ASSETS" %}


{% assign categories = "OPRICHTINGSKOSTEN;IMMATERIËLE VASTE ACTIVA;Terreinen en gebouwen|Installaties, machines en uitrusting|Meubilair en rollend materieel|Leasing en soortgelijke rechten|Andere materiële vaste activa|Activa in aanbouw;FINANCIËLE VASTE ACTIVA" | split: ";" %}
{% assign category_titles = ";;MATERIËLE VASTE ACTIVA" | split:";" %}
{% assign category_jr_result_names = "opr_kosten;imm_vaste_act;terr_en_geb;inst_mach_en_uitr;meub_en_rm;leasing_en_soort;andere_mva;act_in_aanbouw;fin_va_act" | split:";" %}
{% assign category_index = -1 %}

|--15%--|--2%--:|:--32%--:|--2%--:|--------:|--2%--:|:--32%--------------:|--2%--:|--9%--:+
|       |       |_**{% t "Investeringen" %}**_| |     |       |_**{% t "Afschrijvingen" %}**_|        | &nbsp; |

| |{{ period.year_start_date | date:'%d/%m/%Y' }}| + | - | {{ period.year_end_date | date:'%d/%m/%Y' }}| |{{ period.year_start_date | date:'%d/%m/%Y' }}| + | - | {{ period.year_end_date | date:'%d/%m/%Y' }}| {% t "Boekwaarde" %}
|--15%--|--9%--:|:--9%--:|:--9%--:|--9%--:|------:|--9%--:|:--9%--:|:--9%--:|--9%--:|--9%--:+

{% for top_categories in categories %}{% assign category_title = category_titles[forloop.index0] %}{% if category_title != blank %}
|--15%--|--9%--:|--9%--:|--9%--:|--9%--:|------:|--9%--:|--9%--:|--9%--:|--9%--:|--9%--:+
| **{% t category_title %}**{% endif %}{% assign local_categories = top_categories | split:"|" %}{% assign $31 = 0 %}{% assign $33 = 0 %}{% assign $34 = 0 %}{% assign $32 = 0 %}{% assign $35 = 0 %}{% assign $36 = 0 %}{% assign $37 = 0 %}{% assign $38 = 0 %}{% assign $39 = 0 %}{% for category in local_categories %}{% assign category_index = category_index | plus:1 %}{% assign the_accounts = period.accounts.include_zeros | range:custom.accounts[category_index] %}{% ifi custom.accounts[category_index] != blank %}{% assign $1 = 0 %}{% assign $2 = 0 %}{% assign $3 = 0 %}{% assign $4 = 0 %}{% assign $5 = 0 %}{% assign $6 = 0 %}{% assign $7 = 0 %}{% assign $8 = 0 %}{% assign $9 = 0 %}

|--15%--|--9%--:|--9%--:|--9%--:|--9%--:|------:|--9%--:|--9%--:|--9%--:|--9%--:|--9%--:+
| **{% t category %}** {% input custom.accounts[category_index] as:account_collection range:2 %}{% for account in the_accounts %}
{% stripnewlines %}
  {% assign $20 = 0 %}{% assign $21 = 0 %}{% assign $22 = 0 %}{% assign $23 = 0 %}{% assign $24 = 0 %}{% assign $25 = 0 %}
  {% assign $10 = 0 %}{% assign $11 = 0 %}{% assign $12 = 0 %}{% assign $13 = 0 %}{% assign $14 = 0 %}

{% if category == "FINANCIËLE VASTE ACTIVA" %}
    {% $24+ account.results.kapitaalverhoging_vorige+account.results.kapitaalvermindering_vorige+account.results.oprichting_vorige+account.results.aankopen_vorige+account.results.verkopen_vorige+account.results.saldo_totaal-account.results.toevoeging_ditjaar+account.results.terugname_ditjaar %}
    {% $25+ account.results.aankopen_ditjaar+account.results.toevoeging_ditjaar+account.results.kapitaalverhoging_ditjaar %}
    {% $20+ account.results.verkopen_ditjaar+account.results.terugname_ditjaar+account.results.kapitaalvermindering_ditjaar %}
    {% $21+ -account.results.toevoeging_waarvermindering_vorige-account.results.terugname_waarvermindering_vorige %}
    {% $22+ account.results.toevoeging_waarvermindering_ditjaar %}
    {% $23+ account.results.terugname_waarvermindering_ditjaar %}
{% else %}
    {% $24+ account.results.aanschafVorige+account.results.aanschafDesinvVorige %}
    {% $25+ account.results.aanschafDitjaar+account.results.aanschafDesinvDitjaar %}
    {% $20+ account.results.aanschafDesinvDitjaar+account.results.aanschafDesinvVorige %}
    {% $21+ account.results.depVorige+account.results.depDesinvVorige %}
    {% $22+ account.results.depDitjaar+account.results.depDesinvDitjaar %}
    {% $23+ account.results.depDesinvDitjaar+account.results.depDesinvVorige %}
{% endif %}
  | {{ account.link }}
  | {% unexplained $24-account.opening_value as:indicator %} {% =$1+ $24 | currency %}
  | {% =$10+input custom[account.number].invest_min placeholder_default:$25 as:currency %}  {% $3+ $10 %}
  | {% =$11+input custom[account.number].invest_plus placeholder_default:$20 as:currency %} {% $4+ $11 %}
  {% assign total_investments = $24+$10-$11 %}
  | {% unexplained total_investments-account.value as:indicator %} {%=$2+ total_investments %}|{% assign number_size = account.number | size %}
    {% assign other_account_number = account.number | slice: 0, number_size-1 | append:'9' %}
    {% input custom.other_accounts[account.number] as:account_collection range:2 default:other_account_number %}
    {% if custom.other_accounts[account.number] != blank %}{% assign other_account_number = custom.other_accounts[account.number] %}{% endif %}
    {% assign other_accounts = period.accounts.include_zeros | range:other_account_number %}
    {% assign other_account = other_accounts | first %}
  | {% =$12+input custom[account.number].afschr_opening placeholder_default:$21 as:currency %} {% $5+ $12 %}
  | {% =$13+input custom[account.number].afschr_min placeholder_default:$22 as:currency %}     {% $6+ $13 %}
  | {% =$14+input custom[account.number].afschr_plus placeholder_default:$23 as:currency %}    {% $7+ $14 %}
  {% assign total_deprec = $12+$13-$14 %}
  | {% unexplained total_deprec+other_accounts.value as:indicator %} {% linkto other_account %}{%=$8+ total_deprec %}{% endlinkto %}
  | {%=$9+ total_investments-total_deprec | currency %}
{% endstripnewlines %}{% if forloop.last %}
| |**{% =$31+ $1 %}**|**{% =$33+ $3 %}**|**{% =$34+ $4 %}**| **{% =$32+ $2 %}**| |**{% =$35+ $5 %}**|**{% =$36+ $6 %}**|**{% =$37+ $7 %}**| **{% =$38+ $8 %}** | **{% =$30+ $9 %}{% $39+ $9 %}**{% stripnewlines %}
{% assign cat_key = category_jr_result_names[category_index] %}
{% assign cat_key_aw_begin_bj = cat_key | append:'_aw_begin_bj' %}{% result cat_key_aw_begin_bj $1 %}
{% assign cat_key_inv_plus_bj = cat_key | append:'_inv_plus_bj' %}{% result cat_key_inv_plus_bj $3 %}
{% assign cat_key_inv_min_bj = cat_key | append:'_inv_min_bj' %}{% result cat_key_inv_min_bj $4 %}
{% assign cat_key_aw_einde_bj = cat_key | append:'_aw_einde_bj' %}{% result cat_key_aw_einde_bj $2 %}
{% assign cat_key_af_begin_bj = cat_key | append:'_af_begin_bj' %}{% result cat_key_af_begin_bj $5 %}
{% assign cat_key_af_plus_bj = cat_key | append:'_af_plus_bj' %}{% result cat_key_af_plus_bj $6 %}
{% assign cat_key_af_min_bj = cat_key | append:'_af_min_bj' %}{% result cat_key_af_min_bj $7 %}
{% assign cat_key_af_einde_bj = cat_key | append:'_af_einde_bj' %}{% result cat_key_af_einde_bj $8 %}
{% assign cat_key_netto_bw_bj = cat_key | append:'_netto_bw_bj' %}{% result cat_key_netto_bw_bj $9 %}
{% endstripnewlines %}{% endif %}{% endfor %}{% endifi %}

{% if forloop.last %}
{% if category_title != blank %}
|--15%--|--9%--:|--9%--:|--9%--:|--9%--:|------:|--9%--:|--9%--:|--9%--:|--9%--:|--9%--:+
| **{% t "TOTAAL" %} {% t category_title %}**|**{{ $31 | currency }}{% result 'mva_aw_begin_bj' $31 %}**|**{{ $33 | currency }}{% result 'mva_inv_plus_bj' $33 %}**|**{{ $34 | currency }}{% result 'mva_inv_min_bj' $34 %}**|**{{ $32 | currency }}{% result 'mva_aw_einde_bj' $32 %}**||**{{ $35 | currency }}{% result 'mva_af_begin_bj' $35 %}**|**{{ $36 | currency }}{% result 'mva_af_plus_bj' $36 %}**|**{{ $37 | currency }}{% result 'mva_af_min_bj' $37 %}**|**{{ $38 | currency }}{% result 'mva_af_einde_bj' $38 %}**|**{{ $39 | currency }}{% result 'mva_netto_bw' $39 %}**{% endif %}{% endif %}

{% ifi custom.accounts[category_index] != blank %}
{% nic %}
{:/group}
{::group}
{% endnic %}
{% endifi %}

{% endfor %}

{% if forloop.last %}

|--15%--|--9%--:|--9%--:|--9%--:|--9%--:|------:|--9%--:|--9%--:|--9%--:|--9%--:|--9%--:+
|
| |                       |                        |                     |                      |   |   |           |               |               | **{{ $30 | currency }}**{% endif %}


{% endfor %}

So, these are all result -tags we call upon in the BE Annual Accounts templates:

code 8059P: period.reconciliations.vaste_activa.results.imm_vaste_act_aw_begin_bj
code 8029: period.reconciliations.vaste_activa.results.imm_vaste_act_inv_plus_bj
code 8039: period.reconciliations.vaste_activa.results.imm_vaste_act_inv_min_bj
code 8129P: period.reconciliations.vaste_activa.results.imm_vaste_act_af_begin_bj
code 8079: period.reconciliations.vaste_activa.results.imm_vaste_act_af_plus_bj
code 8109: period.reconciliations.vaste_activa.results.imm_vaste_act_af_min_bj

code 8199P: period.reconciliations.vaste_activa.results.mva_aw_begin_bj
code 8169: period.reconciliations.vaste_activa.results.mva_inv_plus_bj
code 8179: period.reconciliations.vaste_activa.results.mva_inv_min_bj
code 8329P: period.reconciliations.vaste_activa.results.mva_af_begin_bj
code 8279: period.reconciliations.vaste_activa.results.mva_af_plus_bj
code 8309: period.reconciliations.vaste_activa.results.mva_af_min_bj

code 8395P: period.reconciliations.vaste_activa.results.fin_va_act_aw_begin_bj
code 8365: period.reconciliations.vaste_activa.results.fin_va_act_inv_plus_bj
code 8375: period.reconciliations.vaste_activa.results.fin_va_act_inv_min_bj
code 8525P: period.reconciliations.vaste_activa.results.fin_va_act_af_begin_bj
code 8475: period.reconciliations.vaste_activa.results.fin_va_act_af_plus_bj
code 8485: period.reconciliations.vaste_activa.results.fin_va_act_af_min_bj


Now, of course it depends on how your custom template are configured that have the needed values. If the needed values are first made on account level, then they need to be linked to reconciliation templates with the right handles and correct results.
If you have any questions regarding linking values from account level to a reconciliation template, don’t hesitate to ask here.


If you’re not sure on how to reference values across templates, then I can advise this nice read:

Hi Sven

In the past we have made a custom account template that was linked to the reconciliation template ‘Leasingen en lening’ and to the annual accounts.
Since the update of the code the link betweet the account template and the reconciliation template does not seem to work anymore.

I have tried to add the result-tags as suggested in your article.
But I do not seem te get it right.
Can you help us out?
The code of our custom account template is the following:

{% comment %}Translations{% endcomment %}
{% t= “Contract nr.” fr:“Nr. Contrat” en:“Contract nr.” %}
{% t= “Bank” fr:“Banque” en:“Bank” %}
{% t= “Doel” fr:“But” en:“Subject” %}
{% t= “begin” fr:“début” en:“start” %}
{% t= “jaar” fr:“an” en:“year” %}
{% t= “jaren” nl:“jaar” en:“years” fr:“ans” %}
{% t= “Saldo” fr:“Solde” en:“Balance” %}
{% t= “Afgelost” fr:“Capital” en:“Repayment” %}
{% t= “Intrest” fr:“Intérêt” en:“Intrest” %}
{% t= “kapitaal” fr:“amorti” en:“capital” %}
{% t= “Duur” fr:“Durée” en:“Duration” %}
{% t= “Boekjaar” fr:“Exercice” en:“Fiscal year” %}
{% t= “Intresten” fr:“An” en:“Intrest” %}
{% t= “eind” fr:“final” en:“final” %}
{% t= “saldo” fr:“solde” en:“balance” %}
{% t= “Waarborg” fr:“Caution” en:“Warranty”%}
{% t= “TOTAAL” fr:“TOTAL” en:“TOTAL” %}
{% t= “Kredietverstrekker” fr:“Prêteur” en:“Lender” %}
{% t= “17-rekening” fr:“compte-17” en:“account-17” %}
{% t= “Ontleend bedrag” fr:“Montant emprunté” en:“Amount loaned” %}
{% t= “Rentevoet” fr:“Taux d’intérêt” en:“Intrest rate” %}
{% t= “Datum overeenkomst” fr:“Date convention” en:“Contract date” %}
{% t= “Eerste vervaldag” fr:“Première date d’échéance” en:“First expiration date” %}
{% t= “Laatste vervaldag” fr:“Dernière date d’échéance” en:“Last expiration date” %}
{% t= “Aflossingtabel” fr:“Tableau d’amortissements” en:“Amortisation table” %}
{% t= “af te lossen per einde boekjaar” fr:“Solde à la fin de l’exercice” en:“to be repaid at the end of the year” %}
{% t= “af te lossen binnen het jaar” fr:“Solde à moins d’un an” en:“to be repaid within the year” %}
{% t= “af te lossen op meer dan één jaar” fr:“Solde à plus d’un an” en:“to be repaid more than one year” %}
{% t= “kredietverstrekker” fr:“prêteur” en:“lender” %}
{% t= “contractnummer” fr:“nr. contrat” en:“contract nr.” %}
{% t= “doel” fr:“but” en:“subject” %}
{% t= “ontleend bedrag” fr:“montant emprunté” en:“total loan amount” %}
{% t= “rentevoet” fr:“taux d’intérêt” en:“intrest rate” %}
{% t= “duur” fr:“durée” en:“duration” %}
{% t= “datum overeenkomst” fr:“date convention” en:“contract date” %}
{% t= “eerste vervaldag” fr:“première date d’échéance” en:“first expiration date” %}
{% t= “laatste vervaldag” fr:“dernière date d’échéance” en:“last expiration date” %}
{% t= “Beginsaldo” fr:“Solde initial” en:“Starting balance” %}
{% t= “Eindsaldo” fr:“Solde final” en:“End balance” %}
{% t= “opmerking” fr:“remarque” en:“comment” %}
{% t= “Extra toelichting” fr:“Explication supplémentaire” en:“Additional explanation” %}
{% t= “verschil” fr:“Différence” en:“Difference” nl:“Verschil” %}
{% t= “min_1_year” fr:“Rembourser dans l’année” en:“Pay off within the year” nl:“Verschil af te lossen binnen het jaar” %}
{% t= “more_1_year” fr:“Rembourser la différence sur plus d’un an” en:“Pay off the difference on more than one year” nl:“Verschil af te lossen op meer dan één jaar” %}
{% t= “niet_verklaard” fr:“Différence non expliquée” en:“Not explained difference” nl:“Niet verklaard verschil” %}
{% t= “kredietverstrekker” fr:“prêteur” en:“lender” %}
{% t= “date” nl:“datum” fr:“date” en:“date” %}
{% t= “extra_toelichting” nl:“extra toelichting” fr:“explication supplémentaire” en:“additional explanation” %}
{% t= “eind_saldo” nl"eindsaldo" fr:“solde final” en"final balance" %}
{% t= “Omschrijving is verplicht in te geven” fr:“Description est nécessaire” en:“Description is needed” %}
{% t= “Geef hier einddatum op van het betrokken boekjaar” fr:“Spécifiez ici la date d’échéance de l’exercice concerné” en:“Give the enddate of the involved bookyear here” %}

{% comment %}make selectable acc range variable, by using following code for instance
{% assign range_loans = “42,48,41” %}
– update the range between " " and put the above line in the extra configuration box
{% endcomment %}
{% assign range_loans = range_loans | default:“17” %}
{% comment %}make selectable acc range variable, by using following code for instance
{% assign range_intrest = “65” %}
– update the range between " " and put the above line in the extra configuration box
{% endcomment %}
{% assign range_intrest = range_intrest | default:“65” %}

{% capture current_account_id %}{{ current_account.id }}{% endcapture %}
{% ic %}{% t “17-rekening” %}: {% endic %}{% input custom[current_account_id].account_17 as:account_collection range:range_loans %}{% assign account_17 = period.accounts.include_zeros | range:custom[current_account_id].account_17 %}
{% if account_17.first %}{{ account_17.first.name }} ({{account_17.first.number}}){% endif %}
{% ic %}{% t “65-rekening” %}: {% endic %}{% input custom[current_account_id].account_65 as:account_collection range:range_intrest %}{% assign account_65 = period.accounts.include_zeros | range:custom[current_account_id].account_65 %}
{% if account_65.first %}{{ account_65.first.name }} ({{account_65.first.number}}){% endif %}

{% assign d = custom.lening %}

|----------25%-------|----------+
| {% t “Kredietverstrekker” %} | {% input d.ontlener placeholder:“kredietverstrekker” %}
| {% t “Contract nr.” %} {% input custom.detail2.doc as:file %} | {% input d.contractnummer %}
| {% t “Doel” %} | {% input d.doel %}
| {% t “Ontleend bedrag” %} | {% input d.ontleend_bedrag as:currency %}
| {% t “Rentevoet” %} | {% input d.rentevoet %}
| {% t “Duur” %} | {% input d.duur %}
| {% t “Datum overeenkomst” %}    | {% input d.datum_overeenkomst as:date %}
| {% t “Eerste vervaldag” %} | {% input d.eerste_vervaldag as:date %}
| {% t “Laatste vervaldag” %} | {% input d.laatste_vervaldag as:date %}{% ifi d.doc.document %}
| {% t “Aflossingtabel” %} | {% input d.doc as:file %}{% endifi %}

{% addnewinputs %}
{% assign details = current_account.custom.details | sort:‘date’ %}
{% endaddnewinputs %}

{% capture info_enddate %}{::infotext as=“hover”}{% t “Geef hier einddatum op van het betrokken boekjaar” %}{:/infotext}{% endcapture %}

|
{% t “Boekjaar” %} {% ic %}{{ info_enddate }}{% endic %}|
{% t “Beginsaldo” %} | {% t “Afgelost” %}
{% t “kapitaal” %} |
{% t “Eindsaldo” %}|
{% t “Intresten (65)” %}|
<1 {% t “jaar” %} (42)|
>1 {% t “jaar” %} (17)|
>1 {% t “jaar” %} <5 {% t “jaren” %}|
> 5 {% t “jaren” %}
|--------|---------------:|---------------------:|----------------------:|-------------:|----------------:|-----------:|-----------:|--------------:|-----------:+{% for detail in details %}{% assign period_year_end_date = period.year_end_date | date:’%s’ %}{% assign detail_date = detail.date | date:’%s’ %}{% assign d = detail.custom %}{% capture b %}{% if period_year_end_date-detail_date == 0 %}**{% endif %}{% endcapture %}
{% stripnewlines %}
| {{b}}{% input detail.date as:date %}{{b}}
| {% assign previous_saldo = previous_saldo | default:0 %}
{{b}}{% input d.begin_saldo as:currency placeholder_default:previous_saldo %}{{b}}
{% assign previous_saldo = d.begin_saldo | default:previous_saldo %}
| {{b}}{{ previous_saldo-d.eind_saldo | currency }}{{b}}
| {% assign previous_saldo = d.eind_saldo %}
{{b}}{% input d.eind_saldo as:currency placeholder:“0,00” %}{{b}}
| {{b}} {% $4+input d.Intresten as:currency %}
| {% if details[forloop.index].custom.begin_saldo != blank %}{% assign min_1_jaar = details[forloop.index].custom.begin_saldo-details[forloop.index].custom.eind_saldo %}{% else %}{% assign min_1_jaar = d.eind_saldo-details[forloop.index].custom.eind_saldo %}{% endif %}
{{b}}{{ min_1_jaar | currency }}{{b}}
| {% assign more_1_year = previous_saldo-min_1_jaar %}
{{b}}{{ more_1_year | currency }}{{b}}
| {% assign outer_loop_index = forloop.index %}
{% for i in (0…4) %}
{% assign last_index = outer_loop_index | plus:4 | minus:i %}
{% if details[last_index] and details[last_index].custom.persisted %}
{% assign plus_5y = details[last_index].custom.eind_saldo %}
{% break %}
{% endif %}
{% endfor %}
{{b}}{{ more_1_year-plus_5y | currency }}{{b}}
| {{b}}{{ plus_5y | currency }}{{b}}
{% if detail.custom.persisted %}
{% if period_year_end_date-detail_date == 0 %}
{% assign last_saldo = previous_saldo%}
{% assign last_min_1_jaar = min_1_jaar%}
{% endif %}
{% endif %}
{% endstripnewlines %}{% endfor %}

{% comment %}create info tag; it’s needed that a description is put in. IF NOT: numbers will not be pushed to recon template and annual accounts{% endcomment %}
{% capture input_needed %}
{::infotext as=“hover”}
{% t “Omschrijving is verplicht in te geven” %}
{:/infotext}
{% endcapture %}

{% capture table_dif %}
{% stripnewlines %}
|–25%–
|–65%–
|----:+
{% newline %}
{% assign dif1 = account_17.value+(last_saldo-last_min_1_jaar) %}
{% assign dif2 = current_account.value+last_min_1_jaar %}
{% assign total_dif = dif1+dif2 %}
|
|
|
{% newline %}
| {% t “verschil” %}
|
| {{ total_dif | currency }}
{% newline %}
{% ifi custom.min_1_year != empty %}
| {% t “min_1_year” %}
{% ic %}{{ input_needed }}{% endic %}
|
| {% newline %}
{% endifi %}
{% fori inputbox in custom.min_1_year %}
| {% input inputbox.box1 placeholder:"" %}
|
| {%=$0+input custom.[inputbox.key].box2 placeholder:"" as:currency %}
{% newline %}
{% endfori %}
{% ifi custom.more_1_year != empty %}
| {% t “more_1_year” %}
{% ic %}{{ input_needed }}{% endic %}
|
|
{% newline %}
{% endifi %}
{% fori inputbox in custom.more_1_year %}
| {% input inputbox.box1 placeholder:"" %}
|
| {%=$1+input custom.[inputbox.key].box2 placeholder:"" as:currency %}
{% newline %}
{% endfori %}
| {% t “niet_verklaard” %}
|
| {{ total_dif+$0+$1 | currency }}
{% endstripnewlines %}
{% endcapture %}

{% comment %}take differences in result-tags{% endcomment %}
{% result ‘diff_min_1_year’ $0 %}
{% result ‘diff_more_1_year’ $1 %}

{% ifi total_dif != 0 %}
{{ table_dif }}
{% endifi %}

|-------|----15%----:|----15%----:|----15%------:+
|
| {% t “af te lossen per einde boekjaar” %}| {{ last_saldo | currency}}
| {% t “af te lossen binnen het jaar” %} | {% unreconciled current_account.value+last_min_1_jaar+$0 as:indicator %} {{ last_min_1_jaar+$0 | currency}}
| {% t “af te lossen op meer dan één jaar” %}| {% unreconciled account_17.value+(last_saldo-last_min_1_jaar)+$1 as:indicator %} {{ last_saldo-last_min_1_jaar+$1 | currency}}
| {% t “betaalde intresten” %} | {{ account_65 | currency }}

{% ifi custom.detail.eventuele_opmerkingen != blank or custom.waarborgen.size != 0 %}
{% endifi %}

{% fori waarborg in custom.waarborgen %}{% if forloop.first %}
|----------15%-------|–+{% endif %}
|{% t “Waarborg” %} | {% input waarborg.opmerking %}{% endfori %}
{% ifi custom.detail.eventuele_opmerkingen != blank %}
|{% t “Extra toelichting” %}|{% input custom.evt_opm.bijlage as:file %}

{% input custom.detail.eventuele_opmerkingen as:text placeholder:“extra_toelichting” %}
{% endifi %}

Kind regards

Siel

Hi @SielMingels

Can you try adding the following result in your account template:

{% result 'details_loans' 'details_made_for_loans' %}

Kind regards
Wouter

Dear Sven,

we have created a number of templates with the aim of linking them to the annual accounts (i.e. some boxes will be filled in automatically). Based on your post, I understand that it is only possible to create a link for Fixed assets and loans. Is this still the case? Do you have any solution?

Many thanks in advance for your support :wink:

Dear Mehdi

It is possible to retrieve data from all reconciliation templates. This can be done by e.g. period.reconciliations.HANDLE.results.RESULTNAME or you can also access a custom directly at period.reconciliations.HANDLE.custom.NAMESPACE.KEY.

You can read more here: https: //developer.silverfin.com/docs/result

Kind Regards
Thomas

Dear Thomas,

this is not really what I am looking for, maybe my explanation was not clear enough or I misunderstood :wink:

I would like some sections of the annual accounts to be filled in automatically based on the templates we have created. To avoid double typing. For instance, if we use your Fixed Asset template, the disclosures of the annual accounts are partially filled in automatically.

My question is : can we establish the same kind of automated link with our own template and for other disclosures of the annual accounts (i.e. other than Fixed assets and loan)

Many thanks
Mehdi

Hi @Mehdi_Haddouch_BE

The Fixed Assets and Debts annual accounts templates already expect certain result values because they are linked to our working paper templates. So the possibility of automatically feeding a value to a code depends on whether or not the code in the annual account already expects a certain result value.

Do you have an example of certain codes in the annual accounts you would like to feed automatically? I can take a look and see if a link is already possible.

Kind regards
Wouter

Hi Wouter

As example, we would like to link the disclosure VOL10 (social balance) with a created template. we have created a template to automatically calculate the amounts to be reported on the below boxes => the goal will be then to have the below boxes filled in automatically with a link with our template

Many thanks & Best regards

@Mehdi_Haddouch_BE

Unfortunately the values in the template VOL 10 only expect the values from the inputs in the template itself at the moment, but don’t expect any incoming result values from external templates.

Can you send an overview of the annual accounts templates & codes you would need to have linked to support@silverfin.com so our product managers can pick it up from there and look into helping you further?

Kind regards
Wouter