Service Portal Problem with sc_catalog_item - 'Price' || sc_shopping_cart - 'Total Price' converting Euros to US Dollars.

cindylove
Kilo Guru

We have a global Service Portal. I have Product Catalog items set up for North American users that display price in $. I also have items for Europe that display in Euros. Both display in the Service Catalog correctly. (NA users can only see NA products / EU users can only see EU products, using 'Available for')

The North American items display Price (sc_cat_item) and Total Price (sc_shopping_cart) in $ correctly.

'Price' and 'Total Price' are converted from Euros to US Dollars in sc_cat_item and sc_shopping_cart for European items.

 

These are the price options set for each Product Catalog Item - Europe:

Price -

Type = Fixed

Currency = Euro

I set the sys property - glide.currency_price.use_all_fraction_digits  to false, so that it will only display 2 decimal places.

 

Here is the problem - 

sc_catalog_item - 'Price'  & sc_shopping_cart - 'Total Price' are converting Euros to US Dollars.

 

I didn't see any settings in cart layout.

Am I missing a sys property or do I need to change something to prevent the price conversion somewhere else?

 

 

1 ACCEPTED SOLUTION

cindylove
Kilo Guru

Just to update the issue...

We had to sync Country Code from Active Directory to the user records. Country Code allows for the proper conversion to the user's currency. If you don't have Country Code set, the instance looks at your browser location (which is where ever you are logged in at).

Now, if I enter a fixed price in the Product Catalog item it will be displayed as entered in the Service Catalog. The user will see the correct converted 'Price' and 'Total Price' of the currency that is used in their country (in sc_cat_item and sc_shopping_cart).

If I put the price of the item as 'Calculated', the user will only see the calculated 'Price' and 'Total Price' of their country's currency.

Basically, it's a business decision at this point on how to display the price to the user. 

View solution in original post

10 REPLIES 10

cindylove
Kilo Guru

Just to update the issue...

We had to sync Country Code from Active Directory to the user records. Country Code allows for the proper conversion to the user's currency. If you don't have Country Code set, the instance looks at your browser location (which is where ever you are logged in at).

Now, if I enter a fixed price in the Product Catalog item it will be displayed as entered in the Service Catalog. The user will see the correct converted 'Price' and 'Total Price' of the currency that is used in their country (in sc_cat_item and sc_shopping_cart).

If I put the price of the item as 'Calculated', the user will only see the calculated 'Price' and 'Total Price' of their country's currency.

Basically, it's a business decision at this point on how to display the price to the user. 

Hi Cindy,

I have a similar situation where i have put the currency as "Euro" and type as "Fixed(single)" currency.

It is showing the price in euro when i open the item in native UI but in Service portal it is showing in Dollars($).

Could you please provide any pointers on this ..?

Also the issue you have highlighted by you in

https://community.servicenow.com/community?id=community_question&sys_id=5e228bf2db8d57c44e1df4621f9619e9&view_source=searchResult

How did you solve this issue. I am also facing this problem where it is showing in Dollar in the shopping cart after the item is added to the cart.

 

I found out from ServiceNow that currency will display in Dollars($), because this is the default.

The system checks these things in this order to calculate currency:

1. country code in user record...if not set, then

2. checks system property for locale....if not set, then

3. it uses the country or locale reported by the browser to determine the user's currency.

 

I'm in the US, so every time I would test, no matter who I impersonated, the currency would be in US$. This caused a lot of frustration :).

To resolve this issue, we had to sync the user's country code from AD. Once we did that, the currency will display in the user's country currency.

If you set your Item Price to "Fixed" in Euros, then service catalog will display in Euros, but the User's Price and Total Price will display in their country's currency. Ex: If you have a guy in Denmark....Service Catalog will display Euros, but Price and Total Price will display in Krone.

I changed all our Items Price to 'Calculated', so that All Prices will show in the User's country currency to avoid confusion.

 

Hope this helps,

Cindy

Hi Cindy,

Thank you for the reply.

few more to ask... 🙂

You mentioned that you had to sync the country codes from AD.

 

We are also storing the country codes in the user profiles. But how does this work to identify the currency of the user?where does this country code and currency mapping gets stored?

Can we get the Price and Total price also displayed in single currency?

Also was it working for you in the service portal?

 

Pointers on this would be a great help...