Balance Group Report
Balance Group Report is combined report of multiple balance reports based on time selector. Each Balance Group produces sum of selected accounts, and total of those account sums for the time period of that group (year, month, day, etc.).
Tackler’s Balance family reports produce more information than what you find in other PTA tools. |
In examples belwo we can see that in June 2024 our spending was dominated by candy and December 2024 by ice cream.
Available group operators to select balance groups are:
year
, month
, day
, iso-week
and iso-week-date
.
ISO-8601 week date rules are used
for iso-week
and iso-week-date
.
Balance-group report provides handy way to produce sub-reports over selected reporting period. For example weekly balance group reports could be used for detailed weekly reports combined with summarizing monthly balance report.
Flat Balance Group
With flat Balance Group Report the balance is reported only for those accounts which have had postings. This is similar report what you will find in other PTA tools.
Report Time Zone TZ name : UTC Balance Group Report -------------------- 2024-06 ------- 2.50 Expenses:Sweets:Candy ===================== 2.50 2024-09 ------- 12.00 Expenses:Food:FastFood ===================== 12.00 2024-12 ------- 3.00 Expenses:Sweets:Ice·Cream ===================== 3.00
This report type is selected by configuration setting report.balance-group.type = "flat"
in
tackler’s configuration file tackler.toml.
Tree Balance Group
With tree Balance Group Report the first column is postings for that account and second is cumulative sum of that account and all children.
Report Time Zone TZ name : UTC Balance Group Report -------------------- 2024-06 ------- 0.00 2.50 Expenses 0.00 2.50 Expenses:Sweets 2.50 2.50 Expenses:Sweets:Candy ===================== 2.50 2024-09 ------- 0.00 12.00 Expenses 0.00 12.00 Expenses:Food 12.00 12.00 Expenses:Food:FastFood ===================== 12.00 2024-12 ------- 0.00 3.00 Expenses 0.00 3.00 Expenses:Sweets 3.00 3.00 Expenses:Sweets:Ice·Cream ===================== 3.00
This report type is selected by configuration setting report.balance-group.type = "tree"
in
tackler’s configuration file tackler.toml.
Format
Output format of Balance-group report is same as balance report, except that there are multiple subset balances included into same report.
First (the leftmost) sum is sum of postings which are directly debiting or crediting that account (account tree node). If there are no such transactions, then this first sum is zero.
Second sum is recursive balance sum for that account tree (account and all its sub-accounts).
The sum reported under line is balance delta, e.g. value difference of reported accounts.
Balance delta is based and calculated only by values reported on the first column. |
Balance group report configuration
See tackler.toml and report.balance-group.*
for full
information of balance group report configuration options.
The flat and tree balances can be selected with report.balance-group.type = "flat"
or report.balance-group.type = "tree"
configuration settings.
Balance Groups are selected by report.balance-group.group-by
conf-setting.
If report-timezone
is set, then transaction timestamps are converted
into report’s time zone and zone info will not be displayed for balance groups.
If report-timezone
is not active, then transaction timestamps
are used as is, and no conversion will be done.
It is possible change how transactions are grouped by selecting different time zones
for |
Account Selectors
By default, all accounts are included into balance-Group report, but that’s not very interesting balance group report because balance over all accounts will be zero always.
Balance-Group report accounts can be selected by Accounts Selectors.
This can be done
by cli option --accounts
, global report.accounts
configuration option
or by using report specific
report.balance-group.accounts
setting.
If there are no accounts selected within some balance group time period, then that balance group is not reported (e.g. not included into reports). |
Balance delta is based and calculated only by values reported on the first column. This means that if sub-account is not listed by balance-group report, it will not be part of balance calculations.
If Accounts Selector is used balance-group report, please be make sure that all intended accounts
and especially sub-accounts are listed for report. |
Compare following two reports:
--accounts "e1(:.*)?"
BALANCE GROUPS -------------- 2019-01 ------- 1.00 6.00 e1 2.00 5.00 e1:e2 3.00 3.00 e1:e2:e3 ===================== 6.00 ---- .`--accounts "e1"` ---- BALANCE GROUPS -------------- 2019-01 ------- 1.00 6.00 e1 ===================== 1.00
These two reports demonstrates difference between balance group deltas and recursive balance group sums for specific account tree.
Example report
Below are links to example balance-group reports with full auditing metadata.
Example output of balance-group report
Below is part of performance test output. Time span of Transaction set is one year, and each balance group is calculated by week (iso-8601 weeks with UTC timezone 'Z').
In the report em01
is monthly-day based expence account, and "am01" is monthly based
assets account. For that reason, "e:ey2016:em01:ed01" and "e:ey2016:em01:ed02" have
transactions on week 2016-W01 and "e:ey2016:em01:ed03, …" on week 2016-W02.
BALANCE GROUPS -------------- 2016-W01 -------- 0.00 -8.0000005 a 0.00 -8.0000005 a:ay2016 -8.0000005 -8.0000005 a:ay2016:am01 0.00 8.0000005 e 0.00 8.0000005 e:ey2016 0.00 8.0000005 e:ey2016:em01 2.0000002 2.0000002 e:ey2016:em01:ed01 6.0000003 6.0000003 e:ey2016:em01:ed02 ===================== 0.0000000 2016-W02 -------- 0.00 -114.0000019 a 0.00 -114.0000019 a:ay2016 -114.0000019 -114.0000019 a:ay2016:am01 0.00 114.0000019 e 0.00 114.0000019 e:ey2016 0.00 114.0000019 e:ey2016:em01 9.0000003 9.0000003 e:ey2016:em01:ed03 8.0000002 8.0000002 e:ey2016:em01:ed04 15.0000003 15.0000003 e:ey2016:em01:ed05 18.0000003 18.0000003 e:ey2016:em01:ed06 21.0000003 21.0000003 e:ey2016:em01:ed07 16.0000002 16.0000002 e:ey2016:em01:ed08 27.0000003 27.0000003 e:ey2016:em01:ed09 ===================== 0.0000000
Example report with commodities
Below are example balance group reports with mixed commodities in flat and tree form.
The group-by set to month.
BALANCE GROUPS -------------- 2017-05 ------- 3.00 ACME Assets:Stocks -359.75 EUR Assets:Cash ========================== 3.00 ACME -359.75 EUR
And same report in tree form:
BALANCE GROUPS -------------- 2017-05 ------- 0.00 3.00 ACME Assets 3.00 3.00 ACME Assets:Stocks 0.00 -359.75 EUR Assets -359.75 -359.75 EUR Assets:Cash ========================== 3.00 ACME -359.75 EUR