gnucash maint: Multiple changes pushed

Geert Janssens gjanssens at code.gnucash.org
Thu May 24 13:10:11 EDT 2018


Updated	 via  https://github.com/Gnucash/gnucash/commit/5389aa22 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/fcabf6bb (commit)
	from  https://github.com/Gnucash/gnucash/commit/2e8df198 (commit)



commit 5389aa22ab8c161eabcba4714e350344cd00478b
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Thu May 24 18:54:44 2018 +0200

    Update invoice reports to use totals calculate by gncInvoice
    
    This should give a consistent representation of invoice data across the application.

commit fcabf6bb9661e4566d3da4b1c30ca8c0e1e2a75b
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Thu May 24 18:53:15 2018 +0200

    A more detailed revision of gncEntry and gncInvoice related rounding
    
    First change is to ensure gncEntry rounding is consistent. Internally
    calculated values in the entry are never rounded. Consumers of
    gncEntry's calculated values can request them either rounded or not.
    
    Next use a pragmatical approach for calculating values on invoices based on
    the entry values: do the rounding such that we never
    create an unbalanced transaction while posting
    That means
    - round each entry's net value before summing them in net total
    - accumulate all tax totals on invoice level per tax account before rounding
      and round before before summing them in a global tax total
    
    Hopefully this will catch a few more rounding issues in this area.
    
    A complete solution can only offered if we allow users to manually correct
    tax entries. This requires changes to user interface and data format
    so that's not going to happen in gnucash 3.x.



Summary of changes:
 gnucash/register/ledger-core/gncEntryLedger.c      |  13 +-
 gnucash/report/business-reports/easy-invoice.scm   | 135 ++++++----------
 gnucash/report/business-reports/fancy-invoice.scm  | 142 ++++++-----------
 gnucash/report/business-reports/invoice.scm        | 136 ++++++----------
 gnucash/report/business-reports/receipt.eguile.scm |  25 ++-
 .../report/business-reports/taxinvoice.eguile.scm  |  27 ++--
 libgnucash/engine/gncEntry.c                       |  80 +++++-----
 libgnucash/engine/gncEntry.h                       |   3 +-
 libgnucash/engine/gncInvoice.c                     | 169 +++++++++++++++-----
 libgnucash/engine/gncInvoice.h                     |   3 +
 libgnucash/engine/gncTaxTable.c                    |   4 +-
 libgnucash/engine/test/utest-Entry.c               | 175 ++++++++++++++++++++-
 12 files changed, 529 insertions(+), 383 deletions(-)



More information about the gnucash-patches mailing list