[GNC] Loan Mortgage repayment assistant problem

David Carlson david.carlson.417 at gmail.com
Wed Jan 9 03:29:31 EST 2019


With those numbers payment number 2 has an error.

David C

On Wed, Jan 9, 2019 at 2:23 AM David Carlson <david.carlson.417 at 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 <jralls at 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.lck at 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 <jralls at 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.417 at 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 <jralls at ceridwen.us>
>> wrote:
>> >>>>
>> >>>>
>> >>>>> On Jan 7, 2019, at 3:14 PM, David Carlson <
>> david.carlson.417 at 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 at 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 at 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 at 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.
>
>


More information about the gnucash-user mailing list