How to set up currency conversion
To set up invoicing currency, go to More: Administration: Currency. Continue by clicking on the List of currencies. Hereby you get on a page with a list of both active and available currencies to add as illustrated below. Active currencies can only be selected from the list of available ones by clicking on "Add" button. There is no option of manually creating a new type that is not included in the list. Nevertheless, you can edit any parameters of any existing currency in the list. To remove a currency from the list of active ones, just click on "Delete" button.
To edit existing currency, you must make it active first. Continue by clicking on the "Edit" button on the same line. The following parameters can be edited: name, currency code, symbol and number of digits after the decimal separator. Moreover, you have to select for which projects ) is this currency used as the only one. Remember that a project can have one currency only. Whenever you select a project that is already used by another currency, it will be unselected from the other one to allow it for this one.
You can always change the project's currency from here or directly in project's settings as shown below. The selected currency will be used in invoicing module of this particular project as well.
Moreover, Budgets plugin (incomes, expenses, personal costs, profit...) is now integrated with Currency. This makes working with currencies even simpler as you can select the required one using an easy drop-down list directly in Budgets, without the need to change the Currency settings on the global or project levels. In addition to that, Budgets plugin has also been integrated with WBS in Cost Breakdown Structure. We recommend that you always add at least one currency for the Portfolio Overview in Budgets to work correctly.
Easy Currency Q&A
Easy currency is a module responsible for formatting and recalculation of entities which have price abstraction (are denoted by currency). Recalculation is supported on:
- Invoicing (discontinued plugin)
- Budget sheets -> internal and external rates are in currency defined on project
- Budgets / cashflow
A currency could be set on a project and in some cases ( invoices ) on item (in this case currency select will be filled by project currency). Currency can be managed in Administration section, where the admin could add currency from the list and additionally set formatting symbol for it. If no symbol is set, ISO code of currency will be used (3 letters). The currency will be display as a suffix after the amount. This could be changed in money module, where you can choose suffix or prefix in project settings and invoicing if you pick formatting according to easy money.
To activate new currencies in system, it is required to run
bundle exec rake easyproject:currency_update_tables RAILS_ENV=production
and RESTART SERVER.
If a client wants to use old data with new currencies, he must set exchange rates between currencies and run :
bundle exec rake easyproject:currency_recalculate_all RAILS_ENV=production
or could be done in one step with:
bundle exec rake easyproject:currency_update_tables_and_recalculate RAILS_ENV=production
As mentioned, a restart is required after each command. When adding a new currency, it is strongly recommended that you run the recalculation on server shortly after adding the currency. Otherwise, new data in this currency will be inconsistent and incorrect. You can set exchange rates manually or synchronize them from ECB. To see the option to synchronize, go to rates setting tab of currency page and activate it. To synchronize it from ECB you must set working day in past and push synchronize.
Apart from 'show ECB sync button ' option, there is the option to lock exchange rates older than x months and formatting options for 'Rates by Currency' tab, where you can choose the day of month and number of months after and before the current month. Internally currency works by changing database tables by adding currency suffix to price columns. These currency columns are recalculated when the entity is saved according to exchange rates, price, currency, and date.