See branch /tep/tep-1016-flat-balance for actual TEP-1016 content.
Implement flat balance as an alternative for tree balance reports.
- Tracking issue
- Status
-
Implemented
There is new optional report.balance.type and report.balance-group.type
configuration settings with flat or tree values.
# development version of tackler will generate above config keys tackler new demo tackler --config demo/conf/tackler.toml
Summary of changes
-
Flat Balance
-
Flat Balance Group
-
Configuration option to select balance type (
treeorflat)
At the moment tackler generates balance family reports with additional tree balance column. The tree balance is that second column in the report below.
BALANCE (TREE)
--------------
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
Implement flat balance so that the balance is reported only for the leaf accounts.
This is semantically more similar to other PTA tool’s balance reports.
BALANCE (FLAT)
--------------
-2.00 Assets:Cash
2.00 Expenses:Ice_cream
=====================
0.00
Add optional configuration option report.balance.type, with possible values tree and flat.
If the option is missing, then tree-type is used.
-
✓
report.balance.type -
✓
report.balance-group.type
Changes to machinery
-
✓ flat balance builder
Api changes to server or client interfaces.
Changes to server API
-
[-] Change
model::balance_tree_node::BalanceTreeNodefieldsub_acc_tree_sumto optional. This was implemented with Zero value
Changes to client API or JSON model
-
❏ Eventually change JSON to have optional
accountTreeSumfield.
Changes to reports or reporting
Changes to exports or exporting
-
✓ ./readme.adoc: Update TEP index
-
✓ ../../CHANGELOG: add new item
-
✓ Does it warrant own T3DB file?
-
✓ update ../../suite/tests.adoc
-
✓ update ../../suite/check-tests.sh
-
✓ Add new T3DB file tests-1016.yml: TEP-1016 T3DB
-
-
❏ User docs
-
❏ Balance Report
-
❏ Balance Group Report
-
❏ tackler.toml
-
❏ site
-
✓ examples
-
✓
report.balance.type -
✓
report.balance-group.type
-
-
✓ examples
-
✓ Update
tackler new
-
-
-
❏ Developer docs
-
❏ API changes
-
❏ Server API changes
-
❏ Client API changes
-
❏ JSON Examples
-
-
Possibly expose option to select balance type from CLI.
In the future, maybe turn this into mandatory option (with grace period).
Normal, ok-case tests to validate functionality:
-
✓ balance report
-
✓ type is not set
-
✓ type is set to flat
-
✓ type is set to tree
-
-
✓ balance group report
-
✓ type is not set
-
✓ type is set to flat
-
✓ type is set to tree
-
-
✓ balance and balance group has different type setting
-
✓ verify that reports are not changed with
tree -
❏ test flat balance sorting order
- Feature-id
-
-
name: Flat Balance
-
uuid: cb7f968e-61f4-43d2-b2d8-d08f179d5fd7
-
features:
- feature:
id: cb7f968e-61f4-43d2-b2d8-d08f179d5fd7
subject: "Flat Balance"
- feature:
id: 55cbf642-7d2b-4a68-9eed-4cd97066b2be
parent: cb7f968e-61f4-43d2-b2d8-d08f179d5fd7
subject: "Flat Balance Report"
- feature:
id: eac0e587-2232-42ed-9569-d1026d762e60
parent: cb7f968e-61f4-43d2-b2d8-d08f179d5fd7
subject: "Flat Balance Group Report"