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