User roles AdminStaff contributor✗ External contributor✗ Pulse user

This article explains how to set up a style bundle for Annual Accounts so you can export your accounts to PDF in Dutch, French, English, or German in a client file. It guides you through the full process, from creating the style bundle to generating the final export. Only admin users can create or edit styles.


Table of contents 

Creating Annual Accounts style bundle in Dutch, French or English

You can export Annual Accounts to PDF in different languages. Before you can generate the export in a client file, an admin user must set up a style bundle at office level. The style bundle defines the layout and formatting of the exported PDF.

Steps for Admin Users

Follow these steps to create your style for exporting Annual Accounts in Dutch, French, or English:

  1. Go to the office level.
  2. Open the Styles section.
  3. Scroll to the bottom and select the option to create a new style bundle.

Style settings

When creating the style:

  • Enter a clear, descriptive name in the language you want to export Annual Accounts.
  • Select the correct language. Choose Dutch, English, or French depending on the export you need.
  • Set the font size to 9.
  • Set side margin to 1.
  • Set bottom margin to 1.
  • Use one of the following fonts:
  • Arial. This is the font used by the NBB.
  • Calibri. Also supported.
These settings ensure the layout exports correctly. Using different values may shift the content. For example, headings may move or empty lines may appear.

Add the Required Liquid Code

When creating the style, you need to add liquid code in several places. This code determines how the annual accounts are structured and how the different sections are displayed in the PDF export. Be careful when editing this code. If you do not have experience with liquid templates, do not make any functional changes to it.

Table of Contents text

You can leave this section empty.

Detail Text 

Insert the following code in the Detail text section:

{% t= "Activa" fr:"Explication actif" en:"Assets" %}
{% t= "Passiva" fr:"Explication passif" en:"Liabilities" %}
{% t= "Kosten" fr:"Frais" en:"Loss" %}
{% t= "Opbrengsten" fr:"Produits" en:"Profit" %}
{% t= "Fiscale toelichting" fr:"Explication fiscale" en:"Extra reconciliations" %}





{% capture sf_default_detail_template %}
{% raw %}
{% unless current_account.details.count == 0 and current_account.value == 0 %}
{% for detail in current_account.details %}{% if forloop.first %}|-----|----14%-----:|-----14%------:+{% endif %}
| {{detail.title}}{% if detail.custom.text != blank %}<br/>{{detail.custom.text | multiline_table}}{% endif %}{% if detail.custom.document %}<br>{% input detail.custom.doc as:file %}{% endif %} |{% if current_account.liability_or_income %}{{-1*detail.value | currency}}{% else %}{{detail.value | currency}}{% endif %}| &nbsp; {% endfor %}
{% endunless %}
{% endraw %}
{% endcapture %}




{% for account_or_text in export.selected_accounts_and_reconciliation_texts.assets.include_zeros_with_details %}


{% if account_or_text.is_account %}


{% if forloop.first %}
{% if new_page %}{% newpage account_or_text.preferred_orientation %}{% endif %}{% assign new_page = true %}
{% changeorientation account_or_text.preferred_orientation %}
{::group}
# <font size="16">{% t "Activa" %}</font>
{% else %}
{% changeorientation account_or_text.preferred_orientation %}
{::group}
{% endif %}


|------------|------15%------:+{{export.highlight_alt_bg_color}}
| <font color="{{export.highlight_alt_text_color}}"><font color="{{export.highlight_alt_text_color}}">{{ account_or_text.number }} {{ account_or_text.name }}</font></font> | <font color="{{export.highlight_alt_text_color}}">{{ account_or_text.value | currency }}</font>


{{ account_or_text.rendered_template }}


{:/group}
{::padding /}
  
{% else %}


{% if forloop.first %}
{% if new_page %}{% newpage account_or_text.preferred_orientation %}{% endif %}{% assign new_page = true %}
{% changeorientation account_or_text.preferred_orientation %}
{::group}
# <font size="16">{% t "Activa" %}</font>
{% else %}
{% changeorientation account_or_text.preferred_orientation %}
{::group}
{% endif %}


|--------+{{export.highlight_alt_bg_color}}
|<font color="{{export.highlight_alt_text_color}}">{{ account_or_text.name }}</font>


{{ account_or_text.rendered_template }}


{:/group}
{::padding /}


{% endif %}


{% endfor %}
























{% for account_or_text in export.selected_accounts_and_reconciliation_texts.liabilities.include_zeros_with_details %}


{% if account_or_text.is_account %}


