Take the 2-minute tour ×
Magento Stack Exchange is a question and answer site for users of the Magento e-Commerce platform. It's 100% free, no registration required.

Is there a way to specify the currency of the price with the catalogProductUpdate (SOAP V2) call?

I use Magento soap V2 API via PHP to update the price of a product. Our price management system is based on USD prices. Our Magento default currency is in CAD. Here's my call :

$this->soap_client->catalogProductUpdate($this->soap_session_id, 'magento-sku',
        'price' => '25.99'

I would like the '25.99' to be in USD while still keeping CAD as our default currency.

share|improve this question

migrated from stackoverflow.com Mar 25 at 8:41

This question came from our site for professional and enthusiast programmers.

No, whatever you do you need to calculate in to the base price. We know, it's the usual problem, have to perform full product reloads for fx changes every night. We use a special solution layer, Magento Dynamic Pricing, that sits over Magento CE/EE & keeps pricing in the source currency calculating pricing in realtime for fx, cogs, margins, delivery duty paid, etc. Basically Varien they hacked Magento with the Price Scope to allow local checkout currencies, but it put the burden on to the business to dataload or have inconsistent pricing, hence why we use the solution for international sales. –  user2935 Jul 27 at 8:53

1 Answer 1

up vote 3 down vote accepted

This is not possible out of the box.
All prices are stored in base currency.
I see 2 options here.

  1. The obvious one, you calculate the price in Base currency and then send it through the API.
  2. You implement your own method that calculates the price in the base currency based on the currency you pass to it, then call the catalogProductUpdate method with the price in base currency
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.