Scheduled transaction formulae & splitting joint bills

Josh Sled jsled at asynchronous.org
Tue Apr 29 09:53:24 EDT 2008


<ian at caption.org> writes:
> I've recently started using GnuCash, and having put in most of my account
> data, I'm starting to get to grips with automating regular payments, and
> getting it to calculate various things for me.  I have a couple of questions
> I hope someone can help me with.
>  
> 1) I pay my credit card bills in full every month.  Is it possible to
> schedule a transaction that pays off the complete balance that was on the
> card at a given date?  (i.e. my monthly credit card bill is calculated on
> the 15th of the month; my payment of that figure is paid by direct debit on
> the 1st of the following month.  Any transactions after the 15th go on the
> next month's bill, and will not be paid.  I enter the expenses in the credit
> card account, so it has an accurate daily balance.)

Unfortunately, no.  The breakdown is (the lack of) a function that will get
the value of an account as of a given date.  Moreover, the formula would
really want to *display* account names and locale-specific dates, but *store*
account IDs and normalized date values ... but the infrastructure that
handles formula editing and storage is very weak. :(

You could create a scheduled transaction with the credit and debit formulæ
cells of "value", and have it basically prompt you to go find and copy+paste
the value. :/

  
> 2) My partner and I share the cost of bills, but I pay them all.  I want a
> method of working out how much she owes me.  Previously I have used a
> spreadsheet that has summed all the joint payments, multiplied it by a ratio
> (we share the expenses in proportion to our salaries) and deducted any
> payments made to me.  Obviously, in GnuCash I want an Asset account of money
> owed to me, but I don't want the hassle of splitting every single expense so
> that (~)half goes in to the expense account and half to the asset account -

Welcome to double-entry accounting. :)  My partner and I practice this
sharing as well, and it's clearly highlighted how weak the register's
auto-fill mechanism is for this type of entry. :(


> in particular, this would be really awkward for the mortgage, where I want
> to be able to see the full balance and not just my portion of it, and I
> don't want the money she owes me to include her entire portion of the
> mortgage, just her portion of everything paid in a given month.  What I've
> tried is to create a split on the payments where, for example:
>  
> £20 withdrawal from bank account
> £20 deposit to Gas expense
> £10 deposit to Asset:Money owed to me
> £10 withdrawal from ?
>
> Obviously, the money for that has to come from somewhere, otherwise it just
> goes in to Imbalance.  I could create a new Income for this, and would be
> happy to do so if necessary, but I was hoping there was a better way.

Expenses:Goodwill?  The Investopedia definition¹ has Goodwill as an Asset,
but IANAA.

¹: http://www.investopedia.com/terms/g/goodwill.asp


> Additionally, is there a way of storing the ratio used in this calculation,
> so I could use it in a formula?  Is there a way, in fact, of using a formula
> to automatically calculate that share (e.g. 50% of x where x is the
> transaction above)?  If I can store that ratio, can I store it such that I
> can change it when it needs changing without it affecting previous
> transactions?

You could just in-line it, or create a new function in your
~/.gnucash/config.user ... something like:

    (define (gnc:partner-split-my-share value)
      (* 0.6666 value))

    (define (gnc:partner-split-other-share value)
      (* 0.3333 value))

The extra decimal places will help with some rounding, but you probably want
to do these as actual gnc:numeric computation with explicit rounding.


And, you're right, the formulæ are only evaluated when the register entry is
made (or the scheduled transaction is "instantiated" in the Since Last Run
dialog), so updating the function would not affect any transactions already
on the books.

-- 
...jsled
http://asynchronous.org/ - a=jsled; b=asynchronous.org; echo ${a}@${b}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.gnucash.org/pipermail/gnucash-user/attachments/20080429/e67ff39e/attachment.bin 


More information about the gnucash-user mailing list