I have created https://bugs.gnucash.org/show_bug.cgi?id=797032.
David C On Wed, Jan 9, 2019 at 2:29 AM David Carlson <david.carlson....@gmail.com> wrote: > With those numbers payment number 2 has an error. > > David C > > On Wed, Jan 9, 2019 at 2:23 AM David Carlson <david.carlson....@gmail.com> > wrote: > >> I am working on a test scenario.The interest formula is ipmt( 0.03500 / >> 12.00 : i : 180.00 : 172,000.00 : 0 : 0 ), the others have the same numbers >> and the 71st payment contains the error. I am using these numbers because >> they are exactly the same as the numbers that have already generated an >> error. >> i started the test loan in Jan 2000 with the first repayment in February >> and I am creating one month at a time in case that makes a difference. If >> the test can repeat it I will submit the bug report. >> >> David C >> >> On Tue, Jan 8, 2019 at 10:52 PM John Ralls <jra...@ceridwen.us> wrote: >> >>> The answer is probably in app-utils/calculation. All of that was >>> probably written before Guile grew a rational number class and I think that >>> GncNumerics get converted to doubles before being passed to the interest >>> functions. That would pretty much guarantee rounding issues. >>> >>> Regards, >>> John Ralls >>> >>> > On Jan 8, 2019, at 5:46 PM, Christopher Lam <christopher....@gmail.com> >>> wrote: >>> > >>> > Well the SCM has numerous references to "round" and "rounding errors" >>> so it's to be expected. >>> > >>> > Please file a bug with example numbers, and hopefully these errors may >>> be fixed. >>> > >>> > On 9/1/19 7:35 am, David Carlson wrote: >>> >> John, >>> >> >>> >> Thanks for the reference. Alas, I will need to do some homework to >>> >> properly read SCM. There must still be some sort of rounding issue >>> >> creeping in if the Scheduled Transaction SLR sometimes generates an >>> >> imbalance from ppmt = pmt - ipmt. >>> >> >>> >> David C >>> >> >>> >> On Tue, Jan 8, 2019 at 3:44 PM John Ralls <jra...@ceridwen.us> wrote: >>> >> >>> >>> The thee functions are defined in >>> >>> >>> https://github.com/Gnucash/gnucash/blob/maint/libgnucash/app-utils/fin.scm >>> , >>> >>> prefixed with gnc: (so gnc:ipmt etc.). >>> >>> >>> >>> At line 41ff you'll see that ppmt = pmt - ipmt. >>> >>> >>> >>> Regards, >>> >>> John Ralls >>> >>> >>> >>> >>> >>>> On Jan 8, 2019, at 12:48 PM, David Carlson < >>> david.carlson....@gmail.com> >>> >>> wrote: >>> >>>> My point is that the equations are defined by the assistant, and I >>> think >>> >>> that they can be expressed in a form that concentrates all the >>> errors into >>> >>> one line where a simple rounding would not generate a problem where >>> the >>> >>> parts do not add up to 100%. Granted, the errors may sometimes cause >>> >>> inaccurate results, but they would not add the imbalance line to the >>> >>> transaction. >>> >>>> The current equations are three evaluations called pmt(numbers), >>> >>> ppmt(numbers) and ipmt(numbers) with no clue how they are actually >>> >>> evaluated. >>> >>>> Apparently pmt is not always the sum of ppmt and ipmt. when rounding >>> >>> happens. If ipmt were expressed as pmt-ppmt, there would be no >>> imbalance, >>> >>> but one of the other two ways to express all three may be less >>> likely to >>> >>> generate inaccurate results. >>> >>>> David C >>> >>>> >>> >>>> On Mon, Jan 7, 2019 at 10:19 PM John Ralls <jra...@ceridwen.us> >>> wrote: >>> >>>> >>> >>>> >>> >>>>> On Jan 7, 2019, at 3:14 PM, David Carlson < >>> david.carlson....@gmail.com> >>> >>> wrote: >>> >>>>> I just had a scheduled transaction that was set up by the >>> loan/mortgage >>> >>>>> repayment assistant appear with 0.01 Imbalance-USD. >>> >>>>> >>> >>>>> I would think that GnuCash should have an accuracy method that >>> would >>> >>>>> prevent this from happening. Is this a bug? >>> >>>>> >>> >>>>> I am using GnuCash 2.6.17 in Ubuntu 16.04 today. >>> >>>> The accuracy method is what created the imbalance entry. ;-) >>> >>>> >>> >>>> There’s nothing in the SX system to pre-instantiate future scheduled >>> >>> transactions and ensure that they’re balanced. What would you have >>> the >>> >>> check function do if it found an imbalanced case? How would you >>> handle >>> >>> variables whose values are set by the user in the SLR dialog? >>> >>>> Regards, >>> >>>> John Ralls >>> >>>> >>> >>> >>> >> _______________________________________________ >>> >> gnucash-user mailing list >>> >> gnucash-user@gnucash.org >>> >> To update your subscription preferences or to unsubscribe: >>> >> https://lists.gnucash.org/mailman/listinfo/gnucash-user >>> >> If you are using Nabble or Gmane, please see >>> https://wiki.gnucash.org/wiki/Mailing_Lists for more information. >>> >> ----- >>> >> Please remember to CC this list on all your replies. >>> >> You can do this by using Reply-To-List or Reply-All. >>> > _______________________________________________ >>> > gnucash-user mailing list >>> > gnucash-user@gnucash.org >>> > To update your subscription preferences or to unsubscribe: >>> > https://lists.gnucash.org/mailman/listinfo/gnucash-user >>> > If you are using Nabble or Gmane, please see >>> https://wiki.gnucash.org/wiki/Mailing_Lists for more information. >>> > ----- >>> > Please remember to CC this list on all your replies. >>> > You can do this by using Reply-To-List or Reply-All. >>> >>> _______________________________________________ >>> gnucash-user mailing list >>> gnucash-user@gnucash.org >>> To update your subscription preferences or to unsubscribe: >>> https://lists.gnucash.org/mailman/listinfo/gnucash-user >>> If you are using Nabble or Gmane, please see >>> https://wiki.gnucash.org/wiki/Mailing_Lists for more information. >>> ----- >>> Please remember to CC this list on all your replies. >>> You can do this by using Reply-To-List or Reply-All. >> >> _______________________________________________ gnucash-user mailing list gnucash-user@gnucash.org To update your subscription preferences or to unsubscribe: https://lists.gnucash.org/mailman/listinfo/gnucash-user If you are using Nabble or Gmane, please see https://wiki.gnucash.org/wiki/Mailing_Lists for more information. ----- Please remember to CC this list on all your replies. You can do this by using Reply-To-List or Reply-All.