Selling in more than one currency

Shopify can show customers in other countries prices in their own currency, so an order from the United States might be charged in US dollars even though your store's prices are set in pounds. Xero keeps its books in a single currency of its own, called the base currency, chosen when your organisation was created. When those two are not the same, something has to be converted somewhere, and this article covers where that happens and what it means for what you see in Xero.


There is nothing to turn on. Orders in another currency are handled from the moment Xero is connected. And if your store, your customers and Xero all use the same currency, none of this affects you.



What you need in place

  1. Add every currency you sell in to Xero, under Settings → Currencies.
  2. Check that the bank or clearing account each payment gateway points at on Setup - Payouts is in either your Xero base currency or the currency the invoice is raised in.
  3. Choose a rounding account on Setup - Xero, so small conversion differences have somewhere to go.


Which currency the invoice is posted in

That comes down to the currencies you have added in Xero, under Settings → Currencies. If the currency your customer paid in is on that list, the invoice is created in Xero in that currency. If it isn't, the amounts are converted first and the invoice is created in your own store currency instead.


So the same order can land two different ways, and the only thing that decided it was whether that currency had been added in Xero. A UK store that has added USD gets a USD invoice for a customer who checked out in dollars; the same store without USD added gets that order as a GBP invoice. If you would rather see the customer's currency on the invoice, add it in Xero first — Organisation is not subscribed to currency shows where. Give it a minute to come through, then re-post the order.


Adding a currency changes what happens from then on. It doesn't rewrite invoices that were already posted.



Posting every invoice in your own currency

Some stores would rather not carry foreign-currency invoices in Xero at all, even for currencies they have added. One currency in the books is simpler to reconcile and simpler to report on, and the exchange rate stops being something to think about invoice by invoice.


We can set your store so every invoice is raised in your own store currency, whatever the customer paid in. The amounts come from the converted totals Shopify already holds against the order, so the invoice agrees with what Shopify reports for that sale. The order still records what the customer was charged and in which currency; it is only the invoice that is kept to one currency.


This is the opposite trade-off to the section above. You give up seeing the customer's currency on the invoice, and get a single-currency ledger in return. It isn't a switch on the settings page — email us at help@hyvelabs.co with your shop URL if you would like it turned on.



Which exchange rate is used

Where the payment provider tells us the rate that applied to the order, we send that rate with the invoice, so Xero converts using the same figure the order was charged at. Where no rate comes through with the payment, we leave it off, and Xero converts using its own rate for the date on the invoice.



Why the Xero total can differ slightly from Shopify

Shopify and Xero don't always convert at the same moment or from the same source. A converted invoice can end up a cent or two away from the order, and the payment a cent or two away from the invoice. Those small differences go to your rounding account instead of being left to sit unreconciled, which What the rounding account is for explains.


Anything bigger than a rounding difference isn't normal. Tell us about it rather than adjusting the invoice.



If you need the invoice to match your payout exactly

Stores that take foreign-currency payments through Shopify Payments and reconcile against the payout often want the invoice converted at the rate the money actually settled at, rather than a daily rate. That isn't a switch on the settings page. Email us at help@hyvelabs.co with your shop URL, the currencies involved and the payout you're trying to match, and we'll set it up for your store. You will also want a rounding account chosen on Setup - Xero, so the small leftover difference has somewhere to go.



One combination Xero cannot process

Xero will not accept a payment when three different currencies are involved at once: the invoice raised in one, the bank or clearing account the payment goes into in a second, and your Xero base currency in a third. Two of the three matching is fine; it is only all three being different that Xero refuses. The invoice itself still posts, so what you actually see is an invoice sitting unpaid.


Avoiding it is the second check above. An Australian-based organisation selling in USD is fine with a USD clearing account, because the account matches the invoice, and fine with an AUD one, because the account matches the base. A EUR account for those same USD sales is the combination Xero rejects. A clearing account in your own base currency is the simplest setup and always satisfies this.


If you would rather hold each currency in its own account, a USD account for USD sales and a EUR account for EUR, that routing is something we set up for you. Email us at help@hyvelabs.co with the currencies and the accounts you want them to land in, rather than switching accounts yourself on a live setup.



Still not sure?

Email us at help@hyvelabs.co with your shop URL and any questions about multi-currency and we'll look at what's the best configuration for your store.

Still need help? Contact Us Contact Us