Balance Group report
Balance Group report is combined report of multiple balance reports based on time selector.
Report Time Zone TZ name : UTC BALANCE GROUPS BY MONTH ----------------------- 2019-01 ------- 0.00 -2.00 Assets -2.00 -2.00 Assets:Cash 0.00 2.00 Expenses 2.00 2.00 Expenses:Ice_cream ===================== 0.00 2019-02 ------- 0.00 -1.00 Assets -1.50 -1.50 Assets:Cash 0.00 1.50 Expenses 1.50 1.50 Expenses:Lemonade ===================== 0.00
In above we can see that in January 2019 spending was dominated by ice cream and during February 2019 by lemonade.
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 subreports over reporting period, for example weekly balance group reports could be used for detailed weekly reports with summarizing monthly balance report.
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
Balance Groups are selected by reports.balance-group.group-by
conf-setting.
See tackler.toml and report.balance-group.*
for full
information of balance group report configuration options.
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:
--reporting.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
--reporting.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 is one entry of monthly based balance group report.
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 ...