{% if forloop.first %}
{% if new_page %}{% newpage account_or_text.preferred_orientation %}{% endif %}{% assign new_page = true %}
{% changeorientation account_or_text.preferred_orientation %}
{::group}
# <font size="16">{% t "Passiva" %}</font>
{% else %}
{% changeorientation account_or_text.preferred_orientation %}
{::group}
{% endif %}


|------------|------15%------:+{{export.highlight_alt_bg_color}}
| <font color="{{export.highlight_alt_text_color}}"><font color="{{export.highlight_alt_text_color}}">{{ account_or_text.number }} {{ account_or_text.name }}</font></font> | <font color="{{export.highlight_alt_text_color}}">{{ -1*account_or_text.value | currency }}</font>


{{ account_or_text.rendered_template }}


{:/group}
{::padding /}
  
{% else %}


{% if forloop.first %}
{% if new_page %}{% newpage account_or_text.preferred_orientation %}{% endif %}{% assign new_page = true %}
{% changeorientation account_or_text.preferred_orientation %}
{::group}
# <font size="16">{% t "Passiva" %}</font>
{% else %}
{% changeorientation account_or_text.preferred_orientation %}
{::group}
{% endif %}


|--------+{{export.highlight_alt_bg_color}}
|<font color="{{export.highlight_alt_text_color}}">{{ account_or_text.name }}</font>


{{ account_or_text.rendered_template }}


{:/group}
{::padding /}


{% endif %}


{% endfor %}






















{% for account_or_text in export.selected_accounts_and_reconciliation_texts.revenues.include_zeros_with_details.6 %}


{% if account_or_text.is_account %}


{% if forloop.first %}
{% if new_page %}{% newpage account_or_text.preferred_orientation %}{% endif %}{% assign new_page = true %}
{% changeorientation account_or_text.preferred_orientation %}
{::group}
# <font size="16">{% t "Kosten" %}</font>
{% else %}
{% changeorientation account_or_text.preferred_orientation %}
{::group}
{% endif %}


|------------|------15%------:+{{export.highlight_alt_bg_color}}
| <font color="{{export.highlight_alt_text_color}}"><font color="{{export.highlight_alt_text_color}}">{{ account_or_text.number }} {{ account_or_text.name }}</font></font> | <font color="{{export.highlight_alt_text_color}}">{{ account_or_text.value | currency }}</font>


{{ account_or_text.rendered_template }}


{:/group}
{::padding /}
  
{% else %}


{% if forloop.first %}
{% if new_page %}{% newpage account_or_text.preferred_orientation %}{% endif %}{% assign new_page = true %}
{% changeorientation account_or_text.preferred_orientation %}
{::group}
# <font size="16">{% t "Kosten" %}</font>
{% else %}
{% changeorientation account_or_text.preferred_orientation %}
{::group}
{% endif %}


|--------+{{export.highlight_alt_bg_color}}
|<font color="{{export.highlight_alt_text_color}}">{{ account_or_text.name }}</font>


{{ account_or_text.rendered_template }}


{:/group}
{::padding /}


{% endif %}


{% endfor %}










{% for account_or_text in export.selected_accounts_and_reconciliation_texts.revenues.include_zeros_with_details.7 %}


{% if account_or_text.is_account %}


