Multi Currency

Jump to: navigation, search

This topic is added as there is requested several times to add Multi Currency to osFinancials.

Multi Currency is a topic not easy to implement in a double entry accounting package afterwards. (Perhaps I'am wrong here)

For those who want this functionality become available in osFinancials this is the place to discuss the way to go. Keep in mint that users can request functionality, but there should be a programmer stand up willing to build it. With other words, you couldn't claim but give input to attract a developer. It's now up to you!

It should contain when finished, a detailed plan how to implement this functionality, without disrupting functionality for current users who don't request Multi Currency.

A good starting point for users could be the following page(s); Tutorial on multiple currency accounting by Peter Selinger

And to give an idea to see the complexity where we are dealing with to build a solid solution, a document how to implement multi currency as a provided solution in a BaaN ERP system. download PDF

Pieters view

I think the best way it to use true multy currency. and i think the best way to do it is with a intermediat account for a specific currency.

Let take a look at this multy currency transaction

invoice 100 USD for DEBTOR USDEBTOR

We have a ledger in Euros

Current ratio = 1 usd = 1 euro

The transactions on the ledger must be processed like this

100 USD D debtor

100 USD C Exchange USD account

100 EURO D Exchange EURO account

100 EURO C Proffit account in Euros


Now couse we have the transactions balanced in the Exchange account we can use this account to calculate diverences in the valuta and we never have to worry about unbalancing the ledger

Lets say the dollar becomes 1 USD 0.9 EURO

If we need to calculate the ledger in Euros we would do this as followd.

100 D USD (on the debtor) = 90 Euro

100 C USD on the Exchange account = 90 Euros but couse Exchange account EURO has 100 D Euro the main account wil now show 10 Euros C (before it was 0).

This way the ledger is always in balance.

We need to remind the ratios so a historical entry (you forgot to put in a month ago) wil be able to recal the ratio of that day. Also you must be able to override this manualy (it will be used to calculate what ammount must be put on the EURO contra account.

This way we can also interpet the full balance to anny currency.


This way the system is not limited to anny currency that is introduced and this can also be used for other things that currency (also stock and bonds). From a technical aspect i would like the system to have a base currency so that you can see the ammoun tin this bases currency fast.

If we recief this transaction on our dollar account we can just put it agains the debtor. If this is a Euro account the same conversion will be made true the Exchange account

So accounts should hold currency types and a list of exchange ledger per currency can be used to transport it right.

Internal the accounts will have the value in that currency and can be converted at reprot time to the latest rates. so the trail balanse will include proffit / losses of the currencies.

There will be a list like this

  • Currency loss / gains 7050-000
  • USD Exchange account 7050-001
  • EURO Exchange account 7050-002
  • X Exchange account 7050-003


When ever a balance entry must be made on 2 diverent currency account the Exchange accounts will be used.

In a batch (free batch) you can only mix currencies on the exchange account) So manual input can still be done.

Then we need to update the to report account type currency and make conversions to viewed currency.

  • Routine for the balansing entries
  • Routine for the posting of documents
  • balans report
  • Open item
  • Document reports
  • All other report involving transaction
  • proffitloss report
  • trail balance report
  • Transaction list (display multy cur)
  • TLedger and TAccount viewers

These reports must be able to show in a selected currency at a adjusteble rate. (can pic from list historical or current but must be able to select it) if we use 1 base currency then we can do with rates between this currency. But we will lose accurratie when cross valuta exchanges will be handeld. (base Euro from dollar to ponds conversion will be more acuurate then dollar to euros to ponds )


  • balans report
  • proffitloss report
  • trail balance report
  • TLedger and TAccount viewers

As you can see its a hell of a Job.

Personal tools