Selling in more than one currency
A Malaysian store selling into Singapore, Brunei, Indonesia or further afield faces an early decision: show prices in ringgit, or in the customer's currency.
Showing the local currency converts better, for the obvious reason that a shopper can tell what something costs without doing arithmetic. It also introduces a set of consequences that reach into pricing, margin and reconciliation.
Where the rate gets applied
Four places, and the difference decides who absorbs the movement — covered in full in currency conversion at checkout and who pays for it, and worth restating here in the selling context.
A price you set manually in each currency. Full control, your risk when rates move, and it only updates when you update it.
A rate the platform applies to your base price, usually with rounding rules and often a margin. Automatic, convenient, and the effective price changes as rates move.
The customer's card issuer, if you charge in ringgit. Costs you nothing and the customer sees an unfamiliar currency at checkout, which is exactly what hurts conversion.
Your gateway at settlement, converting what it collected into what it pays you. You bear this one and you find out afterwards.
Most stores end up running two or three simultaneously without having chosen to, and the first useful exercise is simply writing down which applies to each market.
Pricing across markets is not conversion
A converted price is arithmetically correct and commercially naive.
The same product in another market faces different competition, different expectations about what things cost, different delivery costs to reach it, and possibly different duty. A straight conversion carries none of that.
Set prices per market deliberately where the market is worth serving properly. Then let currency movement be a margin question rather than a pricing one.
Two specific points that come up repeatedly.
Rounding matters commercially. A converted price landing on an odd figure looks computed rather than considered. Round to something that reads like a price in that market.
Delivery is where cross-border margin goes. International shipping is a large multiple of domestic, and a price converted without accounting for it can be below cost once the parcel is quoted — see shipping revenue versus shipping cost.
What has to be recorded on every transaction
Five fields, and most systems keep two — see building the reconciliation data model.
The transaction currency. The amount in it. The rate applied. The date of that rate. The base-currency amount.
Without all five, a question that will definitely arrive — why is this payout different from the order total — cannot be answered, because reconstructing it requires the rate and date that were not stored.
The corresponding discipline in reporting: revenue is recorded at the rate on the transaction date, not at today's rate and not at a period-end rate. Otherwise your historical revenue moves every time exchange rates do, which makes any comparison between periods meaningless — see multi-currency accounting with AI.
Three things that get misread
Margin looks like it moved when it did not. Cost is usually in ringgit and revenue in several currencies, so a product can appear more profitable this month purely because of a rate. That is information about the currency market, not about your business, and it needs separating from real margin movement.
Refunds do not net to zero. A refund converts at a later date and a different rate, leaving a small gain or loss behind on every fully refunded cross-border sale. Combined with a processing fee that may not return, a refunded international order can cost more than the margin the sale earned — see what happens to the fee when you refund.
Payouts differ from order totals for two separate reasons. Fees and conversion. They need recording separately, because one is a cost of sale you can negotiate and the other is an exchange difference you cannot.
The costs that come with the border
Currency is one of several things that change when a parcel crosses one.
Duty and taxes at the destination, and whether they are collected from the customer at checkout or on delivery. The second produces a surprise charge and a refusal to accept the parcel, which is the most expensive possible outcome — you pay outbound and return shipping and get the goods back.
Cross-border payment fees, which are typically higher than domestic ones and sometimes carry their own conversion loading — see card payments in Malaysia and what they cost.
Longer delivery and lower delivery certainty, which raises both support contacts and dispute risk.
Returns that may not be worth accepting. Return shipping from another country can exceed the item's value, which makes the return policy a genuinely different question for cross-border orders.
Together these mean a cross-border order carries meaningfully more cost than a domestic one at the same price. Whether it is worth serving is answerable per market, and the answer is frequently yes for some destinations and no for others — see the real margin on a Shopify order.
Common questions
Should a Malaysian store price in the customer's currency?
Showing a local price converts better, because a shopper can see what something costs without doing arithmetic. The trade is that revenue, margin and payout are then measured in units that move against each other, and the conversion may be applied by your platform, by the customer's card issuer or by your gateway at settlement — each of which puts the cost in a different place.
Is converting your ringgit price enough for another market?
No. A converted price is arithmetically correct and ignores different competition, different price expectations, higher delivery costs and possible duty in that market. Prices are better set per market deliberately, with rounding that reads like a price locally, leaving currency movement as a margin question rather than a pricing one.
What has to be stored on a foreign-currency sale?
Five things: the transaction currency, the amount in it, the rate applied, the date of that rate, and the base-currency amount. Most systems keep two, which makes the inevitable question — why does this payout differ from the order total — unanswerable, since reconstructing it needs the rate and date that were never recorded.
What makes a cross-border order more expensive than a domestic one?
Destination duty and taxes, which produce a refused parcel and two shipping charges if collected on delivery rather than at checkout; higher cross-border payment fees often carrying a conversion loading; longer delivery with more support contacts and dispute risk; and return shipping that can exceed the item's value, which makes the return policy a different question entirely.
Related: currency conversion at checkout and who pays for it · multi-currency accounting with AI · the real margin on a Shopify order
Read next
See what you could build
Start a free trial and describe what your business needs in plain language — SmartB Studio builds the module for you.
Start free trial