New: two-way inventory sync across Zoho warehouses — see how it works
Order Sync

Syncing Multi-Currency Shopify Orders into Zoho

Selling in more than one currency? Learn how Zync's currency modes — shop default vs customer presentment — control what your Zoho books record for each order.

The multi-currency problem

If your Shopify store sells in more than one currency, every order arrives with two possible "truths." There is the amount in your store's base currency — the single currency Shopify uses internally to keep your reporting consistent — and there is the amount the customer was actually charged in their own presentment currency at checkout. Both numbers describe the same sale, but they are rarely identical, and only one of them matches what your payment provider eventually deposits.

The question of which number lands in Zoho sounds trivial until you try to reconcile a month of orders. If your books record a converted base-currency estimate while your payout statements are denominated in the currency the customer paid, you end up reconciling two moving targets against each other: the conversion Shopify applied at the moment of sale, and the conversion your processor applied at settlement. The gap between them is small per order and large across a quarter, and it lands squarely on whoever closes the books.

This is not a flashy feature, but it is one of the decisions that quietly determines whether your accounting stays clean. Zync handles it with a single explicit setting rather than a guess, so you decide once and every order follows the same rule.

How Shopify and Zoho model currency differently

Shopify is built around a base (shop) currency. No matter how many presentment currencies you enable, Shopify always knows the base-currency value of an order, and it stores the presentment amount alongside it. So an order placed in euros by a store whose base currency is US dollars carries both figures: what the customer saw and paid, and the dollar equivalent Shopify computed.

Zoho Books and Zoho Inventory also have a base currency for your organization, but they treat each transaction's currency as a property of that transaction. A sales order or invoice in Zoho can be denominated in a foreign currency with its own exchange rate, and Zoho keeps your reporting consistent on top of that.

The mismatch is conceptual, not mechanical. Shopify hands over two amounts; Zoho can accept either; somebody has to choose which one is authoritative. That choice is exactly what Currency Mode exposes, instead of burying it in an exchange-rate calculation you cannot see.

Currency Mode: Shop Default vs Customer Presentment

The Currency Mode option on the Orders page decides what each synced order records:

  • Shop Default — every order is recorded in your store's base currency. This is the simplest option and the right one when you genuinely account in a single currency regardless of how customers pay. The presentment amount is effectively collapsed into your base-currency figure.
  • Customer Presentment — the order is recorded in the currency the customer actually paid in. For a true multi-currency store this keeps Zoho aligned with what really happened at checkout, because the order in your books reflects the customer's actual transaction rather than a converted estimate.

For most multi-currency merchants, presentment is the correct choice. The whole reason you enabled multiple currencies in Shopify was to charge customers in their own money; recording the order in that same currency keeps your books telling the same story as your checkout. Shop Default makes sense mainly for stores that show multiple currencies as a convenience at the storefront but think of everything internally in one base currency.

There is no universally right answer — it depends on how your finance team thinks about the business — but the principle is straightforward: choose the mode that matches how you reconcile. If your payouts and bank deposits arrive in customer currencies, presentment keeps the fewest manual adjustments between Shopify, Zoho, and your bank.

How currency fits the rest of order sync

Currency mode is one knob on a larger panel. It does not work in isolation; it sits alongside the rest of your order sync settings, and a multi-currency order still carries its full detail into Zoho regardless of which currency it is recorded in.

  • Record Type — you choose whether each order becomes a Sales Order or an Invoice in Zoho. Currency mode applies to either. If you are unsure which to use, Sales Order vs Invoice walks through the trade-offs.
  • Line items, discounts, and shipping — these all carry across, denominated in whichever currency the mode selects, so the order total in Zoho ties back to the order total in Shopify.
  • Tax — handled by automatic rate matching. Zync matches the order's tax percentage to an existing Zoho tax and creates one if none exists; it is not a manual mapping screen. Currency does not change this — a 20% VAT line on a euro order still matches a 20% Zoho tax. See how Shopify taxes sync to Zoho and the tax mapping overview.
  • Customer — the matched contact is de-duplicated by email before the order posts, so multi-currency orders from a repeat customer attach to one Zoho contact rather than creating a new one each time.
  • Tags and notes — carried across when those toggles are enabled.

