2024-04-19 19:58:32 +02:00
<table class="table table-condensed table-hover table-responsive">
2022-01-29 14:15:34 +01:00
<thead>
<tr>
{% if showCategory or showBudget %}
<td colspan="7" class="no-margin-pagination"> {{ groups.links ( 'pagination.bootstrap-4' )| raw }} </td>
{% else %}
<td colspan="6" class="no-margin-pagination"> {{ groups.links ( 'pagination.bootstrap-4' )| raw }} </td>
{% endif %}
<td colspan="1" class="hidden-xs">
<!-- Single button -->
2026-03-14 06:02:40 +01:00
<div class="btn-group btn-group-xs action-menu pull-right hidden">
2022-01-29 14:15:34 +01:00
<button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false">
2026-03-14 06:02:40 +01:00
{{ 'actions' | _ }} <span class="caret"></span>
2022-01-29 14:15:34 +01:00
</button>
<ul class="dropdown-menu dropdown-menu-right">
<li><a href="#" class="mass-edit"><span class="fa fa-fw fa-pencil"></span>
<span class="txt"> {{ 'mass_edit' | _ }} </span></a></li>
<li><a href="#" class="bulk-edit"><span class="fa fa-fw fa-pencil-square-o"></span>
<span class="txt"> {{ 'bulk_edit' | _ }} </span></a></li>
<li><a href="#" class="mass-delete"><span class="fa fa-fw fa-trash"></span>
<span class="txt"> {{ 'mass_delete' | _ }} </span></a></li>
</ul>
</div>
</td>
<td colspan="1" class="hidden-xs">
<div class="pull-right">
<input id="list_ALL" value="1" name="select-all" type="checkbox" class="select-all form-check-inline"/>
</div>
</td>
</tr>
<tr>
<th class="hidden-xs"> </th>
<th> {{ trans ( 'list.description' ) }} </th>
2026-04-22 07:54:53 +02:00
<th class="text-right"> {{ trans ( 'list.amount' ) }} </th>
2025-12-26 20:02:09 +01:00
{% if fireflyiiiconfig ( 'use_running_balance' , true ) %}
2026-04-22 07:54:53 +02:00
<th class="text-right"> {{ trans ( 'list.running_balance' ) }} </th>
2025-04-26 14:20:00 +02:00
{% endif %}
2024-11-08 21:13:41 +01:00
<th> {{ trans ( 'list.date' ) }} </th>
2022-01-29 14:15:34 +01:00
<th> {{ trans ( 'list.source_account' ) }} </th>
<th> {{ trans ( 'list.destination_account' ) }} </th>
{% if showCategory %}
<th class="hidden-xs"> {{ trans ( 'list.category' ) }} </th>
{% endif %}
{% if showBudget %}
<th class="hidden-xs"> {{ trans ( 'list.budget' ) }} </th>
{% endif %}
<th class="hidden-xs"> </th><!-- actions -->
<th class="hidden-xs"> </th><!-- checkbox -->
</tr>
</thead>
<tbody>
{% for group in groups %}
{% if group.count > 1 %}
2026-03-14 06:16:53 +01:00
<tr class="top-light-border">
<td colspan="2" class="top-light-border">
2022-01-29 14:15:34 +01:00
<small><strong>
2023-09-05 19:34:46 +02:00
<a href=" {{ route ( 'transactions.show' , [ group.id ]) }} "
2022-01-29 14:15:34 +01:00
title=" {{ group.title }} "> {{ group.title }} </a>
</strong></small>
</td>
2026-03-14 06:16:53 +01:00
<td colspan="1" class="text-right top-light-border">
2022-01-29 14:15:34 +01:00
{% for sum in group.sums %}
{% if group.transaction_type == 'Deposit' %}
2025-02-01 11:44:56 +01:00
{{ formatAmountBySymbol ( sum.amount *- 1 , sum.currency_symbol , sum.currency_decimal_places ) }}
2025-08-01 12:31:01 +02:00
{% if convertToPrimary and 0 != sum.pc_amount %}
2026-02-07 06:32:11 +01:00
(~ {{ formatAmountBySymbol ( sum.pc_amount *- 1 , primaryCurrency.symbol , primaryCurrency.decimal_places ) }} )
2025-02-01 11:44:56 +01:00
{% endif %}
{% if loop .index != group.sums | length %} , {% endif %}
2024-12-23 14:35:27 +01:00
2022-01-29 14:15:34 +01:00
{% elseif group.transaction_type == 'Transfer' %}
2023-03-25 11:33:42 +01:00
<span class="text-info money-transfer">
2025-02-01 11:44:56 +01:00
{{ formatAmountBySymbol ( sum.amount *- 1 , sum.currency_symbol , sum.currency_decimal_places , false ) }}
2025-08-01 12:31:01 +02:00
{% if convertToPrimary and 0 != sum.pc_amount %}
2026-02-07 06:32:11 +01:00
(~ {{ formatAmountBySymbol ( sum.pc_amount *- 1 , primaryCurrency.symbol , primaryCurrency.decimal_places ) }} )
2025-02-01 11:44:56 +01:00
{% endif %}
{% if loop .index != group.sums | length %} , {% endif %}
2022-01-29 14:15:34 +01:00
</span>
{% else %}
2025-02-01 11:44:56 +01:00
{{ formatAmountBySymbol ( sum.amount , sum.currency_symbol , sum.currency_decimal_places ) }}
2025-08-01 12:31:01 +02:00
{% if convertToPrimary and 0 != sum.pc_amount %}
2026-02-07 06:32:11 +01:00
(~ {{ formatAmountBySymbol ( sum.pc_amount *- 1 , primaryCurrency.symbol , primaryCurrency.decimal_places ) }} )
2025-02-01 11:44:56 +01:00
{% endif %}
{% if loop .index != group.sums | length %} , {% endif %}
2022-01-29 14:15:34 +01:00
{% endif %}
{% endfor %}
</td>
<!-- column to span accounts + extra fields -->
{% if showCategory or showBudget %}
2026-03-14 06:16:53 +01:00
<td class="top-light-border" colspan="3"> </td>
2022-01-29 14:15:34 +01:00
{% else %}
2026-03-14 06:16:53 +01:00
<td class="top-light-border" colspan="2"> </td>
2022-01-29 14:15:34 +01:00
{% endif %}
2026-03-14 06:16:53 +01:00
<td class="top-light-border hidden-xs" colspan="2">
2022-01-29 14:15:34 +01:00
<div class="btn-group btn-group-xs pull-right">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false">
{{ 'actions' | _ }} <span class="caret"></span></button>
<ul class="dropdown-menu dropdown-menu-right" role="menu">
2023-09-05 19:34:46 +02:00
<li><a href=" {{ route ( 'transactions.edit' , [ group.id ]) }} "><span
2023-08-24 05:47:28 +02:00
class="fa fa-fw fa-pencil"></span> {{ 'edit' | _ }} </a></li>
2023-09-05 19:34:46 +02:00
<li><a href=" {{ route ( 'transactions.delete' , [ group.id ]) }} "><span
2023-08-24 05:47:28 +02:00
class="fa fa-fw fa-trash"></span> {{ 'delete' | _ }} </a></li>
2022-01-29 14:15:34 +01:00
<li><a href="#" data-id=" {{ group.id }} " class="clone-transaction"><span
2023-08-24 05:47:28 +02:00
class="fa fa-copy fa-fw"></span> {{ 'clone' | _ }} </a></li>
2023-10-21 07:38:08 +02:00
<li><a href="#" data-id=" {{ group.id }} " class="clone-transaction-and-edit"><span
class="fa fa-copy fa-fw"></span> {{ 'clone_and_edit' | _ }} </a></li>
2022-01-29 14:15:34 +01:00
</ul>
</div>
</td>
2026-03-14 06:16:53 +01:00
<td class="top-light-border hidden-xs"> </td>
2022-01-29 14:15:34 +01:00
</tr>
{% endif %}
{% for index , transaction in group.transactions %}
2026-03-14 06:16:53 +01:00
{% set className = "" %}
2022-01-29 14:15:34 +01:00
{% if group.transactions | length == loop .index and group.count > 1 %}
2026-03-14 06:16:53 +01:00
{% set className = "bottom-light-border" %}
2022-01-29 14:15:34 +01:00
{% endif %}
2023-08-24 05:47:28 +02:00
<tr data-date=" {{ transaction.date.format ( 'Y-m-d' ) }} " data-count=" {{ group.count }} "
data-id=" {{ group.id }} ">
2026-03-14 06:16:53 +01:00
<td class="hidden-xs {{ className }} ">
2022-01-29 14:15:34 +01:00
{% if transaction.transaction_type_type == 'Withdrawal' %}
2024-04-19 19:58:32 +02:00
<span class="fa fa-long-arrow-left fa-fw"
2023-08-24 05:47:28 +02:00
title=" {{ trans ( 'firefly.Withdrawal' ) }} "></span>
2022-01-29 14:15:34 +01:00
{% endif %}
{% if transaction.transaction_type_type == 'Deposit' %}
2024-04-19 19:58:32 +02:00
<span class="fa fa-long-arrow-right fa-fw"
2023-08-24 05:47:28 +02:00
title=" {{ trans ( 'firefly.Deposit' ) }} "></span>
2022-01-29 14:15:34 +01:00
{% endif %}
{% if transaction.transaction_type_type == 'Transfer' %}
2024-04-19 19:58:32 +02:00
<span class="fa fa-exchange fa-fw" title=" {{ trans ( 'firefly.Transfer' ) }} "></span>
2022-01-29 14:15:34 +01:00
{% endif %}
{% if transaction.transaction_type_type == 'Reconciliation' %}
2024-04-19 19:58:32 +02:00
<span class="fa-fw fa fa-calculator"
2023-08-24 05:47:28 +02:00
title=" {{ trans ( 'firefly.reconciliation_transaction' ) }} "></span>
2022-01-29 14:15:34 +01:00
{% endif %}
{% if transaction.transaction_type_type == 'Opening balance' %}
2024-04-19 19:58:32 +02:00
<span class="fa-fw fa fa-star-o"
2023-08-24 05:47:28 +02:00
title=" {{ trans ( 'firefly.Opening balance' ) }} "></span>
2022-01-29 14:15:34 +01:00
{% endif %}
{% if transaction.transaction_type_type == 'Liability credit' %}
2024-04-19 19:58:32 +02:00
<span class="fa-fw fa fa-star-o"
2023-08-24 05:47:28 +02:00
title=" {{ trans ( 'firefly.Liability credit' ) }} "></span>
2022-01-29 14:15:34 +01:00
{% endif %}
</td>
2026-03-14 06:16:53 +01:00
<td class=" {{ className }} ">
2022-01-29 14:15:34 +01:00
{% if transaction.reconciled %}
<span class="fa fa-check"></span>
{% endif %}
{% if transaction.attachments | length > 0 %}
<span class="fa fa-paperclip"></span>
{% endif %}
{% if group.count == 1 %}
2023-09-05 19:34:46 +02:00
<a href=" {{ route ( 'transactions.show' , [ group.id ]) }} " title=" {{ transaction.description }} ">
2022-01-29 14:15:34 +01:00
{% endif %}
{{ transaction.description }}
{% if group.count == 1 %}
</a>
{% endif %}
</td>
2026-03-14 06:16:53 +01:00
<td class=" {{ className }} text-right">
2025-06-02 05:39:43 +02:00
2022-01-29 14:15:34 +01:00
{# deposit #}
{% if transaction.transaction_type_type == 'Deposit' %}
2025-05-30 08:11:12 +02:00
{# amount of deposit #}
2022-01-29 14:15:34 +01:00
{{ formatAmountBySymbol ( transaction.amount *- 1 , transaction.currency_symbol , transaction.currency_decimal_places ) }}
2025-05-30 08:11:12 +02:00
{# foreign amount of deposit #}
2022-01-29 14:15:34 +01:00
{% if null != transaction.foreign_amount %}
( {{ formatAmountBySymbol ( transaction.foreign_amount *- 1 , transaction.foreign_currency_symbol , transaction.foreign_currency_decimal_places ) }} )
{% endif %}
2025-08-01 12:31:01 +02:00
{# primary currency amount of deposit #}
{% if convertToPrimary and 0 != transaction.pc_amount %}
2026-02-07 06:32:11 +01:00
(~ {{ formatAmountBySymbol ( transaction.pc_amount *- 1 , primaryCurrency.symbol , primaryCurrency.decimal_places ) }} )
2024-12-26 05:21:28 +01:00
{% endif %}
2023-08-24 05:47:28 +02:00
{# transfer #}
2022-01-29 14:15:34 +01:00
{% elseif transaction.transaction_type_type == 'Transfer' %}
2023-03-25 11:33:42 +01:00
<span class="text-info money-transfer">
2025-05-30 08:11:12 +02:00
{# amount of transfer #}
2026-02-07 06:09:41 +01:00
{% if transaction.source_account_id == account.id %}
{{ formatAmountBySymbol ( transaction.amount , transaction.currency_symbol , transaction.currency_decimal_places , false ) }}
{% endif %}
{% if transaction.source_account_id != account.id %}
2026-02-13 08:04:39 +01:00
{{ formatAmountBySymbol ( transaction.amount *- 1 , transaction.currency_symbol , transaction.currency_decimal_places , false ) }}
2026-02-07 06:09:41 +01:00
{% endif %}
2025-05-30 08:11:12 +02:00
{# foreign amount of transfer #}
2026-02-13 08:04:39 +01:00
{% if null != transaction.foreign_amount and transaction.source_account_id == account.id %}
( {{ formatAmountBySymbol ( transaction.foreign_amount , transaction.foreign_currency_symbol , transaction.foreign_currency_decimal_places , false ) }} )
{% endif %}
{% if null != transaction.foreign_amount and transaction.source_account_id != account.id %}
2022-01-29 14:15:34 +01:00
( {{ formatAmountBySymbol ( transaction.foreign_amount *- 1 , transaction.foreign_currency_symbol , transaction.foreign_currency_decimal_places , false ) }} )
{% endif %}
2025-05-30 08:11:12 +02:00
2025-08-01 12:31:01 +02:00
{# primary currency amount of transfer #}
{% if convertToPrimary and 0 != transaction.pc_amount %}
2026-02-07 06:32:11 +01:00
(~ {{ formatAmountBySymbol ( transaction.pc_amount *- 1 , primaryCurrency.symbol , primaryCurrency.decimal_places ) }} )
2024-12-26 05:21:28 +01:00
{% endif %}
2022-01-29 14:15:34 +01:00
</span>
2023-08-24 05:47:28 +02:00
{# opening balance #}
2022-01-29 14:15:34 +01:00
{% elseif transaction.transaction_type_type == 'Opening balance' %}
{% if transaction.source_account_type == 'Initial balance account' %}
{{ formatAmountBySymbol ( transaction.amount *- 1 , transaction.currency_symbol , transaction.currency_decimal_places ) }}
{% if null != transaction.foreign_amount %}
( {{ formatAmountBySymbol ( transaction.foreign_amount *- 1 , transaction.foreign_currency_symbol , transaction.foreign_currency_decimal_places ) }} )
{% endif %}
2025-08-01 12:31:01 +02:00
{% if convertToPrimary and 0 != transaction.pc_amount %}
2026-02-07 06:32:11 +01:00
(~ {{ formatAmountBySymbol ( transaction.pc_amount *- 1 , primaryCurrency.symbol , primaryCurrency.decimal_places ) }} )
2024-12-26 05:21:28 +01:00
{% endif %}
2022-01-29 14:15:34 +01:00
{% else %}
{{ formatAmountBySymbol ( transaction.amount , transaction.currency_symbol , transaction.currency_decimal_places ) }}
{% if null != transaction.foreign_amount %}
( {{ formatAmountBySymbol ( transaction.foreign_amount , transaction.foreign_currency_symbol , transaction.foreign_currency_decimal_places ) }} )
{% endif %}
2025-08-01 12:31:01 +02:00
{% if convertToPrimary and 0 != transaction.pc_amount %}
2026-02-07 06:32:11 +01:00
(~ {{ formatAmountBySymbol ( transaction.pc_amount , primaryCurrency.symbol , primaryCurrency.decimal_places ) }} )
2024-12-26 05:21:28 +01:00
{% endif %}
2022-01-29 14:15:34 +01:00
{% endif %}
2023-08-24 05:47:28 +02:00
{# reconciliation #}
2022-01-29 14:15:34 +01:00
{% elseif transaction.transaction_type_type == 'Reconciliation' %}
{% if transaction.source_account_type == 'Reconciliation account' %}
{{ formatAmountBySymbol ( transaction.amount *- 1 , transaction.currency_symbol , transaction.currency_decimal_places ) }}
{% if null != transaction.foreign_amount %}
( {{ formatAmountBySymbol ( transaction.foreign_amount *- 1 , transaction.foreign_currency_symbol , transaction.foreign_currency_decimal_places ) }} )
{% endif %}
2025-08-01 12:31:01 +02:00
{% if convertToPrimary and 0 != transaction.pc_amount %}
2026-02-07 06:32:11 +01:00
(~ {{ formatAmountBySymbol ( transaction.pc_amount *- 1 , primaryCurrency.symbol , primaryCurrency.decimal_places ) }} )
2024-12-26 05:21:28 +01:00
{% endif %}
2022-01-29 14:15:34 +01:00
{% else %}
{{ formatAmountBySymbol ( transaction.amount , transaction.currency_symbol , transaction.currency_decimal_places ) }}
{% if null != transaction.foreign_amount %}
( {{ formatAmountBySymbol ( transaction.foreign_amount , transaction.foreign_currency_symbol , transaction.foreign_currency_decimal_places ) }} )
{% endif %}
2025-08-01 12:31:01 +02:00
{% if convertToPrimary and 0 != transaction.pc_amount %}
2026-02-07 06:32:11 +01:00
(~ {{ formatAmountBySymbol ( transaction.pc_amount , primaryCurrency.symbol , primaryCurrency.decimal_places ) }} )
2024-12-26 05:21:28 +01:00
{% endif %}
2022-01-29 14:15:34 +01:00
{% endif %}
2023-08-24 05:47:28 +02:00
{# liability credit #}
2022-01-29 14:15:34 +01:00
{% elseif transaction.transaction_type_type == 'Liability credit' %}
{% if transaction.source_account_type == 'Liability credit' %}
{{ formatAmountBySymbol ( transaction.amount , transaction.currency_symbol , transaction.currency_decimal_places ) }}
{% if null != transaction.foreign_amount %}
( {{ formatAmountBySymbol ( transaction.foreign_amount , transaction.foreign_currency_symbol , transaction.foreign_currency_decimal_places ) }} )
{% endif %}
2025-08-01 12:31:01 +02:00
{% if convertToPrimary and 0 != transaction.pc_amount %}
2026-02-07 06:32:11 +01:00
(~ {{ formatAmountBySymbol ( transaction.pc_amount , primaryCurrency.symbol , primaryCurrency.decimal_places ) }} )
2024-12-26 05:21:28 +01:00
{% endif %}
2022-01-29 14:15:34 +01:00
{% else %}
{{ formatAmountBySymbol ( transaction.amount *- 1 , transaction.currency_symbol , transaction.currency_decimal_places ) }}
{% if null != transaction.foreign_amount %}
( {{ formatAmountBySymbol ( transaction.foreign_amount *- 1 , transaction.foreign_currency_symbol , transaction.foreign_currency_decimal_places ) }} )
{% endif %}
2025-08-01 12:31:01 +02:00
{% if convertToPrimary and 0 != transaction.pc_amount %}
2026-02-07 06:32:11 +01:00
(~ {{ formatAmountBySymbol ( transaction.pc_amount *- 1 , primaryCurrency.symbol , primaryCurrency.decimal_places ) }} )
2024-12-26 05:21:28 +01:00
{% endif %}
2022-01-29 14:15:34 +01:00
{% endif %}
{# THE REST #}
{% else %}
2025-05-30 08:11:12 +02:00
{# amount of withdrawal #}
2022-03-27 16:03:50 +02:00
{{ formatAmountBySymbol ( transaction.amount , transaction.currency_symbol , transaction.currency_decimal_places ) }}
2025-05-30 08:11:12 +02:00
{# foreign amount of withdrawal #}
2022-01-29 14:15:34 +01:00
{% if null != transaction.foreign_amount %}
( {{ formatAmountBySymbol ( transaction.foreign_amount , transaction.foreign_currency_symbol , transaction.foreign_currency_decimal_places ) }} )
{% endif %}
2026-02-06 18:10:41 +01:00
{# primary currency amount of withdrawal, if not in foreign currency #}
{% if convertToPrimary and 0 != transaction.pc_amount and primaryCurrency.id != transaction.foreign_currency_id %}
2026-02-07 06:32:11 +01:00
(~ {{ formatAmountBySymbol ( transaction.pc_amount , primaryCurrency.symbol , primaryCurrency.decimal_places ) }} )
2024-12-26 05:21:28 +01:00
{% endif %}
2022-01-29 14:15:34 +01:00
{% endif %}
</td>
2025-12-26 20:02:09 +01:00
{% if ( fireflyiiiconfig ( 'use_running_balance' , true )) %}
2026-03-14 06:16:53 +01:00
<td class=" {{ className }} text-right">
2025-12-27 12:45:46 +01:00
{# RUNNING BALANCE #}
2025-09-23 20:22:58 +02:00
{% if ( null == transaction.balance_dirty or false == transaction.balance_dirty ) and null != transaction.destination_balance_after and null != transaction.source_balance_after %}
2025-04-26 15:24:14 +02:00
{% if transaction.transaction_type_type == 'Deposit' %}
2025-10-02 19:52:51 +02:00
{% if transaction.source_account_id == account.id %}
2025-12-27 12:45:46 +01:00
<span title="Deposit, source"> {{ formatAmountBySymbol ( transaction.source_balance_after , transaction.currency_symbol , transaction.currency_decimal_places ) }} </span>
2025-12-13 06:08:58 +01:00
{% else %}
2026-04-22 18:34:16 +02:00
{% if transaction.source_account_type == 'Revenue account' %}
<span title="Deposit from revenue"> {{ formatAmountBySymbol ( transaction.destination_balance_after , transaction.currency_symbol , transaction.currency_decimal_places ) }} </span>
{% else %}
2026-06-30 14:42:20 +02:00
{# #}
<span title="Deposit from liab"> {{ formatAmountBySymbol ( transaction.destination_balance_after , transaction.currency_symbol , transaction.currency_decimal_places ) }} </span>
2026-04-22 18:34:16 +02:00
{% endif %}
{# if this is a deposit from revenue account, use the destination account currency? For #12043 and #12169 #}
{# otherwise, keep at source account #}
2026-03-29 16:53:55 +02:00
{# changed from normal currency_symbol to foreign_currency_symbol for #12043 #}
2026-04-22 18:34:16 +02:00
2025-10-02 19:52:51 +02:00
{% endif %}
2025-04-26 15:24:14 +02:00
{% elseif transaction.transaction_type_type == 'Withdrawal' %}
2025-12-13 06:36:20 +01:00
{# withdrawal into a liability #}
2025-05-11 07:01:36 +02:00
{% if 'Loan' == transaction.destination_account_type or 'Mortgage' == transaction.destination_account_type or 'Debt' == transaction.destination_account_type %}
{% if currency.id == transaction.currency_id %}
2025-12-13 06:05:39 +01:00
{% if account.id == transaction.source_account_id %}
2025-12-27 12:45:46 +01:00
<span title="Withdrawal, liab, source"> {{ formatAmountBySymbol ( transaction.source_balance_after , transaction.currency_symbol , transaction.currency_decimal_places ) }} </span>
2025-12-13 06:36:20 +01:00
{% elseif account.id == transaction.destination_account_id %}
2025-12-27 12:45:46 +01:00
<span title="Withdrawal, liab, dest"> {{ formatAmountBySymbol ( transaction.destination_balance_after , transaction.currency_symbol , transaction.currency_decimal_places ) }} </span>
2025-12-13 06:36:20 +01:00
{% else %}
-
2025-12-13 06:05:39 +01:00
{% endif %}
2025-05-11 07:01:36 +02:00
{% endif %}
2025-05-29 13:38:40 +02:00
{% if currency.id == transaction.foreign_currency_id and null != transaction.destination_balance_after and null != transaction.destination_balance_after %}
2025-12-27 12:45:46 +01:00
<span title="Withdrawal, liab, dest 2"> {{ formatAmountBySymbol ( transaction.destination_balance_after , transaction.foreign_currency_symbol ?? transaction.currency_symbol , transaction.foreign_currency_decimal_places ?? transaction.currency_decimal_places ) }} </span>
2025-05-11 07:01:36 +02:00
{% endif %}
2025-12-13 06:36:20 +01:00
{# withdrawal into an expense account #}
2025-05-11 07:01:36 +02:00
{% else %}
2025-12-13 06:08:58 +01:00
{% if account.id == transaction.source_account_id %}
2025-12-27 12:45:46 +01:00
<span title="Withdrawal, source"> {{ formatAmountBySymbol ( transaction.source_balance_after , transaction.currency_symbol , transaction.currency_decimal_places ) }} </span>
2025-12-13 06:36:20 +01:00
{% elseif account.id == transaction.destination_account_id %}
2025-12-27 12:45:46 +01:00
<span title="Withdrawal, dest"> {{ formatAmountBySymbol ( transaction.destination_balance_after , transaction.currency_symbol , transaction.currency_decimal_places ) }} </span>
2025-12-13 06:36:20 +01:00
{% else %}
-
2025-12-13 06:08:58 +01:00
{% endif %}
2025-05-11 07:01:36 +02:00
{% endif %}
2025-04-26 15:24:14 +02:00
{% elseif transaction.transaction_type_type == 'Opening balance' %}
2025-12-15 14:56:58 +01:00
{% if account.id == transaction.source_account_id %}
2025-12-27 12:45:46 +01:00
<span title="Opening balance, src"> {{ formatAmountBySymbol ( transaction.source_balance_after , transaction.currency_symbol , transaction.currency_decimal_places ) }} </span>
2026-02-06 18:10:41 +01:00
{% elseif account.id == transaction.destination_account_id %}
<span title="Opening balance, dest"> {{ formatAmountBySymbol ( transaction.destination_balance_after , transaction.currency_symbol , transaction.currency_decimal_places ) }} </span>
2025-12-27 12:45:46 +01:00
{% else %}
2025-12-15 14:56:58 +01:00
-
2025-04-26 15:24:14 +02:00
{% endif %}
2025-04-26 17:29:10 +02:00
{% elseif transaction.transaction_type_type == 'Transfer' %}
{% if account.id == transaction.source_account_id %}
2025-12-27 12:45:46 +01:00
<span title="Transfer, source"> {{ formatAmountBySymbol ( transaction.source_balance_after , transaction.currency_symbol , transaction.currency_decimal_places ) }} </span>
2025-04-26 17:29:10 +02:00
{% else %}
2026-01-18 06:07:50 +01:00
{% if null == transaction.foreign_currency_id %}
<span title="Transfer, dest, normal currency"> {{ formatAmountBySymbol ( transaction.destination_balance_after , transaction.currency_symbol , transaction.currency_decimal_places ) }} </span>
{% endif %}
{% if null != transaction.foreign_currency_id %}
<span title="Transfer, dest, foreign currency"> {{ formatAmountBySymbol ( transaction.destination_balance_after , transaction.foreign_currency_symbol , transaction.foreign_currency_decimal_places ) }} </span>
{% endif %}
2025-04-26 17:29:10 +02:00
{% endif %}
2025-04-26 15:24:14 +02:00
{% else %}
{% endif %}
2025-04-26 14:20:00 +02:00
{% endif %}
</td>
{% endif %}
2026-03-14 06:16:53 +01:00
<td class=" {{ className }} ">
2022-03-27 20:33:25 +02:00
{{ transaction.date.isoFormat ( monthAndDayFormat ) }}
2022-01-29 14:15:34 +01:00
</td>
2026-03-14 06:16:53 +01:00
<td class=" {{ className }} ">
2022-01-29 14:15:34 +01:00
{% if 'Cash account' == transaction.source_account_type %}
<span class="text-success">( {{ 'cash' | _ }} )</span>
{% else %}
2023-09-05 19:34:46 +02:00
<a href=" {{ route ( 'accounts.show' , [ transaction.source_account_id | default ( 1 )]) }} "
2022-01-29 14:15:34 +01:00
title=" {{ transaction.source_account_iban | default ( transaction.source_account_name ) }} "> {{ transaction.source_account_name }} </a>
{% endif %}
</td>
2026-03-14 06:16:53 +01:00
<td class=" {{ className }} ">
2022-01-29 14:15:34 +01:00
{% if 'Cash account' == transaction.destination_account_type %}
<span class="text-success">( {{ 'cash' | _ }} )</span>
{% else %}
2023-09-05 19:34:46 +02:00
<a href=" {{ route ( 'accounts.show' , [ transaction.destination_account_id | default ( 1 )]) }} "
2022-01-29 14:15:34 +01:00
title=" {{ transaction.destination_account_iban | default ( transaction.destination_account_name ) }} "> {{ transaction.destination_account_name }} </a>
{% endif %}
</td>
{% if showCategory %}
2026-03-14 06:16:53 +01:00
<td class="hidden-xs {{ className }} ">
2022-01-29 14:15:34 +01:00
{% if transaction.category_id %}
2023-09-05 19:34:46 +02:00
<a href=" {{ route ( 'categories.show' , [ transaction.category_id ]) }} "
2022-01-29 14:15:34 +01:00
title=" {{ transaction.category_name }} "> {{ transaction.category_name }} </a>
{% endif %}
</td>
{% endif %}
{% if showBudget %}
2026-03-14 06:16:53 +01:00
<td class="hidden-xs {{ className }} ">
2022-01-29 14:15:34 +01:00
{% if transaction.budget_id %}
2023-09-05 19:34:46 +02:00
<a href=" {{ route ( 'budgets.show' , [ transaction.budget_id ]) }} "
2022-01-29 14:15:34 +01:00
title=" {{ transaction.budget_name }} "> {{ transaction.budget_name }} </a>
{% endif %}
</td>
{% endif %}
{% if group.count == 1 %}
2026-03-14 06:16:53 +01:00
<td class="hidden-xs {{ className }} ">
2022-01-29 14:15:34 +01:00
<div class="btn-group btn-group-xs pull-right">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false">
{{ 'actions' | _ }} <span class="caret"></span></button>
<ul class="dropdown-menu dropdown-menu-right" role="menu">
2023-09-05 19:34:46 +02:00
<li><a href=" {{ route ( 'transactions.edit' , [ group.id ]) }} "><span
2023-08-24 05:47:28 +02:00
class="fa fa-fw fa-pencil"></span> {{ 'edit' | _ }} </a></li>
2025-08-07 19:59:02 +02:00
{% if transaction.transaction_type_type != 'Opening balance' and transaction.transaction_type_type != 'Liability credit' %}
2023-09-05 19:34:46 +02:00
<li><a href=" {{ route ( 'transactions.delete' , [ group.id ]) }} "><span
2023-08-24 05:47:28 +02:00
class="fa fa-fw fa-trash"></span> {{ 'delete' | _ }} </a></li>
2025-08-07 19:59:02 +02:00
{% endif %}
{% if transaction.transaction_type_type != 'Reconciliation' and transaction.transaction_type_type != 'Opening balance' and transaction.transaction_type_type != 'Liability credit' %}
2022-01-29 14:15:34 +01:00
<li><a href="#" data-id=" {{ group.id }} " class="clone-transaction"><span
2023-08-24 05:47:28 +02:00
class="fa fa-copy fa-fw"></span> {{ 'clone' | _ }} </a></li>
2023-10-21 07:38:08 +02:00
<li><a href="#" data-id=" {{ group.id }} " class="clone-transaction-and-edit"><span
class="fa fa-copy fa-fw"></span> {{ 'clone_and_edit' | _ }} </a></li>
2022-01-29 14:15:34 +01:00
<li>
2023-09-05 19:34:46 +02:00
<a href=" {{ route ( 'rules.create-from-journal' , [ transaction.transaction_journal_id ]) }} "><span
2023-08-24 05:47:28 +02:00
class="fa fa-fw fa-random"></span> {{ 'create_rule_from_transaction' | _ }}
2022-01-29 14:15:34 +01:00
</a></li>
2025-04-20 07:56:50 +02:00
{% endif %}
2022-01-29 14:15:34 +01:00
</ul>
</div>
</td>
{% endif %}
{% if group.count != 1 %}
2026-03-14 06:16:53 +01:00
<td class="hidden-xs {{ className }} ">
2022-01-29 14:15:34 +01:00
</td>
{% endif %}
2026-03-14 06:16:53 +01:00
<td class="hidden-xs {{ className }} ">
2025-04-20 07:56:50 +02:00
{% if transaction.transaction_type_type != 'Reconciliation' and transaction.transaction_type_type != 'Opening balance' and transaction.transaction_type_type != 'Liability credit' %}
2022-01-29 14:15:34 +01:00
<div class="pull-right">
<input id="list_ {{ transaction.transaction_journal_id }} "
value=" {{ transaction.transaction_journal_id }} "
name="journals[ {{ transaction.transaction_journal_id }} ]"
type="checkbox" class="mass-select form-check-inline"
data-value=" {{ transaction.transaction_journal_id }} "/>
2025-04-20 07:56:50 +02:00
{% endif %}
2022-01-29 14:15:34 +01:00
</div>
</td>
</tr>
{% endfor %}
{% endfor %}
</tbody>
<tfoot>
<tr>
<td colspan="8">
<div class="pull-right">
<!-- Single button -->
2026-03-14 06:02:40 +01:00
<div class="btn-group action-menu btn-group-xs pull-right hidden">
2022-01-29 14:15:34 +01:00
<button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false">
{{ 'actions' | _ }} <span class="caret"></span>
</button>
<ul class="dropdown-menu btn-group-xs dropdown-menu-right">
<li><a href="#" class="mass-edit"><span class="fa fa-fw fa-pencil"></span>
<span> {{ 'mass_edit' | _ }} </span></a></li>
<li><a href="#" class="bulk-edit"><span class="fa fa-fw fa-pencil-square-o"></span>
<span> {{ 'bulk_edit' | _ }} </span></a></li>
<li><a href="#" class="mass-delete"><span class="fa fa-fw fa-trash"></span>
<span> {{ 'mass_delete' | _ }} </span></a></li>
</ul>
</div>
</div>
</td>
</tr>
<tr>
{% if showCategory or showBudget %}
<td colspan="9" class="no-margin-pagination"> {{ groups.links ( 'pagination.bootstrap-4' )| raw }} </td>
{% else %}
<td colspan="8" class="no-margin-pagination"> {{ groups.links ( 'pagination.bootstrap-4' )| raw }} </td>
{% endif %}
</tr>
</tfoot>
</table>
<script type="text/javascript" nonce=" {{ JS _NONCE }} ">
2023-09-05 19:34:46 +02:00
var cloneGroupUrl = ' {{ route ( 'transactions.clone' ) }} ';
2023-10-21 07:38:08 +02:00
var cloneAndEditUrl = ' {{ route ( 'transactions.clone' ) }} ?redirect=edit';
2022-01-29 14:15:34 +01:00
</script>