[GNC] Working with compound interest on varying amounts

Dale Alspach alspachde at gmail.com
Mon Dec 3 16:20:43 EST 2018


I am assuming that the credit line is actually using daily compounding.
In that case the calculations in the response from Steve are not correct.

An alternate approach is to consider is the following.

Warning: I tried this with a toy example. It seems to work but there may
be some downsides that I have not noticed. There may be better choices
for the types of accounts or a way to use a fake currency that will make
some things more intuitive.

Create a liability account for the credit line. Name it Restorations.

Create a (internal to your gnucash account) security CDOLL (compounded
dollar). Use the Price editor to initiate the value at $1.00. This
security will represent the value of a dollar after compounding since
Day 1. So if the daily interest rate is constant r, CDOLL has price
(1+r)^n on Day n+1. (Below I use CDOLL(n) to denote the value on Day n.)
If the daily rate fluctuates, then an external table, spreadsheet or
calculator will be needed to track this.

For each restoration project create a stock subaccount of Restorations
with shares in the security CDOLL.
Suppose one such account is named House 1.

Suppose it is Day 10 and $50,000 is used to purchase the property. Enter
a transaction in account House 1 with share price CDOLL on Day 10, i.e.,
CDOLL(10), and Sell (Cost) $50,000. Gnucash will compute the number of
shares as $50,000/CDOLL(10). (The Sell may seem strange but this is to
cause an increase in liabilty. Total shares and value will be negative
as well.)

It is now Day 15. To get the portion of the credit line for House 1
enter the current value (Day 15 value) of CDOLL using the Price editor.
The (negative) value in dollars of House 1 will show the result of
50,000/CDOLL(10)*CDOLL(15) which is $50,000 plus interest accumulated
for the Days 11 to 15. Note that every project will reflect its current
value after this one entry with the Price editor. The value of
Restorations will show the total liability from all of the projects.

Every time there is an additional borrowing or a repayment is made the
value of CDOLL on that day should be used as the share price and the
Sell or Buy should be the actual dollar amount.

Dale




On 12/3/18 12:52 PM, Stephen M. Butler wrote:
> On 12/3/18 6:02 AM, Hal Vaughan wrote:
>> So GnuCash doesn’t do this kind of thing?
>>
>> If it’s off by a cent or two, I can deal with it, but the problem is I
>> use one credit line for multiple projects at a time, so I have to be
>> able to easily work out the interest for each individual project.
>>
>> Hal
> 
> Not automatically.  Remember that you can enter formulas instead of
> values into the debit/credit fields.  However, even here the values you
> want to use are not represented by symbolic variables. That is, GNC has
> nothing to which the current balance of the account is assigned.  And,
> your interest rate varies along with the number of days between
> transactions.  However, you could enter the values and let GNC calculate
> the results.  You may have to enter extra transactions on the dates so
> you can pick up the new balance to use for the next transaction date. 
> In general, the interest amount to add to the outstanding balance is: 
> old-balance * annual-interest-rate * #daysbetween / 360 (or 365
> depending on your bank.
> 
> January 1 - withdraw $50,000 from zero balance giving a loan balance of
> $50,000
> 
> January 15 - calc interest @3% for 14 days -- $50,000 * .03 * 14 / 365 
> (grab the value GNC calculates and put it on the Interest Expense for
> the project).  May need to round it up/down from $57.534246.  Lets call
> it $57.53
> 
> January 15 - withdraw another $10,000 giving new balance of $60,057.53
> 
> January 31 - cal additional interest for past 16 days: $60,057.53 * .03
> * 16 / 365 = =$78.979765479 (round it up to $78.98).
> 
> This will get more complicated if the $50,000 was for the purchase of
> one house but the $10,000 was for the roof of another house.
> 
> So, this will take more typing -- but GNC can do the calculations -- you
> just need to remember the formula.
> 
> As David indicated, it will be easier to take the values from the
> statement and enter them after the fact.  Again, more complicated if you
> have more than one project in a given month.
> 
> If your bank allows you to download the transactions as a QFX (or
> related) file, that would be the simplest.  Simply override which
> project gets the expense side of the transaction -- including the
> interest transactions.
> 
> --Steve
> 
>>> On Dec 3, 2018, at 7:03 AM, David T. <sunfish62 at yahoo.com> wrote:
>>>
>>> Hal,
>>>
>>> Most such calculations are devilishly difficult to represent with
>>> 100% accuracy, which is why I have always opted to base my
>>> transactions on the statement, rather than try to anticipate what the
>>> finance company is going to come up with.
>>>
>>> David T
>>>
>>>
>>> On Mon, Dec 3, 2018 at 12:10, Hal Vaughan
>>> <hal at hal.dance> wrote:
>>> For the past few years, for my business that is mostly about
>>> renovating or restoring houses and reselling them (not flipping -
>>> this work takes time), I’ve used a Python library I wrote myself to
>>> handle accounting.  It was basically made up mostly of stuff I had,
>>> with a few new things added in.
>>>
>>> I would like to switch over to GnuCash.  Luckily, since I’m at a slow
>>> point and between projects, I can do that without worrying about
>>> converting old data for older LLCs and projects.
>>>
>>> There’s one issue I’m not sure can be handled by GnuCash, so I’d like
>>> to find out about it before trying to switch over.
>>>
>>> I use a line of credit.  Luckily the interest rate is basically
>>> constant.  (There’s a slight flux, but not much.)  The problem is its
>>> compounded and, of course, every time I withdraw money from the
>>> credit line or pay any back, the principal amount changes.  I’m
>>> hoping, at this point, people are saying, "Oh, yeah, just do this…."
>>>
>>> But just in case there’s a need for clarification, if I withdraw
>>> $50,000 to purchase a house on January 1, then, on the 15th, withdraw
>>> $10,000 for roofing work, need to figure out the total owed to that
>>> credit line on 1/31, and the interest rate is 3%, then I have to
>>> figure compound interest on $50,000 at 3% from 1/1 to 1/15.  Then I
>>> have to add $10,000 to that amount to calculate the interest on the
>>> $50,000 plus 15 days of interest, plus $10,000, plus the interest
>>> from the 15th to the 30th, at 3%, to get a clear number for what I owe.
>>>
>>> Can I have this done automatically on an account?  If not, how can I
>>> easily keep track of this in GnuCash?
>>>
>>>
>>> Thank you!
>>>
>>>
>>> Hal
> 


More information about the gnucash-user mailing list