Using Current account balance as a variable in scheduled transactions
Ryan Dunn
oryandunn.ml at gmail.com
Wed Dec 24 00:26:54 EST 2008
Well that's a bummer. It's not too hard to calculate by hand, but would be
less work each month.
On Tue, Dec 23, 2008 at 5:33 PM, Derek Atkins <warlord at mit.edu> wrote:
> Unfortunately no, it has not been implemented.
>
> -derek
>
>
> Quoting Ryan Dunn <oryandunn.ml at gmail.com>:
>
> Does anyone know if this has been implemented? I just started using
>> GnuCash and ran into this myself. It would be far easier if I could
>> use the current loan balance in figuring out how much of a payment
>> should go to interest vs. principal.
>>
>>
>>
>> It would be nice if I could specify my payment=x,
>> interest=curBal*(rate/12), and principal=x-interest. I frequently
>> make additional payments that render the current ppmt and ipmt that
>> are based solely on loan start amount and months into loan.
>>
>>
>>
>> Thanks, Ryan
>>
>> ------------------
>> On Mon, 2006-05-08 at 05:55 -0400, Bryan Phinney wrote:
>>
>>> * Is there any way to refer to the current account balance of a specific
>>> account
>>>
>> *>* within a scheduled transaction? Specifically, if I have a
>> mortgage account,
>>
>>
>> *
>> No, there's not, and this [pre-payments of principal] is the usual
>> problematic case.
>>
>> * This could easily be overcome by simply letting the scheduled
>>> transaction
>>>
>> *>* perform its assessments on the current account balance as the periodic
>>
>>
>> *>* interest rate will be assessed against the current month's balance on
>> the
>> *>* account. I can do this manually but would prefer to have Gnucash
>> perform the
>> *>* calculation from within the scheduled transaction if that is possible.
>>
>>
>> *>*
>> *>* Anyone have any info or suggestions?
>> *
>> Yes, it's just a Simple Matter of Programming. Patches are welcome, or
>> I'll eventually get around to resolving this; it's medium-high prioirity
>>
>>
>> for me.
>>
>> [Some notes, generally, follow, and a cross-post into gnucash-devel,
>> where technical discussion should continue...]
>>
>>
>> The least-Simple part is the user-interface. One would want the
>> function to be something like...
>>
>>
>>
>> gnc_acct_balance(account_guid)
>>
>> ... but the user would only want to edit in terms of account name, not
>> the GUID value. [Note that you can get away without including the date
>> here if you make the reasonable simplifying assumption that SXes are
>>
>>
>> processed in-order.]
>>
>> Thus, you'd at least want a in/out thunk (so the UI can be in terms of
>> account name, but the storage is in terms of the resolved GUID)... in
>> the more-least-Simple case, this is just a pair of routines that renders
>>
>>
>> the formulæ going into the credit/debit-formula cells, and parses them
>> on the way out... erroring if the user enters an invalid account name.
>> But requiring the user to type in the full account name is far less than
>>
>>
>> ideal...
>>
>> Better, you'd like the UI to know that an Account is needed, and use an
>> account-selection widget, but there are some ... limits ... to the
>> current register's user-interface and extensibility. There's likely
>>
>>
>> room for an expression editor -- a-la Your Favorite Spreadsheet -- that
>> understands the expression grammar and the defined functions, and the
>> datatypes of their arguments. When (double-)clicking on the SX formula
>>
>>
>> cells, it'd bring up an window that allows the appropriate editing of
>> the formula fields, including selecting the account for the paramater of
>> this functions.
>>
>> Given the later parts are going to take a while, the "more-least-Simple"
>>
>>
>> thunk approach is probably not *totally* unreasonable ... the UI isn't
>> great, but possible-but-ugly is usually better than impossible,
>> especially when you have to go to lengths to see the ugly.
>>
>>
>> There's some secondary concerns, as well, about the SX subsystem needing
>>
>>
>> to look for engine events on these formula-referenced accounts; if the
>> account gets deleted, the SX must to be updated (either passively
>> sanitized or actively fixed with user involvement). This mechanism is
>>
>> partly in place in 1.9.x, but would need refinement.
>>
>>
>>
>> Also, there's another perhaps simpler approach wherein the function that
>> the account is operating on is implicit. Something like
>> `gnc_loan_liability_account_balance()`, where the account is computed
>>
>>
>> from the context of the transaction the function is contained in. This
>> is a pretty ugly hack, but it too might suffice for a while. Though in
>> some ways, it's nice: It's simple and clear what account is being
>>
>>
>> referenced, and will work for 80% -- if not all -- of the cases, though
>> it requires more built-in, task-specific code in GnuCash.
>>
>> --
>> ...jsled
>> http://asynchronous.org/ - `a=jsled; b=asynchronous.org; echo ${a}@${b}`
>> _______________________________________________
>> gnucash-user mailing list
>> gnucash-user at gnucash.org
>> https://lists.gnucash.org/mailman/listinfo/gnucash-user
>> -----
>> Please remember to CC this list on all your replies.
>> You can do this by using Reply-To-List or Reply-All.
>>
>>
>
>
> --
> 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 at MIT.EDU PGP key available
>
>
More information about the gnucash-user
mailing list