Multiple Currencies in Magento 2
Configure Currency Magento 2 to determine what currency customers are allowed to use when checking out on your store. The currency symbol will appear in product prices and sales documents such as orders and invoices. Most interestingly, store admins are able to customise its appearance if needed.
Configure Currency
Firstly, you need to define which currencies are accepted to appear along with the price on your store.
- Step 1: Select the Allowed Currencies
- Step 2: Set the Import Connection
- Step 3: Complete the Scheduled Import Settings
- Step 4: Refresh the Currency Rates
Step 1: Select the Allowed Currencies
- On the Admin Panel, go
Stores > Settings > Configuration
. - On the left panel, under
General
, selectCurrency Setup
. - Open the
Currency Options
section,- Choose the primary currency for the
Base Currency
in the online transaction. - Assign
Default Display Currency
to the currency that you use to display pricing in your store. - In the
Allowed Currencies
list, collect any currencies you need for the payment in your store. If support multiple currencies, hold down the Ctrl key and select each option.
- Choose the primary currency for the
Admin Panel → Stores → Settings → Configuration
This will open the present screen for the ‘Configuration’, from the left corner we will expand the “General” link & fetch the sub-link for “Currency setup”.
Configuration → General → Currency Setup
Out of all options which we can see presently under the title of ‘Currency Setup’, we need to focus firstly for “Currency Options”.
We need to expand this & now we have the three options for currencies under this.
- When the system message reminding the cache refreshment appears,
Close
it and refresh it later. - To determine the scope of the base currency, you need to:
- On the left panel, under
Catalog
, selectCatalog
, and open thePrice
section. - Set
Catalog Price Scope
to either “Global” or “Website”.
- On the left panel, under
Base Currency: This option is for the base currency which we are using for the online payment transactions. Though base currency is directly related with price of the products, but if we change the base currency for the products, the price will remain same & the currency rate will not be updated. For an instance we are charging some products in dollars & then change the base currency into pounds, we need to update the currency rates as well, in order to avoid fluctuations in profit margins, for this do stick to our next video for updating currency rates. For our present video, after choosing the required base currency like ‘US Dollar’, we will step ahead to our next option.
Default Display Currency: This option is for displaying the currency of your products on front end. We can select the currencies for each of the store-view & that need to be enabled in “Allowed Currencies” as well. For instance we are choosing, ‘US Dollar’.
Allowed Currencies: This option enables us to have the list of choices for different currencies we need to have for our front-end, but we do need to select the base currency as well. Once we do the currency rates are updated by our admin panel, the list of currencies we allow will show the exact currency rates to our customers after the time they have selected their required currency. Along with US Dollar for our instance, we have selected Euro as our other option of allowed currency.
We can define the scope of currency as well, which is configured globally means for all websites.
From the left corner, we need to select the sub-link for “Catalog”.
This will open the current page, from which we need to select the “Price” option; this will give us the sub-option of “Catalog Price Scope” to set the scope for our currencies as “Global” or “Website”. Kindly select as per your requirements.
Next get back to ‘Currency Setup’ to configure “Import Connection”. From here we will select the option of ‘Webservicex’.
This will have the sub-option for “Connection Time-out in seconds”, which is asking for the time in seconds we need to assign before the connection time expires.
We are keeping it as “150 seconds” for an instance. Kindly select as per the requirement.
Then we need to configure the “Scheduled Import Settings” which is falling under this ‘Currency setup’ title.
This will show us various sub-options to get the settings done:
1) Enabled: For this, we need to select “Yes” in case we are allowing the automatic update of currency rates.

2) Service: This will have the name of the rate provider, which is “webservicex” by default.
3) Start Time: This will have the time frame we need to assign in seconds, minutes or hours for updating the currency rates.

4) Frequency: This option will set the frequency we need to have for rates, i.e. daily, weekly or monthly.
5) Last options are for Error Email Recipient, Email Sender & Template which we need to select as per our store requirements.
After doing all these settings, we need to save the work done so far with our “Save Config” button. We need to the Cache management as well if it is prompted.
Step 2: Set the Import Connection
- On the left panel, under,
General
select.Currency Setup
- Open the section
WebserviceX
, enter the accepted duration (in seconds) of inactivity before the connection times out in the fieldConnection Timeout in Seconds
.
Step 3: Complete the Scheduled Import Settings
- Continuing in the tab
Currency Setup
, open the sectionScheduled Import Settings
. - If you want to auto-update currency rate, choose “Yes” in the field
Enabled
. Then do the following:- Set by
Service
selecting the existing list and the default value is “Webservicex”. - Set
Start Time
(hours, munites, seconds) to auto-update the rate. - Set for
Frequence
the rate updating: Daily, Weekly, or Monthly. - In the field
Error Email Recipient
, you will insert an email address which receives the email notification when there is any error in the import process. If enter many emails, the comma is used to separate them. - Set
Error Email Sender
who will appear on the email notification - Set to
Error Email Template
the email template used for the error notification.
- Set by
Save Config
to complete.- When the system message displays together with “Cache Management” link, you need to click on the link to refresh the invalid cache.
Step 4: Refresh the Currency Rates
Make sure that the currency rates have been already updated with the current values before they go into effect. Scroll down this post and get the guide to update the rates manually even or to import the rates automatically.
Modify the currency symbols
As mentioned above, you can modify the currency symbols comfortably.
- On the Admin Panel,
Stores > Currency > Currency Symbols
- Enable to use the standard symbol or clear the checkbox
Use Standard
and insert a custom symbol as you want. Save Currency Symbols
to enable the new symbol.- Remember to refresh the cache by clicking the “Cache Management” link on the sysstem message.
Update Currency Rates
Before updating the currency rates, ensure that the current rate configuration is ready to use. The currency rates can be set manually, or imported into the store. Especially, you can configure the currency rates to be auto-update on schedule and these rates are always lastest.
Update a Currency Rate as manual
- On the Admin,
Stores > Currency > Currency Rates
- Choose the rate you want to change, and overwrite a new value for each currency supported.
- Click to
Save Currency Rates
enable it.
Import Currency Rates
- On the Admin,
Stores > Currency > Currency Rates
- Choose the while
Import Service
“WebserviceX” is the default service. - Click on the
Import
button.
The updated rates appear in the Currency Rates list. If the rates have changed since the last update, the old rate appears below for reference.
Save Currency Rates
to enable it.- Remember to refresh the cache by clicking the “Cache Management” link on the system message.
Import Currency Rates on Schedule
- Enable Cron (Schedule Task) on your store.
- Complete the Currency Rate Setup and establish the import connection and schedule.
- To ensure that the import runs well on schedule, let check the Currency Rates list. Then, wait for the duration of the frequency setting established for the schedule, and check the rates again.
Ref: Magento 2 User Guide