{% set period_end_date = '' %} {% set closing_balance = 0 %} {% set cumulative_total = 0 %} {% for key, period_entity in periods_data %}
{% for entity in period_entity[1] %} {% set period_start_date = key %} {% set period_end_date = period_entity[0] %} {% if loop.first %} {% set opening_balance = opening_balance + cumulative_total %} {% if opening_balance >= 0 %} {% else %} {% endif %} {% endif %} {% if loop.last %} {% set closing_balance = opening_balance + cumulative_total %} {% if closing_balance <= 0 %} {% else %} {% endif %} {% endif %} {% endfor %}
Date Entry Type Reference Description Debit Credit Cumulative
Opening balance as at {{ period_start_date | date('Y-m-d') }} {{ d2_config('currency_symbol') }} {{ opening_balance | number_format(2, '.', ' ') }} {{ d2_config('currency_symbol') }} {{ opening_balance | number_format(2, '.', ' ') | trim('-') }}
{{ entity.getDate() | date('Y-m-d') }} {% if entity.getInvoiceNumber() is not empty %} Tax Invoice {% elseif entity.getCreditNoteNumber() is not empty %} Credit Note {% elseif entity.getDebitNoteNumber() is not empty %} Debit Note {% elseif entity.getPaymentCode() is not empty %} Payment {% elseif entity.getRefundCode() is not empty %} Refund {% else %} Transaction {% endif %} {% if entity.getInvoiceNumber() is not empty %} {{ entity.getInvoiceNumber() | trim }} {% elseif entity.getCreditNoteNumber() is not empty %} {{ entity.getCreditNoteNumber() | trim }} {% elseif entity.getDebitNoteNumber() is not empty %} {{ entity.getDebitNoteNumber() | trim }} {% elseif entity.getPaymentCode() is not empty %} {{ entity.getPaymentCode() | trim }} {% elseif entity.getRefundCode() is not empty %} {{ entity.getRefundCode() | trim }} {% endif %} {{ entity.description | trim }} {% if entity.getInvoiceNumber() is not empty %} {{ d2_config('currency_symbol') }} {{ entity.getTotal() | number_format(2, '.', ' ') | trim('-') }} {% set cumulative_total = cumulative_total + entity.getTotal() %} {% elseif entity.getDebitNoteNumber() is not empty %} {{ d2_config('currency_symbol') }} {{ entity.getTotal() | number_format(2, '.', ' ') | trim('-') }} {% set cumulative_total = cumulative_total + entity.getTotal() %} {% elseif entity.getTotal() >= 0 and entity.getCreditNoteNumber() is empty and entity.getPaymentCode() is empty %} {{ d2_config('currency_symbol') }} {{ entity.getTotal() | number_format(2, '.', ' ') | trim('-') }} {% set cumulative_total = cumulative_total + entity.getTotal() %} {% endif %} {% if entity.getCreditNoteNumber() is not empty %} {{ d2_config('currency_symbol') }} {{ entity.getTotal() | abs | number_format(2, '.', ' ') }} {% set cumulative_total = cumulative_total + entity.getTotal() %} {% elseif entity.getPaymentCode() is not empty %} {{ d2_config('currency_symbol') }} {{ entity.getTotal() | abs | number_format(2, '.', ' ') }} {% set cumulative_total = cumulative_total + entity.getTotal() %} {% elseif entity.getTotal() < 0 and entity.getInvoiceNumber() is empty and entity.getDebitNoteNumber() is empty %} {{ d2_config('currency_symbol') }} {{ entity.getTotal() | number_format(2, '.', ' ') | trim('-') }} {% set cumulative_total = cumulative_total + entity.getTotal() %} {% endif %} {{ d2_config('currency_symbol') }} {{ cumulative_total | number_format(2, '.', ' ') }}
Closing balance as at {{ period_end_date | date('Y-m-d') }} {{ d2_config('currency_symbol') }} {{ closing_balance | abs | number_format(2, '.', ' ') }} {{ d2_config('currency_symbol') }} {{ closing_balance | number_format(2, '.', ' ') | trim('-') }}


{% endfor %}
{% if cumulative_total <= 0 %} {% else %} {% endif %}
TOTAL CLOSING BALANCE AS AT {{ period_end_date | date('Y-m-d') }} {{ d2_config('currency_symbol') }} {{ cumulative_total | abs | number_format(2, '.', ' ') }} {{ d2_config('currency_symbol') }} {{ cumulative_total | number_format(2, '.', ' ') | trim('-') }}