gnucash maint: [report-utilities] fix gnc:account-accumulate-at-dates sorting & operator

Christopher Lam clam at
Thu Mar 26 07:00:06 EDT 2020

Updated	 via (commit)
	from (commit)

commit 447de7f64dc644be9b0684c5beaebe2db90cc3c9
Author: Christopher Lam <christopher.lck at>
Date:   Tue Mar 24 23:53:00 2020 +0800

    [report-utilities] fix gnc:account-accumulate-at-dates sorting & operator
    This commit performs 2 important fixes.
    1. the account splitlist walking assumes that the split->date always
    increases. This is now enforced by sorting the splitlist, *only* if a
    custom split->date is offered. By default the splits are sorted by
    posted_date, and if a custom split->date is used, will be
    stable-sorted to ensure the algorithm works.
    2. the handling of splits *ON* date boundaries is fixed. Previously if
    a split->date was equal to a date boundary, it would be considered
    part of the "after" date section. It is more intuitive that a date
    boundary includes all splits on and before the date. In regular use
    the dates are normalised to canonicaldaytime or end-day-time and is
    not important. However when comparing reconciled dates, the statement
    dates be exactly equal to the reconciled dates, therefore this
    difference is crucial. In other words, the date boundaries mean we
    include all splits before or on the date (to the exact second).
    Add a test to verify above.

Summary of changes:
 gnucash/report/report-system/report-utilities.scm  | 13 +++++--
 .../report-system/test/test-report-utilities.scm   | 44 +++++++++++++++++++++-
 2 files changed, 52 insertions(+), 5 deletions(-)

More information about the gnucash-patches mailing list