Currencies
Currencies in Dynamicweb allow you to create and manage currencies related to the countries or economic zones in which you do business. You can then select the currency as the default currency on the Ecommerce settings of a website.
To create a new currency:
- Go to Settings > Ecommerce > Internationalization > Currency
- Click New Currency in the toolbar to open the Edit currency view (Figure 1.1)
From edit currency view, you can:
- Name the currency (the name can be localized to fit each of your languages)
- Select a region in the regional info dropdown – if a region is selected here, the Settings section will be auto-filled by the system and will not be editable.
- Set an exchange rate for the currency (in relation to your default currency)
- Check the Default checkbox if you want this currency to be your default, or base, currency.
- Select a rounding method for prices in the selected currency – if none are available, you must create them. Read more below.
If you selected a region from the regional settings dropdown, you have access to the regional settings. With these you can customize how positive and negative amounts are rendered – or use the default pattern. You can also choose to show the currency code instead of the symbol.
If you don’t use the region dropdown you have access to the Settings fields, where you can select a currency code, currency symbol, currency format and a payment code manually.
Exchange Rates
Exchange rates are defined in relation to the default currency and the base rate set on it – for example:
- Your default currency is DKK – Danish Kroner
- The base rate of DKK is set to 100
Each additional currency rate is then defined by entering the amount of base currency units it takes to buy the base rate in the new currency.
- US dollars – you need to spend 654 base currency units (DKK) to buy the base rate (100) in dollars
- Turkish Lira – you need to spend 48 base currency units (DKK) to buy the base rate (100) in Turkish lira
- Euros – you need to spend 744 base currency units (DKK) to buy the base rate (100) in Euros
Dynamicweb does not support decimal numbers for exchange rates – but if you need more precision you can always set the base rate to 1000 (=1 decimal) or 10000 (=2 decimals).
Yes, it’s ass backwards – but it is what it is :)
Rounding
Prices in Dynamicweb are subject to changes – from changing exchange rates, taxes, VAT rates and so forth.
To combat weird prices, and to conform to currency-specific pricing practices (such as .99-prices), you can set up rounding methods and apply them to a currency.
To create a rounding method:
- Go to Settings > Ecommerce > Advanced configuration > Rounding
- Click New rounding in the toolbar to open the rounding method definitions (Figure 2.1)
From here, you must:
- Name the rounding method – it’s a good idea to make the name descriptive of the method, since you will be selecting it based on the name only
- Select a method – up, down or nearest
For whole numbers (integers), you must:
- Select a factor to round by and optionally an addition to add or subtract from the rounded price
- Example: with the method Nearest and the factor 10, the rounding will be:
134 → 130, 135 → 140, and 159 → 160 - If you also set the addition to -1, the rounding will be:
134 → 129, 135 → 139, and 159 → 159
- Example: with the method Nearest and the factor 10, the rounding will be:
For decimals, the number of decimal places is essential as it determines the size of the factor in relation to the total price. You must:
- Specify how many decimal places you want to include
- After that, select a factor to round by and optionally an addition to add or subtract from the rounded price
- Example: with the factor 10 and decimal places set to 1 (e.g. 1.0), you will always get whole numbers (1.0, 2.0, 3.0)
- With the factor 10 and decimal places set to 2 (e.g. 1.00), you can get 0.1, 0.2, 0.3 and so on
Once a method has been saved for the first time, you will have access to the test-area. This is very useful!
To use the test area (and remove some confusion about the rounding rules):
- Enter an amount in the Amount-field
- Click the play-button to see how the rounding method behaves
Once created, you can apply the rounding method to a currency by going to Settings > Ecommerce > Internationalization > Currency, editing the currency, and selecting the rounding method (Figure 2.2).
You cannot apply two rounding methods to a single currency - if this happens for any reason, e.g. through custom code, neither rule will be applied.
EcomCurrencies
Contains the currencies defined -> Settings -> Ecom -> Internationalization -> Currencies.
Field name | Data type | Length | |
---|---|---|---|
CurrencyCode | nvarchar | 3 | |
CurrencyLanguageId | nvarchar | 50 | |
CurrencySymbol | nvarchar | 5 | |
CurrencyName | nvarchar | 50 | |
CurrencyRate | float | 8 | |
CurrencyIsDefault | bit | 1 | |
CurrencyCultureInfo | nvarchar | 50 | |
CurrencyPayGatewayCode | smallint | 2 | |
CurrencyRoundingId | nvarchar | 50 | |
CurrencySymbolPlace | int | 4 | |
CurrencyAutoId | int | 4 | |
CurrencyPositivePattern | int | 4 | |
CurrencyNegativePattern | int | 4 | |
CurrencyUseCurrencyCodeForFormat | bit | 1 |
EcomGlobalIso
System lookup table for internationalization ISO data.
Field name | Data type | Length | |
---|---|---|---|
IsoId | int | 4 | |
IsoCode2 | nchar | 2 | |
IsoCode3 | nvarchar | 3 | |
IsoCountryNameDK | nvarchar | 255 | |
IsoCountryNameUK | nvarchar | 255 | |
IsoCurrencyCode | int | 4 | |
IsoCurrencySymbol | nvarchar | 255 | |
IsoVat | float | 8 | |
IsoCultureInfo | nvarchar | 50 | |
IsoDisabled | bit | 1 |
EcomRoundings
Contains setup data for rounding methods as defined in Settings -> Ecom -> Advanced configuration -> Rounding.
Field name | Data type | Length | |
---|---|---|---|
RoundingId | nvarchar | 50 | |
RoundingName | nvarchar | 255 | |
RoundingModIntegerPart | int | 4 | |
RoundingModDecimalPart | int | 4 | |
RoundingModIntegerCorrection | int | 4 | |
RoundingModDecimalCorrection | int | 4 | |
RoundingMethod | int | 4 | |
RoundingDecimals | int | 4 | |
RoundingAutoId | int | 4 |
EcomCustomersSettings
Links a user (AccessUserId) with preferred currency, payment method and shipping method (CurrencyCode, PaymentMethodId, ShippingMethodId).
Field name | Data type | Length | |
---|---|---|---|
SettingId | int | 4 | |
AccessUserId | int | 4 | |
PaymentMethodId | nvarchar | 50 | |
ShippingMethodId | nvarchar | 50 | |
CurrencyCode | nvarchar | 3 |