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.
- 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
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
|
1 June 2021 | 11.1 × 0.05 = 0.555 EUR | 1.2215 | 0.6779 USD |
Data type | Default value |
---|---|
Processing cost |
|
Node-balancing values |
|
Carrier transit rates |
|
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.
- Country
- Canada
- Order transit rate
- CAD 5
- Hourly rate of processing cost
- CAD 20 per hour
- Hours to process a unit
- 1 hour
- Transit rate
- CAD 5
- Processing cost
- CAD 20/hour * .1 hours = CAD 2
- Total cost in CAD
- Transit rate + Processing cost = CAD 7
- Exchange rate
- 1 CAD = 0.75 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.