Multiple Currency Transactions

Derek Atkins warlord at MIT.EDU
Mon Oct 11 22:21:51 EDT 2004


Hi,

Thanks for your interest.

Michael Culbertson <michael.culbertson at gmail.com> writes:

>   It seems to me that, assuming you want the user to verify the
> exchange rate for each transaction, the transfer dialog should pop up
> automatically and once for each foreign currency involved in the
> transaction, no matter the number of splits in that currency.  Is
> there a bug in the code
> determining when the dialog should be displayed, or am I still not
> understanding how these sorts of transactions were intended to work?

Oh, there's certainly at least one bug in the code, if not more.  See
bugzilla for a list of them ;)

The exchange rate is actually encoded in each split.  I do not agree
that multiple splits in the same transaction should always have the
same exchange rate, but I can't quite articulate why I feel this way.

The reason for the "rate_cell" is that there's really no way to encode
this information anywhere else.  Ideally there should be more
information in the register about exchange rates and such, or better
yet when you enter an account of a "foreign" currency it should expand
the register and provide the 'price' and 'qty' cells.  But that's a
LOT more work.

As always, patches are gladly accepted.

>   Then there's something more on top of this.  If a new exchange rate
> is entered for a second transaction on a given date, the new rate
> isn't entered into the price database, and the default value for
> subsequent transactions
> is still the first rate entered on that date.  Why bother forcing the
> user to verify the exchange rate for multiple transactions on a given
> date if any updated information isn't stored in the price database for
> future use?

Because the existing rate for the date might be wrong, or you may HAVE
multiple versions.

It's not stored because, generally, you WILL have the same exchange
rate on the same day, so having N copies of "1 USD == 1.05 CAD" just
makes no sense, and adding the logic "add this only if it's different"
gets very complicated (well, more complicated than "does a price
exist?") once you have multiple prices in the price-db.

Then there's the question of which price should be the 'default'.
Always use the most recently entered?  The pricedb doesn't contain
that information.  So you wind up having to enter the same price info
over and over to make sure you get the right thing.

Personally, I think everyone should just use USD and be done with it.
;)

> Thanks for you help in working through these issues,
> Michael Culbertson

-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 at MIT.EDU                        PGP key available


More information about the gnucash-devel mailing list