The filters matter for multi-currency too. The Payment Status, Fulfillment Status, and Order Source filters decide *which* orders sync — they are selection tools, not data written back to Zoho. Use them to keep test orders, unpaid orders, or POS orders out of your books while you are validating currency behavior.

Region and organization considerations

Multi-currency selling often goes hand in hand with operating across regions, and that makes your Zoho region and organization choices part of getting currency right.

Zync connects via Zoho OAuth — there is no Zoho-side plugin or module to install — and it supports every Zoho data center: India (.in), US (.com), EU (.eu), Australia (.com.au), and Japan (.jp). When you connect, set the Accounts Domain and API Domain to match the data center your Zoho account lives in. Pointing at the wrong region is one of the most common reasons a connection fails to authorize.

Once authorized, Zync auto-detects the organizations available on that account and lets you select one. If you run separate Zoho organizations — for example, one per legal entity or per market — confirm you have selected the correct one before you sync, because each organization has its own base currency and its own books. An order posting to the wrong organization will not only land in the wrong ledger, it may be recorded against a different base currency than you intended. The accounting sync overview covers how orders flow into Books once the organization is set.

A recommended multi-currency configuration

For a clean multi-currency setup, configure in this order:

1. Connect to the right region. Match Accounts Domain and API Domain to your Zoho data center, then authorize. 2. Select the correct organization. Verify the chosen organization's base currency is the one you expect to reconcile against. 3. Set Currency Mode to Customer Presentment. This records each order in the currency the customer was actually charged. 4. Choose your Record Type — Sales Order or Invoice — to match your accounting workflow. 5. Set your filters. Use Payment Status (and Invoice Policy, all vs paid-only) to keep unpaid or test orders out, and Order Source to exclude channels you do not want in Zoho yet. 6. Confirm tax is enabled so the automatic rate matching records the right tax line per order.

With those in place, multi-currency orders reconcile cleanly instead of fighting your books.

Reconciliation: keeping books aligned with payouts

Reconciliation is where currency decisions are tested. The honest framing is this: your goal is for what Zoho records to line up with what your payment provider actually deposits, with as few manual adjustments as possible.

When orders are recorded in the customer's presentment currency, the order amount in Zoho matches what the customer was charged, which is the same figure your processor settles against. That alignment is what makes a clean reconciliation possible. It does not eliminate every difference — processor fees, settlement-timing exchange rates, and rounding still exist, and those are accounted for inside Zoho the same way they would be for any foreign-currency transaction. But it removes the largest and most avoidable source of drift: recording the order in a different currency than the one it was paid in.

Zync's job here is to get the order into Zoho faithfully and without duplicates. Each synced order is linked to its Zoho record, and orders that have already synced are skipped, so retries and resyncs never create a second copy to reconcile. There is no separate reconciliation screen inside Zync — reconciliation itself happens in Zoho against your payouts, and Zync's contribution is making sure the source data is correct and recorded once.

Reliability for multi-currency orders

Currency handling is only useful if every order actually arrives. Zync processes order syncs through a Redis/BullMQ queue with retries — up to three attempts with exponential backoff — and writes are idempotent, meaning a retried write produces the same single record rather than a duplicate. Real-time syncing is driven by webhooks, with scheduled and manual options available.

For multi-currency stores this reliability is worth calling out because a failed-and-retried order is exactly the kind of event that produces duplicates in a naive integration — and duplicates are doubly painful when each copy carries a currency amount you then have to reconcile. Because Zync links and skips already-synced orders, a transient failure on a euro or yen order resolves on retry without polluting your books.