{% if forloop.first %}
{% if new_page %}{% newpage account_or_text.preferred_orientation' %}{% endif %}{% assign new_page = true %}
{% changeorientation account_or_text.preferred_orientation %}
{::group}
# <font size="16">{% t "Opbrengsten" %}</font>
{% else %}
{% changeorientation account_or_text.preferred_orientation %}
{::group}
{% endif %}




|------------|------15%------:+{{export.highlight_alt_bg_color}}
| <font color="{{export.highlight_alt_text_color}}"><font color="{{export.highlight_alt_text_color}}">{{ account_or_text.number }} {{ account_or_text.name }}</font></font> | <font color="{{export.highlight_alt_text_color}}">{{ -1*account_or_text.value | currency }}</font>


{{ account_or_text.rendered_template }}


{:/group}
{::padding /}
  
{% else %}


{% if forloop.first %}
{% if new_page %}{% newpage account_or_text.preferred_orientation %}{% endif %}{% assign new_page = true %}
{% changeorientation account_or_text.preferred_orientation %}
{::group}
# <font size="16">{% t "Opbrengsten" %}</font>
{% else %}
{% changeorientation account_or_text.preferred_orientation %}
{::group}
{% endif %}


|--------+{{export.highlight_alt_bg_color}}
|<font color="{{export.highlight_alt_text_color}}">{{ account_or_text.name }}</font>


{{ account_or_text.rendered_template }}


{:/group}
{::padding /}


{% endif %}


{% endfor %}
























{% for account_or_text in export.selected_accounts_and_reconciliation_texts.8 %}


{% if account_or_text.is_account %}


{% if forloop.first %}
{% if new_page %}{% newpage account_or_text.preferred_orientation %}{% endif %}{% assign new_page = true %}
{% changeorientation account_or_text.preferred_orientation %}
{::group}
# <font size="16">{% t "Fiscale toelichting" %}</font>
{% else %}
{% changeorientation account_or_text.preferred_orientation %}
{::group}
{% endif %}




|------------|------15%------:+{{export.highlight_alt_bg_color}}
| <font color="{{export.highlight_alt_text_color}}"><font color="{{export.highlight_alt_text_color}}">{{ account_or_text.number }} {{ account_or_text.name }}</font></font> | <font color="{{export.highlight_alt_text_color}}">{{ account_or_text.value | currency }}</font>


{{ account_or_text.rendered_template }}


{:/group}
{::padding /}
  
{% else %}


{% if forloop.first %}
{% if new_page %}{% newpage account_or_text.preferred_orientation %}{% endif %}{% assign new_page = true %}
{% changeorientation account_or_text.preferred_orientation %}
{::group}
# <font size="16">{% t "Fiscale toelichting" %}</font>
{% else %}
{% changeorientation account_or_text.preferred_orientation %}
{::group}
{% endif %}


|--------+{{export.highlight_alt_bg_color}}
|<font color="{{export.highlight_alt_text_color}}">{{ account_or_text.name }}</font>


{{ account_or_text.rendered_template }}


{:/group}
{::padding /}


{% endif %}


{% endfor %}




{% for account_or_text in export.selected_accounts_and_reconciliation_texts.9 %}
  {% unless forloop.first %}{% newpage %}{% endunless %}
  {::group}
  {% comment %}Removed because Intercom#20378434918: {% changeorientation account_or_text.preferred_orientation %}{% endcomment %}
  {{ account_or_text.rendered_template }}
  {:/group}
{% endfor %}


{% assign taxtech_accounts_and_reconciliations = export.selected_accounts_and_reconciliation_texts | range:"taxtech_" %}


{% for account_or_text in taxtech_accounts_and_reconciliations %}


{% if account_or_text.is_account %}


{% if forloop.first %}
{% if new_page %}{% newpage account_or_text.preferred_orientation %}{% endif %}{% assign new_page = true %}
{% changeorientation account_or_text.preferred_orientation %}
{::group}
# <font size="16">{% t "Fiscale toelichting" %}</font>
{% else %}
{% changeorientation account_or_text.preferred_orientation %}
{::group}
{% endif %}




|------------|------15%------:+{{export.highlight_alt_bg_color}}
| <font color="{{export.highlight_alt_text_color}}"><font color="{{export.highlight_alt_text_color}}">{{ account_or_text.number }} {{ account_or_text.name }}</font></font> | <font color="{{export.highlight_alt_text_color}}">{{ account_or_text.value | currency }}</font>


{{ account_or_text.rendered_template }}


<br>


{:/group}


{% else %}


{% if forloop.first %}
{% if new_page %}{% newpage account_or_text.preferred_orientation %}{% endif %}{% assign new_page = true %}
{% changeorientation account_or_text.preferred_orientation %}
{::group}
# <font size="16">{% t "Fiscale toelichting" %}</font>
{% else %}
{% changeorientation account_or_text.preferred_orientation %}
{::group}
{% endif %}


|--------+{{export.highlight_alt_bg_color}}
|<font color="{{export.highlight_alt_text_color}}">{{ account_or_text.name }}</font>


{{ account_or_text.rendered_template }}


<br>


{:/group}


{% endif %}


{% endfor %}


{% comment %}BE legal docs{% endcomment %}
{% assign be_legal_docs_accounts_and_reconciliations = export.selected_accounts_and_reconciliation_texts | range:"be_legal_" %}


{% for account_or_text in be_legal_docs_accounts_and_reconciliations %}


{% if forloop.first %}
{% if new_page %}{% newpage account_or_text.preferred_orientation %}{% endif %}{% assign new_page = true %}
{% changeorientation account_or_text.preferred_orientation %}
{::group}
{% else %}
{% newpage account_or_text.preferred_orientation %}
{::group}
{% endif %}


{{ account_or_text.rendered_template }}


<br>


{:/group}


{% endfor %}


{% comment %}BE PIT EUQ{% endcomment %}
{% assign be_pit_euq_accounts_and_reconciliations = export.selected_accounts_and_reconciliation_texts | range:"be_pit_euq_" %}


{% for account_or_text in be_pit_euq_accounts_and_reconciliations %}


{% if forloop.first %}
{% if new_page %}{% newpage account_or_text.preferred_orientation %}{% endif %}{% assign new_page = true %}
{% changeorientation account_or_text.preferred_orientation %}
{::group}
{% else %}
{% newpage account_or_text.preferred_orientation %}
{::group}
{% endif %}


{{ account_or_text.rendered_template }}


<br>


{:/group}


{% endfor %}


{% comment %}BE PIT WP{% endcomment %}
{% assign be_pit_wp_accounts_and_reconciliations = export.selected_accounts_and_reconciliation_texts | range:"be_pit_" %}


{% for account_or_text in be_pit_wp_accounts_and_reconciliations %}
{% unless account_or_text.handle contains "be_pit_euq" %}
{% if forloop.first %}
{% if new_page %}{% newpage account_or_text.preferred_orientation %}{% endif %}{% assign new_page = true %}
{% changeorientation account_or_text.preferred_orientation %}
{::group}
{% else %}
{% newpage account_or_text.preferred_orientation %}
{::group}
{% endif %}


{{ account_or_text.rendered_template }}


<br>


{:/group}
{% endunless %}
{% endfor %}


Cover page

Use example code provided below:

<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>


->**<font color="485668" size ="16">{{company.name}} {{company.company_form}}</font>**<br><font size ="16">{{company.street}}<br>{{company.city}}</font><-


-><font size ="14">{{company.vat_identifier}}</font><-


<br>
<br>


->**<font color="485668" size ="16">REPORTING PERIOD</font>**<br><font size ="16">{{period.year_start_date | date: '%-d-%m-%Y' | upcase}} - {{period.end_date | date: '%-d-%m-%Y' | upcase}}</font><-

Title Text

Use this code:

<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>


|------|------:+
||<font size="18"><font color="FFFFFF">{{page_title.title}}</font></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

Header Text

Use this code:

|:-----|-------:+
| <br>{{company.name}} {{company.vat_identifier}}|<br>{{period.name}}<br>{{export.header_text}}

Use this code:

|--:+
|{{page.number}}

Do not change liquid code unless you have experience with liquid templates. 

Define the Content of the Style

After you finish configuring the style settings, you must define the content.

  1. Click on 'Edit content' button.
  2. Drag the Accounts block to the center.
  3. Select the 'Annual Accounts' section. 

Why some Templates appear twice

  • Some titles may appear twice in the list.
  • This happens because the annual accounts use different models. The system does not allow one template to link to multiple models. These are not true duplicates. Each title links to a different underlying model.

Tip: Once you have created a style bundle in one language, you can copy it to create versions in other languages. This saves time and helps keep your layout consistent across all exports. 

How to create PDF export of Annual Accounts in German?

To support German translation, update the translation block in the Detail text section.

  1. Make a copy of existing Annual Accounts Style Bundle. Read on how to copy in the following article: How to copy and delete a style bundle? 
  2. Select German in language settings. 
  3. Replace the existing translation code with:
{% t= "Activa" fr:"Explication actif" en:"Assets" de:"Aktiva" %}
{% t= "Passiva" fr:"Explication passif" en:"Liabilities" de:"Passiva" %}
{% t= "Kosten" fr:"Frais" en:"Loss" de:"Aufwendungen" %}
{% t= "Opbrengsten" fr:"Produits" en:"Profit" de:"Erträge" %}
{% t= "Fiscale toelichting" fr:"Explication fiscale" en:"Extra reconciliations" de:"Fiskale Anhänge" %}

This change is enough to enable German translations.

If German does not appear in the language list, contact your customer success manager. They can enable it through the advanced settings of your firm.

Once your style bundle is set up, it can be used across any client file to produce clean and consistent Annual Accounts PDF exports. If you run into issues when setting up the style bundle, reach out to the support team. They can help you adjust your setup so your exports always look as expected.

Generating Annual Accounts PDF export in a file

  1. From the Client Overview page, select Export from the top panel. This will take you to the export section.
  2. Click the New Export button.
  3. Choose a pre-set Annual Accounts export bundle from the drop-down menu.
  4. Click the green Generate Export button to create the export pack.
  5. Once the export pack is ready, you'll be taken to the Export History page. Click on the generated document title to open it.