MoneyWorks Manual
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.