Currency handling

Sterling Intelligent Promising supports data sets that contain multiple currencies. Currencies must be in the ISO three letter currency format for Sterling Intelligent Promising to recognize them. For example, USD, GBP, or EUR.

During the Sterling Intelligent Promising tenant onboarding process, the base currency for the provisioned account is defined. Sterling Intelligent Promising allows you to define locales for a tenant by using APIs. Additionally, locales can be associated with a node in your fulfillment network.

The currency at the node is considered when evaluating processing cost. The currency of the carrier transit rate is considered when evaluating shipping cost. The exchange rate between the original and base currency is used to normalize all currencies into a base currency. The exchange rates are fetches from the European Central Bank (ECB). If the currency is not provided, Sterling Intelligent Promising uses the base currency that is defined as part of Default tenant settings.

During optimization, Sterling Intelligent Promising converts the value of a price or cost to the base currency that was defined as part of the default tenant settings. This conversion is done for the following types of cost calculations:
  • Shipping cost
  • Load-balancing cost
  • Processing cost
  • Delay penalty
  • Distance penalty

The total cost at the different node candidates is then compared to the base currency to determine the best candidates for sourcing. The exchange rate between the original and base currency on the date of optimization is used in the conversion. Exchange rates are fetched from the European Central Bank (ECB).

When Sterling Intelligent Promising calculates the distance penalty, it applies the current exchange rate to convert the distance penalty cost to the base currency. For more information about the distance penalty, see Distance penalty cost.

When Sterling Intelligent Promising calculates the delay penalty, it applies the current exchange rate to convert the delay penalty cost to the base currency. For more information about the delay penalty, see Optimization penalties.

If a locale is defined for a node, the currency code that is associated with the locale is used during optimization. When the fulfillment network consists of nodes in different locales, the currency that is associated with the node’s locale is used during currency conversion.

Example 1

The following table demonstrates how the original currency of the processing cost is converted to the base currency as it flows in through the ingestion process and is used during optimization.
Table 1. Example of cost conversion
Base currency Processing cost Date of optimization Processing cost (original currency) Exchange rate (1 June 2021) Processing cost (base currency)
USD node_key,rate_per_hr,hrs_per_unit,currency 00074,11.1,0.05,EUR 1 June 2021 11.1 × 0.05 = 0.555 EUR 1.2215 0.6779 USD
The following table demonstrates how the default currency is determined when currency information is missing.
Table 2. Default currency
Data type Default value
Processing cost
  • Uses the currency of the ship node when the currency is not defined.
  • Uses the base currency when the LocaleCode of the ship node is not defined.
Node-balancing values
  • Uses the currency of the ship node when the currency is not defined.
  • Uses the base currency when the LocaleCode of the ship node is not defined.
Carrier transit rates
  • Uses the base currency when the currency is not provided.

Example 2

You can set the tenant's currency is set to USD. However, the transit rates are configured as per the currency of the countries where the shipping routes are defined.

For example, a store can operate in both the USA and Canada. However, the transit rates for the USA are defined in USD and rates for Canada are defined in CAD. The labor and processing costs are also specified in the currency of the country where the store is located. These costs is applicable to Tiebreaker cost and Over capacity penalty at ship nodes for node balancing values.

Here is an example with transit rates and processing costs for Canada and the conversion to USD for a particular order.
Country
Canada
Order transit rate
CAD 5
Hourly rate of processing cost
CAD 20 per hour
Hours to process a unit
1 hour
Total Costs in CAD
Transit rate
CAD 5
Processing cost
CAD 20/hour * .1 hours = CAD 2
Total cost in CAD
Transit rate + Processing cost = CAD 7
Currency Conversion
Exchange rate
1 CAD = 0.75 USD
Converted Costs to USD:
Transit rate
CAD 5 * 0.75 = USD 3.75
Processing cost
CAD 2 * 0.75 = USD 1.5
Total cost in USD
USD 5.25

The total cost order to serve at a ship node for an order in Canada when converted to USD becomes USD 5.25 that includes transit rates and processing costs.