Edit

Ledger Balances

One issue when working with different currencies is that they are no longer additive. For example if I add one US Dollar to one Australian Dollar I don’t come up with a sensible answer of two.

In the MoneyWorks general ledger, a foreign currency account is represented as two separate amounts: the value in the foreign currency, and the value of the difference between that currency and the base currency. The difference is stored in a (normally hidden) account called a “delta account”, so that the following is always true:

Base Currency Value = Foreign Currency Value + Delta Value

For simplicity, we’ll refer to this as the Currency Ratio (even though its not technically a ratio).

Thus if I transfer $100 from my currency to a bank account in currency X, and the exchange rate is 1.5, I will end up with $X150. In the general ledger this is represented as:

    $X Bank Account            $150
    $X Bank Delta Account       -50

Thus the sum of a foreign currency account and its delta account will always give the local dollar equivalent at the current exchange rate.

In MoneyWorks the Delta accounts have a special code, basically the code of the corresponding account with -~~DEL appended. In the normal course of events, you will not see these.