Currencies / the accounting equation.

Bill Gribble grib@billgribble.com
Sun, 1 Oct 2000 13:21:44 -0500


On Fri, Sep 29, 2000 at 04:50:18PM -0700, Dave Peticolas wrote:
> I think there is an additional issue for transactions. Consider
> a transfer between two accounts with the same security (USD).
> 
>  	Acct		DR			CR
>  	bank (USD)	                        USD 100 (? ?)
>  	cash (USD)	USD 100 (? ?)
> 
> Under the current rules of balancing, you can choose any two distinct
> currencies and any amounts for the two values, and the transaction is
> in balance with respect to the common currency (USD). This is the case
> now, but choosing the account also chooses the currency so there is no
> ambiguity. Should we allow this?

Should we allow what?  It sounds like you're asking about allowing
more than two total commodities involved in a transaction, and I think
the answer is yes.

In your example, the splits each state an equivalence by exchange
between 100 USD and some other amount of some other currency.  Clearly
there's a difference between the case when the two "mystery
currencies" are the same, in which case it's possible to detect an
error condition where the 'values' of the two splits are different,
and the case where the currencies are different, in which case you
can't detect an analogous error condition.

I can't easily explain your example transaction to myself in words.
For example, to fill in some real values,

    Acct 		DR			CR
    bank(USD)    				USD 100 (EUR 105)
    cash(USD)		USD 100 (GBP 65)

What would this mean, and how would we know not to take it at face
value as being balanced?  As far as "meaning", it seems to say "I took
EUR 105 out of a USD-denominated account, and put it in my pocket as
65 GBP (but my cash account is USD-denominated)" I can see the first
part of that -- say, using a US-bank ATM card in a machine that gives
Euros -- but I don't understand the debit side.  If one were to
withdraw EUR and then change them for GBP, I would assume there would
be two transactions.  So far, it looks like it might be reasonable to
enforce just 2 currencies.

What would a multiple-currency money-changing transaction look like?
i.e.  one where you give the banker USD 100 and ask for EUR 50, GBP
25, and the rest in ITL?  Assuming a "tourist" account setup, where
you have a single Cash account that you keep your records in, maybe
like:

   Acct			DR			CR
   cash(USD)					USD 100 (USD 100)
   cash(USD)		USD 47 (EUR 50)
   cash(USD)		USD 35 (GBP 25)
   cash(USD)		USD 18 (ITL 20,000)

Or worse, if you actually accounted for things correctly with a
different cash account for each currency:

   Acct			DR			CR
   USD cash(USD)				USD 100 (USD 100)
   EUR cash(EUR)	EUR 50 (USD 47)
   GBP cash(GBP)	GBP 25 (USD 35)
   ITL cash(ITL)	ITL 20,000 (USD 18)

Now you're in basically the same situation, but I can understand that
transaction, and I think it should be allowed.  Under the current
balancing rules, it would be balanced just fine, and should be (if the
exchange rates were actually correct instead of the made up ones I
used).

How it should/would show up in the register is another question
altogether.

b.g.