farmerswife has a simple multiple currency functionality that allows up to three currencies: Primary, Secondary and Third Currency options where secondary and third are converted based on the Primary currency and the conversion mainly served as a viewing option. This option becomes a legacy when using the new Multiple Currencies option.
Please note: the new Multiple Currencies feature described in this article, is a licensed feature. Please contact Sales for pricing information.
The Multiple Currencies feature allows to:
- use as many currencies as you need.
- select a currency per project.
- set the exchange rate per project.
- choose whether to use conversion rates or object currency rates on projects.
- create multiple currency rate cards.
- report on multiple currencies by ad-hoc converting diff. currencies in reports.
TABLE OF CONTENTS
- Configuration
- What happens to my Projects and Invoices after enabling Multiple Currencies?
- Working with Projects and Currencies
- Budgeting
- Invoicing
- Rate Cards
- Multiple Currencies and Purchase Orders
- Reporting
- Known Limitations
Configuration
When upgrading to 7.0 or later version, a list (currencies_examples.csv) of all the world's official currencies will be added into your farmerswife Server within the html_templates/other/currency_importer folder.
To enable the feature, go to Toolbox > Server Setup > Financial > Multiple Currencies Setup.
First configure the currencies and settings and as a last step tick the box to "Enable Multiple Currencies".
!!! We strongly recommend to run a test environment with your production database first if you had been using the legacy multiple currencies in the past. Feel free to get in touch with support@farmerswife.com for a test license and further advice!!!
!!! Make sure the name of the existing "legacy" currencies match the new ISO Currency names so the upgrade wizard can identify and match them when upgrading clients, projects, invoices.
e.g. if in the Server Setup > Financial Tab in Primary Currency it states: Euro or € and then you enable the new Multiple Currencies, the system won't be able to match Euro/€ and EUR hence when updating clients/projects/invoices you may have to individually update each client/project/invoice. Therefore FIRST in rename Euro to EUR !!!
Main Currency
By default USD, EUR, GBP are listed as available options (from the *.csv). If your Main Currency is not among these, you first have to toggle your Main Currency and others you'd like to use as active, then you can choose as Main Currency.
To change the Active status of a currency select it and right click and choose "Toggle Active":
farmerswife always needs to have a Main Currency to be able to generate consolidation reports later on.
Once you've set the Main Currency you can enter the Conversion Rates to the Main Currency.
Default Currency Rates For New Projects:
Choose here which option you want to be set as default for new Projects to take Currency Rates "From Objects" or "Using Conversion Rates".
We recommend to first set this to "Use Conversion Rates". After the upgrade wizard completes, you can change this default to be "From Object Rates"
Search For Currencies On A Specific Date:
The conversion rates configured in this window take effect on new Projects.
You can use the Date and Time filters to search for previous used conversion rates on a specific date and time. This is for consultancy only.
Currencies and Conversion Rates
The "Currencies And Conversion Rates" table shows the complete list of all the currencies that were imported. EUR, GBP and USD are Active by default and have a conversion rate.
The currency that was selected to be the Main, jumps to the top of this list and is highlighted in blue.
The Main Currency is listed above the table (e.g. USD ->) and additional currencies and conversion rates next to it.
The table has the following columns:
Currency Name: | A non-editable field showing the official currency name, e.g. Euro. Currently a value that is only displayed in this table. |
Alphabetic Code: | A non-editable field showing the official currency alphabetic code. e.g EUR, for Euro. This value is displayed in the Project Edit window, in the Invoice Editor, in the Object/Object Class/Activity Modify window when setting up Multiple Currencies Rates in Object Manager, and in the Print Designers when selecting the "Currency" Element. |
Numeric Code: | A non-editable field showing the official currency numeric code, e.g. 978, for Euro. Currently a value that is only displayed in this table. |
Active: | To activate a currency, single click into the yes/no field change the value from No to Yes. Active currencies will jump to the top of the list. |
Symbol: | Add a symbol for the currency that you activate. This symbol is displayed in the Project Edit window, in the Invoice Editor, Invoice Creator and Manager at the bottom. If no symbol exists for the Currency please type the 3-digit ISO Code. |
Conversion Rate Columns: | Click in the cells of the first "Primary" Currency row to add the conversion rates. |
Divisions
On a farmerswife database with various Divisions (licensed module), you can additionally configure a default Currency per Division. This needs to be done in the farmerswife Server application > General Tab > click the Division to open and select currency.
e.g. UK Division will have GBP as default currency and the US Division will have USD as default currency.
When creating a new Project for the UK Division, the Currency field will automatically show GBP. This can be changed on a per project basis. An example would be that UK Division creates a Project but the client is from Germany, so the Project needs to be in EUR.
Clients
You can set "default" Currency on Clients > Client Details > Currency.
When creating a new project and associating with that client you'll be prompted if you'd like to apply that client currency or use the default/Division currency.
Currency Rates
You can decide on a Project/Invoice basis to apply currency rates based on one of the two following ways:
Currency Rates From Objects
Add specific Buy and Sell Rate for your different Currencies on the Object (Suites, User, Resources, Services, Materials, Expenses, Media Orders), Object Class and Activity in your Object Manager. Rates are then pulled from the Object's Currency Rates.
>> Rates By Quantity on Activities are currently not supported by multiple currencies <<
In the Object Manager, there is a new icon next to the Buy/Sell Rate fields on the Modify window of Objects (Suites, User, Resources, Services, Materials, Expenses, Media Orders), Object Classes and Activities, that opens the Multiple Currencies Rates window.
This window shows the Buy/Sell Rate fields for the main currency (at the top), and for the rest of the currencies (below), allowing you to set up prices for your services per currency.
In the Object Manager you can choose from Edit View to show all the diff. Currency Rates as columns:
When enabling the "Use Currency Rate" option on a Project, instead of using the main currency rates and a conversion rate to calculate rates, farmerswife will directly pull the rate from the specific object currency chosen for the Project.
If an Object/Activity/Object Class does not have a rate (either buy or sell) configured on the Project's Currency the Object's Rate will be 0 and you can edit the rate.
Import Currency Rates for your Objects
With the Object Importer you can now import all Currency Rates for your Objects in the Object Manager.
Using Conversion Rates
Rates are converted from the Main Currency rates and applied to the selected project currency using the corresponding conversion/exchange rate.
Click on the icon next to the Currency field in the Edit Project window, to open the "Conversion Rates Used In Project" window.
Users must have User Permission "Can Edit Conversion Rates On Projects" activated. See further down.
Once conversion rates are updated and the user clicks OK, all existing financial lines (from Bookings, Services, Budget details) in the Project will get updated according to the new conversion rate. New financial lines added from that moment onwards will be calculated according to the new conversion rate.
Object Rates show both the Main Currency and the Project Currency in it's converted Rate.
Permissions
New User Permission available for Users with Tasks/Bookings/Rates license, to be able to edit the conversion rates on a Project basis.
Working with Projects and Currencies
Choose your project's currency
In the Edit Project window, there is a field to select the Currency.
On new Projects, the Currency field will display the Main Currency by default but you can change it to another one.
If you're using Divisions, the Project Division & linked Currency will be according to the User's Division.
E.g. Peter is from ES Division, when he creates a new project, the Division = ES and Currency = €.
Selecting the client
If you select a client with a diff. currency than the project's currency make sure to select "No" in the upcoming dialogue to keep the chosen Project Currency.
Apply currency rates in the Edit Project window
Currency Rates: "Using Conversion Rates"
You get the original "Buy / Sell Rates" and convert them using the conversion rate.
To change Rates, the Edit Rates window will show the Main Currency AND the selected Project Currency.
You will be able to edit the rate in the main currency or vice versa. It's always converting in one or the other way.
When adding e.g. Expenses that have a 0 Object Manager Rate you can enter the Expense in either currency and it will convert accordingly.
You can add expenses to a Project on any currency, and get fw to calculate the output on the project's currency. This is typically needed when adding expenses that come from different countries.
Currency Rates: "From Objects"
Using this you get the "Currency rates" of the Object for the selected Project Currency.
Changing Project Currency or Currency Rates
You can change the currency at any time however it is not recommended as it can result in 0 Rates if Object Rates are used or specific Rates have been entered on some lines.
If you change the currency you'll be prompted to confirm that you want to do that change.
In general, objects rates are converted in the following way when changing the project currency:
Currency Rates: From Objects
- If the object INHERITS CLASS RATES and
- It has a class and activity ==> gets currency rates of activity
- It has class and no activity ==> gets currency rates of class
- If object doesn’t inherit class rates or doesn’t have class and activity ==> gets currency rates of object
- If the Currency Rate of the new selected Currency is 0 the Rates will be 0!
Currency Rates: Using Conversion Rates
Everything is converted with conversion rates for the following sources and objects:
1. CLASS BOOKINGS OBJECTS AND EXTRAS
2. MATERIALS, SERVICES, EXPENSES
3. PROJECT OBJECTS (directly on project)
4. PROJECT WORK ORDERS
1. OBJECTS, MATERIALS, SERVICES, EXPENSES
5. MEDIA ORDERS
1. OBJECTS
2. TIMEREPORT
1. MATERIALS, SERVICES
6. VIRTUAL BOOKINGS
1. OBJECTS AND EXTRAS
For the following, CONVERSION RATES are always used:
1. CUSTOM MATERIALS/SERVICES/EXPENSES
2. PRICE AGREEMENTS
3. SELL PRICE OPERATORS (ONLY CASH DISCOUNT)
4. PROJECT WORK ORDERS
1. FIXED PRICE
5. MEDIA ORDERS
1. FIXED PRICE
2. TIMEREPORT
1. USER RATE
What happens when you edit rates?
For each Object we now have:
- Buy / Sell Rates: The original Buy / Sell Rates. The numbers stored in here should always be in the "Main Currency".
- Currency Rates: A new index that stores the currency rates of the Object for each active currency. Includes Day and Hour rates.
- Currency Rates "Using Conversion Rates": you are always editing the "Main Currency" and then the "Project Currency" is converted on the fly.
- Currency Rates "From Objects" means you are editing all the "Currency Rates" of the Object for the chosen Day / Hour configuration.
Projects Search
You can display a column with the project currency in the Advanced Project Search > filtering: Projects
Closed and archived Projects
You cannot change the currency settings on closed projects.
Closed Projects will get the Main Currency and default Currency Rates behaviour (Use Conversion Rates).
Archived projects will be updated when setting to Active again after opening from Archive.
Archived Projects will not have any Currency set. You can set a Currency after setting the project "Active" again.
Budgeting
Currency Rates: Using Conversion Rates
Rates in Budgets are converted by the project's conversion rates.
Currency Rates: From Objects
Rate will come form the Object's (Class, Activity, Extra, MO) Currency Rates.
If you use/apply a Budget Template, the previously set Rates if the project is in Main Currency will be kept.
If you use another Currency e.g. EUR and "Rates from Object", if an Object has a EUR rate that Rate is pulled when applying the template (both saying to Reset Rates to List Price but also when saying to NOT reset to List Price). Else the Rate will be 0.
Invoicing
Invoices will inherit the Project's settings but it is also possible to change these after creating the invoice.
Invoicing a Project Using Conversion Rates
The invoice will have the current conversion rate from the project but you can modify the Conversion Rate at the point of invoicing.
You can also change the Currency IF the client requires to receive an invoice in another than the Project's currency. In that case you should use the conversion rates.
!!! If you choose to use Object Rates all Objects which do NOT have a Rate defined in the chosen Currency will be set to 0 !!!
Creating a prepayment for projects using conversion rates
Enter the amount in the secondary currency and it will convert based the chosen conversion rate.
When creating another invoice for the same project and farmerswife prompts that there has been an invoice already detected, however the prepayment invoice amount shows in Main Currency.
Invoicing a Project with Currency Rates From Objects
- Creating a prepayment you'll be able to enter the amount in the secondary currency.
- Part Invoices
- Total Invoice
Client vs Project Currency
If the Client has different Currency set than Project, upon creating an invoice for the project you'll be prompted which Currency to use. Most likely you want to use the Project Currency.
Unreferenced Invoices
If you create an Unreferenced Invoice or Credit Note you can choose whether to invoice using Object Rates or Conversion Rates.
If Divisions are setup, the Currency will be the Division's Currency, otherwise the Main Currency. You can change to another Currency.
Invoice Creator
In both Invoice Creator & Manager you can go to the Menu > Edit view and add the Main Currency columns tot he table view. This allows to see the totals invoiced in invoice currency but also the main currency totals per invoice.
The bottom of the window shows totals for all used Currencies.
Invoice Manager
Invoice Summary shows selected invoice in their invoiced currency. You can display Currency and Conversion Rate in the report. For an ad-hoc conversion use the Financial Report.
The bottom of the window shows totals for all used Currencies.
Rate Cards
Rate Cards allow you to set different price lists for Objects to be applied on Projects.
Currency Rates:
Related to this it is important to set the Currency Rates: Using Conversion Rates. If you change on a Project to use Currency Rates: From Objects, all Rates in the Rates Card will be set to 0.00.
Client Rate Cards
When adding Objects to the Rate Card you can set different rates for the Client related currency.
IF NO Currency is defined in Client Contact > Client Details, then only the Main Currency (here: USD) shows when adding Objects to the Rate Card.
If you define a Client Currency you have to first apply the changes and close the contact. Then open again.
You will either see the Object Rates when there's Objects that HAVE Rates in the assigned Currency or the converted main currency rate.
You can select an Object and then alter the Rate in both Currencies.
In the example below, there are no Object Rates in DKK set in the Object Manager for any Object so the main currency (USD) rates are converted into DKK. When you add the Object to the Rate Card you can set the Rate either in DKK or Main Currency and it will convert.
Creating a new project you can link to your client and the corresponding currency and rate card will be applied. To view/alter the rates in the client's currency you first have to save the project and then open the client rate card from the project.
Project Rate Cards
You can create a Project Rate Card from within a Project. If the Project's currency is different than Main Currency, the Rates window will show both currencies. If you are using
a) Conversion Rates > the object rates are converted based on the projects currency conversion rate and you can alter manually in both currencies and they convert.
b) Object Rates > the object rates either show the set rates or 0.00 and you can alter manually.
Purchase Orders
You can raise Purchase Orders in different ways. Read more about it here.
Raising a PO from a Budget or Project Financial Line (from a Booking or Extra), the Project's Currency will be set as the PO's Currency and also the Currency Rates setting will be inherited.
Raising a PO from the PO Window, the Currency will be the Main Currency as default.
The Currency Rates setting will be as per the Toolbox Default setting. You can then change the Currency and whether to use Object Rates or Conversion Rates.
When using Conversion Rates it can result in some undesired rounding issues.
e.g. you are using conversion rates and then enter the rate in the PO currency, it will convert back to Main currency based on the conversion rate and then calculate the total and convert it back to the PO currency... see example below.
On a Resource you can set their Buy Rate in diff. Currencies as Object Rates.
On raising a PO using Currency Rates From Objects, the corresponding Rate will be used.
Raising PO with Currency different to Project Currency
When raising a PO with a different Currency than the Project's Currency, the Rate will be converted to the Project's Currency to give a correct result / view in the Edit Project window.
The PO Buy total in project overview is using now the PO line total for main currency as source of truth, and converted to the project currency. In those scenario where the booked number is different to the PO line quantity, we keep using the main currency unit rate as source and converted to the project currency.
The PO line total calculations in "Using Conversion Rates" mode recalculates the line total by converting the unit rate and then recalculates the line total from the converted unit rate. This could cause rounding differences due to fw only supporting 2 decimals when converting totals between currencies, maybe in reports, but improves UX when working on Project Overview and PO's.
In the below example:
If you manually enter the Rate of 30CHF if converts into 33.33 (Main currency unit rate) * 9 = 299,97 USD
… and then, used to get the total in CHF by doing 299,97 * 0.9 (conversion rate) = 269,97 USD
The exact reason is the 2 decimals limitation in the fw unit rate while the conversion rate CHF > USD in that project has 16: 1.1111111111111112.
So, when you change the CHF unit rate to 30 fw values are:
CHF unit rate: 30
USD unit rate: 30.33
But …
The REAL USD unit rate should be: 30 x 1.1111111111111112 = 33.333333333333336
Then if we multiply 33.333333333333336 * 9 = 300 USD
Then if we multiply 300 USD * 0.9 = 270 CHF which would be the correct value as well.
Reporting
Project & Invoice Report
In the reports you can choose to convert into main currency or not convert.
When printing e.g. a quote, invoice or project report you may not want to convert the values but send the report in the selected currency.
Financial Reports
The Financial Reports window allows to choose whether you want to convert values in reports or not.
Depending on the type of Financial Report you can choose.
e.g. running a Utilization report over multiple Objects you choose to convert into Main Currency to get a workable number.
Object Report
All Rates are displayed in Main Currency only.
User Report
All Rates are displayed in Main Currency only.
What happens to my Projects and Invoices after enabling Multiple Currencies?
We recommend to run a test environment with your production database first if you had been using the legacy currencies in the past. Feel free to get in touch with support@farmerswife.com for a test license and further advice.
When you enable Multiple Currencies on a farmerswife system that already has projects and invoices the upgrade "Wizard" will apply.
Clients
You can set "default" Currency on Clients > Client Details > Currency. The wizard will detect and map the "new" currencies based on the Symbol. However not every Currency has a currency symbol!
Make sure the name of the existing "legacy" currencies match the new ISO Currency names so the upgrade wizard can identify and match them when upgrading clients, projects, invoices.
e.g. if in the Server Setup > Financial Tab in Primary Currency it states: Euro or € and then you enable the new Multiple Currencies, the system won't be able to match Euro/€ and EUR hence when updating clients/projects/invoices you may have to individually update each client/project/invoice. Therefore FIRST in rename Euro/€ to EUR.
Alternatively you set the currency symbol on the new enabled currency to match the legacy, see $ example below.
In that case the wizard can detect a match.
If ISO name and Symbol can be matched then the Currency can be updated correctly:
If there's no match you'll have to update each client manually.
Projects
Projects currently don't have any currency data associated to the them.
So all existing Projects will be set to the Main Currency.
You'll get a pop-up saying that all Projects with no currency will be set to the Main Currency.
The Currency Rates will be set to Use Conversion Rates.
In case you're using a Project Custom Field: "Currency", then the Wizard will detect this field.
The name of the Custom Field needs to be “Currency”, otherwise, fw will apply the main currency.
Then, if the value of that CF matches the 3 letters code or the symbol (i.e: USD $) of one of the currencies, then that project will be set using the MC conversion rates for the detected currency.
Archived Projects will not be affected/updated/modified. If you later restore an archived project you'll be asked to choose the currency only when setting it Active again.
Invoices
Invoices can already have currency data associated to them (legacy multiple currencies). However the issue is that, with the current setup, it's possible that the currency code could be anything. Meaning that it could not be the official ISO currency code. So we can't determine with 100% accuracy what that currency is. Setting the wrong currency with the wrong conversion rate could be an issue when reporting on past invoices.
The next popup will bring up all Invoices that are "unresolved" in a table with columns "Name", "Detected Currency", "New Currency" (plus whatever other columns will help identify the invoice and the currency it's supposed to be in).
In"Detected Currency" it will display the existing manually entered currency code for example "EUR". Then in the "New Currency" there will be a selector with all the new currencies. And if it finds the old currency code in the list of new currencies it will select it by default. If not then you will have to choose one from the list manually. In this case they would have to choose DKK.
On Projects/Invoices with detected currency that is different to the main currency the rates are stored in Project/Invoice currency rather than in main currency. If a Currency that is different to Main Currency is detected on a Project, the conversion rate of `main currency (USD) -> detected currency (EUR)` will set to be `1` for that project. This way the rates should be the same after applying the wizard however it would mean that projects with detected currency will have different conversion rates to the ones shown in `Toolbox settings`.
The conversion rates of the legacy currency data will always be kept. It will not be overwritten by the new conversion rate. This is just for determining the correct currency.
If I update the conversion rate on the invoice, it's now overwritten with the legacy conversion rate. It should not change/apply anything on the invoice apart from the "Currency"
When all Invoices have a currency selected you will be able to complete the wizard.
On Closed Projects you can open and edit the Currency without having to set Active.
What happens to my Projects and Invoices after enabling Multiple Currencies?
We recommend to run a test environment with your production database first if you had been using the legacy currencies in the past. Feel free to get in touch with support@farmerswife.com for a test license and further advice.
When you enable Multiple Currencies on a farmerswife system that already has projects and invoices the upgrade "Wizard" will apply.
Clients
You can set "default" Currency on Clients > Client Details > Currency. The wizard will detect and map the "new" currencies based on the Symbol. However not every Currency has a currency symbol!
Make sure the name of the existing "legacy" currencies match the new ISO Currency names so the upgrade wizard can identify and match them when upgrading clients, projects, invoices.
e.g. if in the Server Setup > Financial Tab in Primary Currency it states: Euro or € and then you enable the new Multiple Currencies, the system won't be able to match Euro/€ and EUR hence when updating clients/projects/invoices you may have to individually update each client/project/invoice. Therefore FIRST in rename Euro/€ to EUR.
Alternatively you set the currency symbol on the new enabled currency to match the legacy, see $ example below.
In that case the wizard can detect a match.
If there's no match you'll have to update each client manually.
Projects
Projects currently don't have any currency data associated to the them.
So all existing Projects will be set to the Main Currency.
You'll get a pop-up saying that all Projects with no currency will be set to the Main Currency.
Make sure to have the Default set to "Use Conversion Rates" in the Multiple Currency Setup before continuing here.
Should you have used a Project Custom Field: "Currency" in the past, then the Wizard will detect this field:
Archived Projects will not be affected/updated/modified. If you later restore an archived project you'll be asked to choose the currency only when setting it Active again.
Invoices
Invoices can already have currency data associated to them (legacy multiple currencies). However the issue is that, with the current setup, it's possible that the currency code could be anything. Meaning that it could not be the official ISO currency code. So we can't determine with 100% accuracy what that currency is. Setting the wrong currency with the wrong conversion rate could be an issue when reporting on past invoices.
The next popup will bring up all Invoices that are "unresolved" in a table with columns "Name", "Detected Currency", "New Currency" (plus whatever other columns will help identify the invoice and the currency it's supposed to be in).
In"Detected Currency" it will display the existing manually entered currency code for example "EUR". Then in the "New Currency" there will be a selector with all the new currencies. And if it finds the old currency code in the list of new currencies it will select it by default. If not then you will have to choose one from the list manually. In this case they would have to choose DKK.
On Projects/Invoices with detected currency that is different to the main currency the rates are stored in Project/Invoice currency rather than in main currency. If a Currency that is different to Main Currency is detected on a Project, the conversion rate of `main currency (USD) -> detected currency (EUR)` will set to be `1` for that project. This way the rates should be the same after applying the wizard however it would mean that projects with detected currency will have different conversion rates to the ones shown in `Toolbox settings`.
The conversion rates of the legacy currency data will always be kept. It will not be overwritten by the new conversion rate. This is just for determining the correct currency.
If I update the conversion rate on the invoice, it's now overwritten with the legacy conversion rate. It should not change/apply anything on the invoice apart from the "Currency"
When all Invoices have a currency selected you will be able to complete the wizard.
On Closed Projects you can open and edit the Currency without having to set Active.
Known Limitations
Services: Markup > only available on main currency
Media Orders: You can change Rates in the MO Window.
For the "Urgent Add On": at the moment it will always be the same number no matter what currency you’re in.
- Rates By Quantity only Main Currency
- Rates By Duration only Main Currency
Activities:
- Rates By Quantity only on Main Currency
- Overtime Activities only supported when using conversion rates.
Virtual Bookings:
- Object Browser showing Main Currency.
Fixed Prices:
- Only supported when using conversion rates.
Users: Overtime only in Main Currency
Price Agreements
- Only supported when using conversion rates.
Budget Operators
- Only supported when using conversion rates.
Incoming Invoices: Only in Main Currency
Invoice Payments: Only in Main Currency