What to test before you turn it on

Do not switch a live multi-currency store over blind. Run a controlled test first:

  • Sync one order per currency you sell in, and open each in Zoho.
  • Confirm the recorded currency matches the customer's presentment currency (when using presentment mode).
  • Confirm the order total in Zoho ties back to the Shopify order total for that currency.
  • Check that line items, discounts, and shipping all appear and add up.
  • Confirm the tax line matched (or created) the correct Zoho tax rate.
  • Verify the order posted to the correct Zoho organization.
  • Resync one of the test orders and confirm no duplicate is created.

Once a representative order in each currency looks right, you can enable Auto Sync with confidence.

Common mistakes

  • Choosing Shop Default for a true multi-currency store. It collapses every order into your base currency and makes payout reconciliation harder than it needs to be.
  • Authorizing against the wrong data center. If your Accounts Domain and API Domain do not match your Zoho region, the connection will not work.
  • Posting to the wrong organization. With multiple organizations, an order can land in the wrong books — and possibly the wrong base currency — if the selection is not verified.
  • Expecting refund documents. Zync does not create credit notes for refunded orders; use the payment-status filter to control which orders sync and handle refunds inside Zoho.
  • Skipping the per-currency test. Assuming all currencies behave like your base currency without actually checking one order each.
  • Forgetting tax. Disabling tax sync and then wondering why totals do not match the customer's charge.

How to tell it's working

After go-live, spot-check across currencies rather than only your base currency. Pick a recent order in each currency and confirm the Zoho record's currency, total, tax, and line items match Shopify. Periodically compare a batch of synced orders against your payout statements — when presentment mode is set correctly, the order currencies will line up with your deposits, and the only differences should be the expected processor fees and settlement-rate effects. If totals match and no duplicates appear after retries, the configuration is doing its job.

Final recommendation

For nearly every store that genuinely sells in more than one currency, set Currency Mode to Customer Presentment, connect to the correct Zoho region, and confirm the right organization before you sync. That combination records each order in the currency it was actually paid in, keeps tax and line-item detail intact, and gives you the cleanest possible reconciliation against your payouts.

If you are still deciding how to record orders overall, start with the order sync overview and Sales Order vs Invoice. If you are still evaluating tools, choosing a Shopify-Zoho connector lays out what to look for. Multi-currency support should be explicit and predictable — not a hidden conversion you have to reverse-engineer at month end.

TopicsMulti-CurrencyOrder SyncZoho BooksPresentmentReconciliationTax
FAQ

Common questions

Can Zync handle multi-currency Shopify orders?
Yes. The Currency Mode setting lets each order use either your store's base currency (Shop Default) or the currency the customer actually paid in (Customer Presentment).
Which currency mode should a multi-currency store use?
Customer Presentment, in most cases. It records the order in the currency the customer was actually charged, which keeps your Zoho books aligned with what happened at checkout.
Does this work across Zoho regions?
Yes. Zync supports Zoho's India (.in), US (.com), EU (.eu), Australia (.com.au), and Japan (.jp) data centers, and connects to whichever organization you select after authorizing.
Does currency mode change how tax is recorded?
No. Tax is handled by automatic rate matching regardless of currency — Zync matches the order's tax percentage to an existing Zoho tax and creates one if none exists. Currency mode only controls which currency the order amounts are recorded in.
Will syncing a multi-currency order create a duplicate if I re-run it?
No. Zync links each synced order to its Zoho record and skips orders that have already been synced, so resyncing or retrying a multi-currency order is safe.
Can Zync create credit notes for refunded multi-currency orders?
No. Zync does not create credit notes or refund documents in Zoho. You can use the payment-status filter to control whether refunded orders sync, but refund accounting is handled inside Zoho.

Connect Shopify and Zoho in an afternoon

Start a free trial, connect your Zoho org, and bulk-sync your catalog the same day. No engineering required.