Test report: Scheduled Transactions

Richard -Gilligan- Uschold uschold@cs.ucf.edu
Tue, 23 Oct 2001 16:27:04 +0000


Derek Atkins wrote:

> Josh Sled <jsled@asynchronous.org> writes:
>
> >> Other thoughts, is there a way to configure a fixed loan, such as a
> >> mortgage or auto loan, so that scheduled transactions are created
> >> for the loan? This would be especially neat for those folks who
> >> have automated withdrawals done for mortgaes.
> >
> > Indeed; this can probably be done, though my shallow initial thought
> > about it is that it'd be benefited by some "advanced" SX functionality I
> > wasn't planning on implementing real soon...  I'll think some more about
> > this in the near future.
>
> I think this would best be done by having a "Loan" liability account
> that can actually measure current state.  The way I'd envision it is
> that you would have a Loan account that is initialized by a principal
> balance, interest rate, and term.  The "account" can compute the
> monthly payment due (it's a simple calculation).  Next, the SX would
> move the automatic payments from your "checking" to the Loan account.
> Obviously the Loan account would need to know whether overpayments are
> applied to Interest or Principal.  Then there is the question of
> escrow payments... :)
>
> Thinking about this, I'm not sure whether this should be done by one
> combined "magic" account or a master loan account with three
> sub-accounts (principal, interest, escrow).  Any comments on how this
> should work?  I think the idea situation would be a master account
> with three "hidden" subaccounts, but I don't think it's possible to
> create a hidden account.  My reasoning is that I'd like to see, for
> example, how much interested I paid over a year, or what my current
> principal balance is.

We don't need any hidden accounts.

I have been emulating this functionality for the last year or so.  I have
three accounts: the loan principle, mortgage escrow, and interest payments.
The principle is a liability account, the escrow is a bank account, and the
interest is an expense account.

The recurring payment is simply a split transaction, the total going to each
of the three accounts, as required.  The only difficult part is determining
the principal and interest amounts.  The escrow amount changes periodically,
also, typically once a year.

I have emulated this by pre computing a years worth of split transactions and
putting them in a "dummy" recurring account.  Once a month, I change the
source account from Recurring to the account where I write the check
(actually, an automatic debit, now)

This could be implemented two ways: as a smart loan account that generates
the recurring transaction or as a smart recurring transaction that knows how
to compute loan interest.

Of course, the logic should allow for the loan to be an asset, as from the
banks point of view.

> I'd offer to work on this functionality, but I don't have a working
> gnucash development environment.  Hopefully that will be fixed in the
> next couple of months.  If nobody else does it by the time I've got a
> working development platform, I'd be happy to do this myself.
> Otherwise I can at least provide verbal/written support if not code :)
>
> -derek
>
> --
>        Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
>        Member, MIT Student Information Processing Board  (SIPB)
>        URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
>        warlord@MIT.EDU                        PGP key available
> _______________________________________________
> gnucash-devel mailing list
> gnucash-devel@lists.gnumatic.com
> http://www.gnumatic.com/cgi-bin/mailman/listinfo/gnucash-devel

--

Gilligan            |                    __o           .oooO
                   /|                  _ \<,_          (   )
                  /p|\                (_)/ (_)          \ (   Oooo.
                 /  | \             ------------         \_)  (   )
                ========                                       ) /
                 ========       gilligan@mpinet.net           (_/
             ~~~~~~~~~~~~~~~~   uschold@cs.ucf.edu