TL;DR
Shopify's multi-currency reports record revenue using the checkout rate (the exchange rate locked in when the customer pays), not the settlement rate (the rate actually applied when the payout lands in your bank account one to three business days later). For example, a customer paying €100 might show as $110 in Shopify's dashboard at checkout, but settle for $107 once the payout posts — a gap driven entirely by exchange-rate movement between those two moments.
On top of that spread, Shopify Payments deducts a currency conversion fee from the payout that never shows up in order-level revenue or margin figures. Neither gap is visible inside Shopify's native reports. The only reliable fix is to export raw order and payout data, join them by transaction ID, and recalculate revenue and margin using the actual settlement amount.
When you enable Shopify Payments' multi-currency feature, your store can accept payments in dozens of currencies while you settle in your home currency. That's a real advantage for reaching international customers — but it also introduces a reporting gap that most merchants never notice until they reconcile against their bank statement. This article explains why the default numbers can mislead, how to correct them, and what to watch for when you need auditable financials.
Quick Answer
- Shopify's Analytics and order exports record revenue at the checkout rate, the exchange rate shown to the customer at purchase.
- Your actual bank deposit uses the settlement rate, applied when the payout is converted into your home currency, typically 1–3 business days later.
- Shopify Payments also charges a currency conversion fee on multi-currency transactions, deducted from the payout but not reflected in order-level margin reports.
- Payout reports are grouped by payout date, not order date, so there's no built-in way to map a payout back to the order's original checkout rate.
- To get accurate figures, export orders and payouts as CSV, join them by transaction ID, and recompute revenue and margin using the settlement amount.
The Core Problem: Two Different Exchange Rates
Shopify's multi-currency system uses two separate exchange rates for every transaction:
- The checkout rate – the rate displayed to the customer at the moment of purchase, locked in by Shopify Payments.
- The settlement rate – the rate at which the funds are actually converted into your home currency when the payout arrives, typically one to three business days later.
The default reports in Shopify's admin — including the Analytics dashboard, the Finance reports, and the exported CSV files — record revenue using the checkout rate. But your bank deposit, your cost of goods sold (COGS), and your actual margin are all based on the settlement rate. Because exchange rates move continuously, the gap between the two can widen or narrow from one order to the next, and it widens further during periods of unusual currency volatility.
Direct answer: The mismatch exists because Shopify records revenue once, at checkout, and never revises it when the payout settles at a different rate — so any FX movement between those two events becomes an invisible reporting error.
Why Default Shopify Reports Are Misleading
1. Revenue Is Recorded at the Checkout Rate, Not the Settlement Rate
Shopify's orders export and the Analytics "Total Sales" metric use the exchange rate that was locked at checkout. This is the rate the customer saw, but it is not the rate at which you actually get paid. If the exchange rate moves against you between checkout and settlement, your reported revenue is higher than your actual bank deposit.
Example:
- Customer pays €100.00.
- Checkout rate: 1 EUR = 1.10 USD → reported revenue = $110.00.
- Settlement rate (2 days later): 1 EUR = 1.07 USD → actual deposit = $107.00.
- Default report says $110.00; bank says $107.00 — a $3.00 gap on this one order.
2. Margin Calculations Use the Wrong COGS Basis
If you buy inventory in USD (your home currency) but sell in EUR, your COGS is fixed in USD. The default margin calculation in Shopify divides (revenue at checkout rate − COGS) by revenue at checkout rate. But the real margin should use the actual settlement revenue. The result: your dashboard shows a margin that is consistently too high when the home currency weakens, and too low when it strengthens.
3. Payout Reports Are Not Linked to Orders
Shopify's Payout reports show the actual settlement amounts, but they are aggregated by payout date, not by order date. There is no built-in way to map a specific payout line item back to the original order's checkout rate. This makes it difficult to reconcile revenue without manual work or a third-party app.
4. Currency Conversion Fees Are Hidden
Shopify Payments charges a currency conversion fee on multi-currency transactions — commonly cited at around 1.5% for US-based stores, with different rates in other regions (check your admin's payment terms for the exact figure, since Shopify has adjusted how this fee is calculated over time). This fee is deducted from the payout, but it is not reflected in the order-level revenue or margin reports. If you're not tracking it separately, your reported margin is overstated by roughly the size of that fee on every multi-currency sale.
Key Metrics That Are Affected
| Metric | What Default Report Shows | What Actually Matters |
|---|---|---|
| Gross Revenue | Checkout-rate amount | Settlement-rate amount |
| Net Revenue | Checkout-rate amount minus discounts | Settlement amount minus conversion fees |
| Gross Margin | (Checkout revenue − COGS) / Checkout revenue | (Settlement revenue − COGS) / Settlement revenue |
| Average Order Value | Checkout-rate AOV | Settlement-rate AOV |
| Refund Rate | Refund at checkout rate | Refund at settlement rate (often different) |
The size of the gap between these two columns depends on how much the currency pair moves between checkout and settlement, and on transaction volume in foreign currencies. For stores with meaningful multi-currency sales, even a small persistent bias can be the difference between a category that looks profitable and one that isn't.
How to Build Accurate Multi-Currency Reports (Step-by-Step)
Direct answer: You cannot fix this inside Shopify's native reports. You need to pull raw order and payout data and recalculate revenue using the settlement rate.
Step 1: Export Raw Order and Payout Data
From your Shopify admin, go to Orders > Export. Choose "All orders" and export as CSV. Do the same for Finances > Payouts > Export. You need both files because the payout file contains the actual settlement amounts.
Step 2: Join Orders to Payouts Using Transaction IDs
Shopify does not include a direct order-to-payout link in the exports. However, each payout line item includes a transaction ID that corresponds to a transaction on the order. You can match them using the following logic:
- In the payout CSV, the "Transaction ID" column holds the Shopify transaction ID (e.g.,
txn_abc123). - In the orders CSV, expand the "Transactions" column (it's a JSON array) and extract the
idof the successfulsaletransaction.
This join can be done with a script (Python, Node, or similar) or directly in Google Sheets using QUERY and SPLIT functions. The goal is a lookup table that maps each order ID to its corresponding payout line.
Step 3: Calculate the Settlement Rate for Each Order
Once you have the order's checkout amount (in customer currency) and the actual settlement amount (in your home currency), compute the effective settlement rate:
Settlement Rate = Settlement Amount (home currency) / Checkout Amount (customer currency)
Compare this to the checkout rate (which is checkout_amount_home / checkout_amount_customer). The difference is your currency exposure on that order.
Step 4: Recalculate Revenue and Margin
Replace the checkout-rate revenue with the settlement-rate revenue, then recalculate gross margin:
True Gross Margin = (Settlement Revenue − COGS) / Settlement Revenue
COGS should be in your home currency and should include landed cost (shipping, duties, etc.) if applicable.
Step 5: Add the Conversion Fee
If you use the settlement amount from the payout CSV, the conversion fee is typically already deducted and baked into that figure. If instead you start from checkout-rate revenue and subtract a fee manually, be careful not to double-count it once you also switch to the settlement amount.
Step 6: Build a Dashboard (or Use an App)
A reconciliation workflow like the one above can be automated in Google Sheets with IMPORTRANGE and QUERY, or in Excel with Power Query. For larger stores, dedicated tools such as Triple Whale or Polar Analytics offer native multi-currency reporting, and accounting-focused connectors such as A2X or Finaloop can push reconciled, settlement-based figures directly into QuickBooks or Xero.
Advanced Considerations
Tax Reporting
If you collect VAT or sales tax in multiple currencies, tax authorities generally expect the liability to be based on the rate at the time of sale (the checkout rate), not the settlement rate. This creates a permanent, structural difference between your book revenue (settlement-based, for accuracy) and your tax revenue (checkout-based, for compliance). Maintaining a reconciliation schedule between the two is standard practice for finance teams handling multi-currency sales — consult an accountant familiar with your jurisdiction for the specifics.
Refunds
Direct answer: Refunds in a foreign currency are converted at the exchange rate active at the time of the refund, not the original checkout rate, so the cost of a refund can differ from the revenue originally recorded — and Shopify's default reports don't flag this difference.
Multi-Currency with Third-Party Payment Gateways
If you use a gateway other than Shopify Payments (e.g., Stripe, PayPal), multi-currency reporting gets harder, not easier. Those gateways send settlement data separately, and Shopify has no built-in way to reconcile them. You typically need to pull data from each gateway's dashboard and match it against orders manually. For Stripe specifically, balance transactions can be exported via the Stripe API and joined to orders on the charge_id field.
GA4 and Multi-Currency
Google Analytics 4 records revenue in the currency you send via the currency parameter. If you send the customer's currency (e.g., EUR), GA4 converts it to your reporting currency using Google's own exchange rate — which differs from both Shopify's checkout rate and the settlement rate. That produces a third, separate set of revenue numbers. Sending ecommerce events in your home currency using the settlement rate (which requires a server-side implementation) avoids introducing this additional discrepancy.
Frequently Asked Questions
Direct answer: The fastest way to spot whether this gap affects your store is to compare your Shopify Analytics "Total Sales" for a period against the actual settlement amounts in your bank deposits for that same period — any persistent difference is the checkout-vs-settlement gap described above, not a bookkeeping error.
Why doesn't Shopify fix this natively?
Shopify has described the checkout rate as the rate the customer agreed to, and changing the recorded rate after the fact would complicate historical order records and tax calculations. As of this writing, Shopify's native reports continue to show revenue at the checkout rate, so merchants who need settlement-accurate figures need to build their own reconciliation process or use a third-party tool.
Do I need to worry about this if I only sell in USD?
No. If your store currency and settlement currency are the same, there is no conversion. The problem only arises when you accept payments in a currency different from your payout currency.
Can I use an app to automatically reconcile multi-currency?
Yes. A2X and Finaloop are widely used for multi-currency reconciliation. They pull payout data from Shopify Payments, match it to orders, and push settlement-based amounts to accounting software such as QuickBooks or Xero, generally accounting for the conversion fee along the way. A2X tends to offer more manual configuration, while Finaloop leans toward full automation — evaluate both against your own workflow before choosing.
How often should I reconcile?
At minimum, monthly, and ideally after every payout cycle, since currency movement compounds over time. Stores with substantial foreign-currency sales volume may benefit from reconciling weekly to catch discrepancies sooner.
What about Shopify Markets?
Shopify Markets lets you set different prices per market, but it doesn't change how the underlying multi-currency reporting works — revenue is still recorded at the checkout rate. Because Markets can involve different checkout rates across markets on the same day, it can make manual reconciliation more complex, not less.
Is the currency conversion fee negotiable?
For most Shopify plans, the currency conversion fee is a fixed part of Shopify Payments' terms and is deducted automatically from the payout — it isn't something merchants can turn off. The exact rate can vary by plan and region, so check your store's payment terms in Settings > Payments for the figure that applies to you.
Sources
- Shopify Help Center, "Multi-currency overview"
- Shopify Help Center, "Payout reports"
- Shopify Help Center, "Currency conversion fee calculation for Shopify Payments orders"
- Financial Accounting Standards Board (FASB), ASC 830 – Foreign Currency Matters
- Internal Revenue Service, "Foreign Currency and Currency Exchange"
- Google Analytics 4, "Currency handling"
- A2X, "Multi-currency reconciliation for Shopify"
- Finaloop, "Automated multi-currency accounting"
Key takeaway: Shopify's multi-currency reports show revenue at the checkout rate, not the settlement rate, and the currency conversion fee is deducted from the payout without appearing in order-level margin figures. To get accurate numbers, export order and payout data, join them by transaction ID, and recalculate revenue and margin using the actual settlement amount. For stores with meaningful multi-currency volume, a reconciliation app like A2X or Finaloop is often worth the investment over building and maintaining a manual process.
Evidence and scope
Review date: 2026-09-10.
Reproducible use. Use the framework with a defined audience, source data, and review date; test material recommendations against your own evidence before making a production or buying decision.
Limit. This article is educational guidance, not legal, financial, security, or performance assurance.



