Foreign Currency Transactions

From OpenPetra Wiki
Revision as of 10:25, 8 February 2011 by Wolfganguhr (talk | contribs) (Created page with 'Transactions between base currency account and base currency account are as trivial as transactions between foreign currency accounts of the same currency. The most complex proce…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Transactions between base currency account and base currency account are as trivial as transactions between foreign currency accounts of the same currency. The most complex process is how to move above the border.

An Example Transaction

Voucher-currency-exchange.jpg

The best way is to get a look onto a voucher I've got by changing some money. I beg your pardon for the bad quality but is was meant to be for private use only. That was no business money.

This voucher tells us: I have changed € 30.00 into £ 21.82. The exchange rate was 1.3752 and there was a fee of £ 2.50. I'm comming form Germany and so let us assume that the base currency of my accounting system is Euro.




Furthermore the exchange rate on the voucher was 1.3752 but the internal exchange rate may be 1.300. So we geht the account list:

For the exchange itself:

  1. Account 6000 Petty Cash € - Credit: € 30.00
  2. Account 6001 Petty Cash £ - Debit: £ 21.82

For paying the provision:

  1. Account 6001 Petty Cash £ - Credit: £ 2.50
  2. Account 9000 Provisions € - Debit: TransactionValueIn€Of

The exchange rate on the voucher pointed out an exchange rate of 1.3752. This value shall not be used here for two reasons:

  1. The base currency of the accounting system (I’m living in Germany) is the Euro and I have Changed from Euro to pound. So I need the inverse exchange rate 1/1.3752 » 0.7272.
  2. But even this value is the wrong exchange rate because only one exchange rate for all accounts inside a time period is allowed. So let us assume, that we have an actual exchange rate of 0.7270 from Euro to British pound.

Let us divide £ 21.82 by our internal value and we find a six decimal rounded value of 30.013755. Because actually it is the only value inside one Journal, then we have to round the sum up do two decimals which means that £ 21.82 will represent a base currency value of € 30.01.

But in the next step we have to pay £ 2.50 for the service which means a base currency value of € 3.438790. For the account number 9000 it is the only transaction of the journal and so the total value is € 3.44. So let us complete the accounting list.

  1. Account 6001 Petty Cash £ - Credit: £ 2.50
  2. Account 9000 Provisions € - Debit: € 3.44

Let us go round the transactions

  1. we have spend (credit-account) € 30.00. -> + € 30.00
  2. we have got (debit-account) £ 21.82 -> -30.01
  3. we have spend £ 2.50 - > + € 3.44
  4. we have accounted a provision -> - € 3.44

This makes a difference of 1 cent. Let us assume that there is a set of accounts – “4000 Transaction Loss” and “4001 Transaction Win” we get a complete list of transactions ...

  1. Account 6000 Petty Cash € - Credit: € 30.00
  2. Account 6001 Petty Cash £ - Debit: £ 21.82
  3. Account 6001 Petty Cash £ - Credit: £ 2.50
  4. Account 9000 Provisions € - Debit: € 3.44
  5. Account 4001 Transaction Win € - Credit: € 0.01

This “Transaction Win” brings a Journal into balance and enables the posting of the journal. So a button like "Create Currency balance transaction" would be a good idea.

TODO:

  1. We have to find realistic or typical values for the account numbers.
  2. We have to check if debit und credit is always on the correct side.
  3. Two accounts (Loss and Win) or one account (accounting on debit and credit side).