Each Delivery Manager Retailer is set up by default with a baseline trading currency of Pounds Sterling (GBP). This is indicated on the Delivery Manager Setup page:
Note
To change the GBP
Trading Currency default, you need to contact Metapack support.
Regardless of which currency is set as the Trading Currency, you can pass consignment values in other currencies to your carriers.
To do this, you need to set up the exchange rate for your Trading Currency against each of the other currencies and then ensure that you keep the rates up to date.
Setting up currencies and exchange rates
-
Select Manage system properties from the System Properties panel near the foot of the Setup page, below Currency Selection:
-
Ensure that Retailer Settings is selected and then click Add Property at the foot of the System Properties page:
-
After Name, add a property called
currency.supported
and, after Text, add a list of the required three-letter currency codes, separated by commas, e.g.Click Set Property to add the property and its values to the list of existing Retailer properties.
-
You now need to add a property for each of the currencies you added at step 3. Each property is used to maintain the current exchange rate for the Trading Currency against the particular currency.
The properties are in the format
currency.rate.<trading_currency>.<other_currency>
. So, if we assume thatGBP
is still our base currency, then, to continue the example from step 3, we need to add the following properties:currency.rate.gbp.eur
,currency.rate.gbp.usd
,currency.rate.gbp.cad
,currency.rate.gbp.aud
andcurrency.rate.gbp.pln
.The Text value should specify the current exchange rate.
As an example, to add
currency.rate.gbp.eur
:-
Click Add property.
-
After Name, add
currency.rate.gbp.eur
, and, after Text, specify the exchange rate for GBP vs. the Euro: -
Click Set Property to add the property and its value to the list of existing Retailer properties.
-
-
Once you have added all the required exchange rates, you need to add the property that will activate the conversion of the carrier service attribute values to the currency specified in the consignment.
To add it:
-
Click Add property.
-
After Name, add
allocation.currency.conversion.enabled
, and set the Text value totrue
: -
Click Set Property to add the property and its value to the list of existing Retailer properties.
-
-
Verify that your list of Retailer system properties now contains the conversion enablement flag, the list of currencies supported, and the exchange rate for each, e.g.
-
You can now change the default Valuation Currency shown above if required. For example, if your consignment and parcel values are always in euros, you may wish to change it to
EUR
:Once you have selected the required default, click Set my default Valuation Currency.
Note
This is the currency that is displayed by default when you create a delivery.
Maintaining exchange rates
You are responsible for keeping the exchange rates up to date, as they are not updated automatically.
To modify one:
Adding currency values to a consignment
To create values for a consignment that are not in the Trading Currency, you need to pass the following in the particular API call:
-
In
consignmentValueCurrencyCode
, enter the appropriate three-letter code of the alternative currency (e.g.EUR
) that you set up in System Properties.Tip
If this currency is already set as the default Valuation Currency, then the
consignmentValueCurrencyCode
will automatically be set to this, and you do not need to specify it explicitly. -
Enter the consignment values in the alternative currency. For example, if
EUR
is associated with theconsignmentValueCurrencyCode
, then:-
if the
consignmentLevelDetailsFlag
is set totrue
, enter the overallconsignmentValue
in euros; or -
if the
consignmentLevelDetailsFlag
is set tofalse
, enter eachparcelValue
andtotalProductValue
in euros (these will in turn cause the overallconsignmentValue
to be calculated automatically).
-
Note
Refer to the Properties needed to Call or Create a Consignment.
The API response picks up the exchange rate from the current property value, e.g.
<consignmentLevelDetailsFlag xsi:type="xsd:boolean">false</consignmentLevelDetailsFlag>
<consignmentValue xsi:type="xsd:double">3800.4</consignmentValue>
<consignmentValueCurrencyCode xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">EUR</consignmentValueCurrencyCode>
<consignmentValueCurrencyRate xsi:type="xsd:double">1.09</consignmentValueCurrencyRate>