# Currency Rate By Product

Hello,

Problem: We have different groups of products at different USD to CAD exchange rates. One group is say at 85% and the other is say 70%. We need to be able to define exchange rates at the product level.

Logic:

- Use current global exchange rate for products that do not have a manual entry at the product level
- Create a “override” field(s) on the product page that allows us to enter the exchange rate for the specific product for a specific currency.

Cs-Cart Team - can you add this to default package?

Any addon devs want to take this on?

Thanks

Dave

Curious why the rate would be different among products? The rate is the rate and would apply to all products in an order. How would you calculate the order? Especially if you have discounts/promotions based on percentage that would then be applied differently?

If you're trying to price an item based on cost, there are much better ways. I.e. our EZ Cost Basis addon as one example.

Curious why the rate would be different among products? The rate is the rate and would apply to all products in an order. How would you calculate the order? Especially if you have discounts/promotions based on percentage that would then be applied differently?

If you're trying to price an item based on cost, there are much better ways. I.e. our EZ Cost Basis addon as one example.

It has to do with MAP pricing.

One supplier has a MAP policy that states the USD price of an item is \$100 and the CAD price is \$130 (30%) then I have another supplier has a MAP policy that states the USD price of an item is \$100 and the CAD price is \$126 (26%).

So I need to be able to control the currency rate by product due to MAP pricing policies.

I don't know what you're using for you MAP pricing display/calucations, but I would adjust that to enable you to set different map prices by currency rather than try to change the currency structure of the cart.

In the MAP pricing addon we used to provide, we simply had a value associated with the product. It would have been relatively easy to extend it to have different values for different currencies (though the data may have needed to be calculated to the base currency so it all worked out through the cart).

I'd discuss this with whomever the provider of your map pricing addon is.

I don't know what you're using for you MAP pricing display/calucations, but I would adjust that to enable you to set different map prices by currency rather than try to change the currency structure of the cart.

In the MAP pricing addon we used to provide, we simply had a value associated with the product. It would have been relatively easy to extend it to have different values for different currencies (though the data may have needed to be calculated to the base currency so it all worked out through the cart).

I'd discuss this with whomever the provider of your map pricing addon is.

I don't have a MAP addon. MAP is just a supplier agreement to price product at a certain amount. E.G \$100 US / \$130 CAD.

Right now I have my base currency as USD and a 1.26 CAD exchange rate across the site. I need some products to be 1.30 exchange rate...

MAP has to do with advertised (presented) pricing, not what's charged in the end. I.e. MAP = Minimum Advertised Price. So you can only display that price but generally can sell for less (I.e. common way is to display real price after item is added to the cart). Some manufacturers have extended MAP to really be Minimum Sales Price. If your suppliers are giving you minimum prices (not minimum advertised prices) then you have a different problem if they are specifying the price in different currencies versus letting you price according to the current exchange rate.

In my opinion, to do what you want to do will require quite a bit of trial and error and a lot of invasive code in distributed files to handle all the places where 'price' is used in calculation. Note too that everything will have to be converted back to the CART_PRIMARY_CURRENCY for payment processing, refunds, rma, commissions (in multivendor), etc.