Register report

Register report is report with running total of transactions for selected accounts.

Report Time Zone
        TZ name : UTC

REGISTER
--------
2019-01-04 'Strawberry ice cream
            Assets:Cash                            -2.00         -2.00
            Expenses:Ice_cream                      2.00          2.00
----------------------------------------------------------------------
2019-02-03 'Ginger bear
            Assets:Cash                            -1.50         -3.50
            Expenses:Lemonade                       1.50          1.50
----------------------------------------------------------------------

Format

Register report will list for each transaction its date, code and txn subject (note). Also it will report metadata, e.g. uuid and location if transaction has these.

Register report will print out transaction geo location and uuid for accounting auditing if transaction has set location or uuid.

On the right side of report, first column is posting amount for account on that transaction. Second column on the right side is running total of that account with reported transactions.

See below for example reports.

Transaction ordering

By Tackler’s design constraints input order of transactions is not important, and it does not mandate transactions processing order.

Transactions are sorted by using transaction’s properties in following order to find correct sort order.

timestamp, code, description, uuid

Tackler supports timestamps up to nanosecond resolution, so timestamp could be used to produce stable natural sorting order if transaction producers have syncronized time available and nanosecond resolution is sufficient.

If all available transactions properties used for ordering are same between several transaction, then transaction ordering is undefined.

Transactions must have UUIDs, if fully deterministic, stable and "distributed transaction producers"-safe transaction ordering is needed.

Printed timestamp style has no effect for sorting order. For example, register report prints each transaction’s time with date resolution by default, but actual value of timestamp is used for determining sort order always.

Register report configuration

See tackler.toml and report.register.* for full information of register report configuration options.

Timestamps in register report

Register report’s timestamp-style will set how timestamps are displayed with register report.

Valid values for timestamp-style setting are:

date

Only date part is displayed (this is default)

seconds

Date and time is displayed (up to seconds)

full

Date and time is displayed (up to nanoseconds)

If report-timezone is set, then transaction timestamps are converted into report’s time zone and zone info will not be displayed.

If report-timezone is not active, then transaction timestamps are displayed as-is with zone info.

Account Selectors

Register 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.register.accounts setting.

If there are no accounts matched with selected regexs with some transaction, then that transaction is not included into report at all.

See 'timezone', 'report-timezone' options in tackler.toml.

Example reports

Below are links to example register reports:

Example output of register report

REGISTER
--------
2017-01-01 'y 01
            a:b                                           20.00              20.00
            e:e0101                                      -20.00             -20.00
----------------------------------------------------------------------------------
2017-01-01 'z 01
            a:b                                            1.00              21.00
            e:e0101                                       -1.00             -21.00
----------------------------------------------------------------------------------
2017-01-01 'x 01
            a:b:c                                        300.00             300.00
            e:e0101                                     -300.00            -321.00
----------------------------------------------------------------------------------
2017-01-02 '02
            a:b                                            2.00              23.00
            e:e0102                                       -2.00              -2.00
----------------------------------------------------------------------------------
2017-01-03 (#001) '03
            a:b                                            2.10              25.10
            e:e0103                                       -2.10              -2.10
----------------------------------------------------------------------------------
2017-01-03 (#002) '03
            a:c                                            2.20               2.20
            e:e0103                                       -2.20              -4.30
----------------------------------------------------------------------------------
2017-01-03 (#003) '03
            a:b                                            2.30              27.40
            e:e0103                                       -2.30              -6.60
----------------------------------------------------------------------------------
2017-01-03 (#004) '03
            a:c                                            2.40               4.60
            e:e0103                                       -2.40              -9.00
----------------------------------------------------------------------------------