Multi-currency
The webshop of Exponential can sell products in several currencies. A product with a Multi-price attribute has its own price in the currencies you set by hand (custom prices), and prices converted automatically into the others (auto prices). Visitors choose the currency they see, and the basket and orders use it.
The parts
- Currencies (Store > Currencies, /shop/currencylist): code, symbol, formatting locale, the automatic and custom exchange rates and a rate factor, and the status (active or inactive). Policy shop/setup.
- The Multi-price datatype (ezmultiprice): custom prices per currency and auto prices for the rest, with a VAT type.
- Exchange rates: updated from a rates service by an exchange rates update handler (the European Central Bank by default), or set by hand.
- Preferred currency: chosen by each visitor (shop/preferredcurrency, policy shop/buy), with a default in shop.ini.
- Products overview (Store > Products overview, /shop/productsoverview, policy shop/administrate): the prices of all products of a class in one currency.
Store > Currencies (/shop/currencylist): the currency list, here still empty, with New currency. With currencies it also shows the auto rate, custom rate, factor and status, and the buttons Update auto rates, Update autoprices and Apply changes.
Getting started
- Create the currencies you sell in.
- Use a Multi-price attribute in your product class, or convert existing Price attributes.
- Set the exchange rates, and how auto prices are rounded.
- Set the default preferred currency.
Settings
All in shop.ini:
[CurrencySettings] # the currency a visitor sees before choosing one PreferredCurrency=USD [ExchangeRatesSettings] ExchangeRatesUpdateHandler=eZECB RepositoryDirectories[]=kernel/shop/classes/exchangeratehandlers ExtensionDirectories[]= # the currency the rates are relative to BaseCurrency=EUR [MathSettings] MathHandler=eZPHPMath RoundingType=round RoundingPrecision=2 RoundingTarget=false
Limits
- Auto prices are not updated by a cronjob: after a rate change, press Update autoprices on the currency list.
- The shipped European Central Bank address needs changing to HTTPS; see Exchange rates update handlers.
Related pages
In this section
- Custom prices and auto prices Custom prices and auto prices of Multi-price products in Exponential 6, with an example.
- Rounding auto prices How Exponential 6 rounds auto prices: MathSettings and rounding targets.
- Currency rates How Exponential 6 calculates and updates exchange rates: auto rates, custom rates and factors.
- Creating a new currency Create a currency in Exponential 6: the fields of the form and the next steps.
- Editing a currency Edit a currency in Exponential 6 and what a change of rate, factor or status affects.
- Removing a currency Remove a currency in Exponential 6, what is removed with it, and the alternative of making it inactive.
- Preferred currency The preferred currency of visitors in Exponential 6: the default setting and how visitors choose.
- Multi-price products Multi-price products in Exponential 6: the class attribute, the edit form and template use.
- Products overview The products overview of the Exponential 6 administration: prices of all products of a class.
- Exchange rates update handlers Exchange rates update handlers in Exponential 6: the ECB handler, its HTTPS address and writing your own.
- Upgrading your webshop Convert Price attributes to Multi-price in Exponential 6 with exp:convertprice2multiprice.
Contributors
- Svitlana Shatokhina Commenter
- Graham Brookins Updated Maintainer
Comments
Add a comment