--On March 7, 2007 9:50:00 AM -0500 Derek Atkins <[EMAIL PROTECTED]> wrote:
> Mike Alexander <[EMAIL PROTECTED]> writes: > >> The transaction balancing code in xaccTransGetImbalance assumes all >> exchange rates are correct. A transaction involving more than one >> commodity has an implied exchange rate between the commodities which >> can be determined by comparing the amount and value fields of the >> various splits. This is used to create the new splits to balance >> the individual commodity amounts in the transaction. The bottom >> line is that the balancing split will be created using the exchange >> rate specified when the transaction was entered which I think is >> the best we can do. > > If a user later goes back and changes the exchange rate, will your > scrubber update the balancing splits? Do you mean change the exchange rate in that transaction or the exchange rate in the price DB? If you mean the exchange rate in that transaction, then you (be definition) are change some of the values or amounts in some of the splits and the scrubber will try to fix things up. This isn't something that you would expect people to do often since it means they made a mistake entering the transaction initially, and the scrubber might not make the optimal adjustment although it should make things valid. If you mean change the exchange rate in the price DB, then no it won't change the transaction, because that's not what you want to do. The transaction accurately describes the initial conversion from one currency to another. The Currency account accurately describes the unrealized gain/loss resulting from this transaction (if the price DB is up to date). If you later convert some of the money back in the other direction a new transaction will be entered which describes that. This will affect not only the asset accounts containing the currencies but also the currency trading accounts. The net effect will be to change some or all of the unrealized gain/lost into a realized gain/loss at that time. This is described fairly well in Peter's tutorial. Mike _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel