Stripe Multicurrency in QuickBooks: Why Payouts Don't Match
A cross-currency Stripe sale passes through three exchange rates from three different sources. Here is where each rate comes from, what Stripe's 1%...
You invoiced a customer for 1,000.00 EUR. QuickBooks says the sale was 1,085.00 USD. Stripe deposited 1,041.74 USD. Nothing ties out, your Stripe clearing account is stuck at a non-zero balance, and the difference is not a round number you can explain away as fees.
The gap is real and it has a specific cause. Three different exchange rates touched that one sale, applied at three different moments by three different systems. Until you know which rate each system used and when it locked, multicurrency reconciliation stays guesswork.
This walks through where each rate comes from, what Stripe's conversion actually costs, how to book the difference, and how to stop the problem at the source. If you would rather not do this per payout by hand, Acodei syncs Stripe into QuickBooks with the currency conversion and fee detail already separated.
The short answer: three rates, three moments
One cross-currency Stripe sale passes through three independent conversions:
- The rate QuickBooks used when you recorded the sale. QuickBooks Online pulls its own rate table and applies the rate for the transaction date on the invoice or sales receipt.
- The rate Stripe used when the charge settled into your balance. Stripe converts the charge into your settlement currency and locks that rate on the balance transaction, with its currency conversion fee already baked in.
- The rate applied when the payout lands. By this point the money is already in your settlement currency, so the payout itself does not re-convert. But if your QuickBooks bank account is a foreign currency account, QuickBooks revalues again on the deposit date.
Rates 1 and 2 are the ones that bite. They come from different sources, they are pulled at different times, and one of them includes a fee. They will not match, and no amount of re-syncing will make them match. The difference belongs in your books as an exchange gain or loss, not as an unexplained variance.
Where Stripe converts the money and when the rate locks
If the charge currency differs from your settlement currency, Stripe converts the charge into your settlement currency. The conversion is not deferred to payout time. It happens when the charge settles into your Stripe balance, and the rate is recorded on that charge's balance transaction.
Per Stripe's published pricing, conversion costs an additional 1% when currency conversion is required. That 1% is not a separate line item on your payout. It is absorbed into the rate Stripe quotes you, which is why the rate on your balance transaction always looks slightly worse than the mid-market rate you see on a currency site.
Reading the exchange rate on a balance transaction
Every Stripe balance transaction carries an exchange_rate field. Stripe's API reference defines it precisely: if money converts from currency A to currency B, then the amount in currency A multiplied by the exchange_rate equals the amount in currency B. Their own example: charge a customer 10.00 EUR, and if that converts to 12.34 USD in your account, the balance transaction amount is 1234, its currency is usd, and the exchange_rate is 1.234.
This matters for a practical reason. On the balance transaction, amount, fee, and net are all expressed in the settlement currency, not the currency the customer paid in. So the fee you see is already a USD number. You are not converting it yourself.
To pull the rate for a specific payout: open the Stripe Dashboard, go to Balances, click the payout, then download the itemized report. The export includes the presentment amount, the settlement amount, and the rate used per transaction. That export is the source of truth for the journal entry, not the payout total on your bank statement.
Why QuickBooks disagrees
QuickBooks Online Multicurrency maintains its own rate table. Per Intuit's Multicurrency documentation, rates come from IHS Markit and refresh automatically every four hours. You can override any rate manually on an individual transaction.
Two consequences follow. First, QuickBooks is using a mid-market rate from a data vendor, while Stripe is using its own rate with a 1% conversion fee inside it. Those are structurally different numbers, not a sync bug. Second, a rate that refreshes every four hours means the rate QuickBooks stamped on a 9:15am invoice can differ from the one it would stamp at 2:00pm the same day.
Two setup facts are worth knowing before you turn Multicurrency on, because both are permanent:
- Multicurrency cannot be turned off once enabled. Intuit's documentation is explicit: currency conversion information has to be accounted for in the system from that point forward.
- The home currency cannot be changed after enabling. Set it correctly first.
QuickBooks creates an Exchange Gain or Loss account automatically when you enable Multicurrency. That account is where the difference between rates lands once a transaction completes.
A worked example: 1,000.00 EUR settling to USD
Assume a US business whose Stripe account settles in USD, selling in EUR, on Stripe's published US pricing of 2.9% + $0.30. Assume QuickBooks stamped the invoice at 1.0850 and Stripe's baseline rate for that balance transaction was 1.0840.
| Step | Calculation | Amount |
|---|---|---|
| Sale recorded in QuickBooks | 1,000.00 EUR at 1.0850 | 1,085.00 USD |
| Stripe converts at baseline | 1,000.00 EUR at 1.0840 | 1,084.00 USD |
| Stripe 1% conversion fee | 1% of 1,084.00 | (10.84) USD |
| Gross in Stripe balance | effective rate 1.07316 | 1,073.16 USD |
| Processing fee | 2.9% of 1,073.16 + 0.30 | (31.42) USD |
| Net deposited | 1,041.74 USD |
The variance against QuickBooks is 1,085.00 minus 1,073.16, which is 11.84 USD. It decomposes cleanly:
- 10.84 USD is Stripe's 1% currency conversion fee.
- 1.00 USD is genuine rate drift between IHS Markit at invoice time and Stripe's rate at settlement.
That decomposition is the whole answer. Most of what looks like an exchange rate mystery is a disclosed fee, and the actual rate drift is usually small. If your variance is dramatically larger than 1% of the sale, the cause is something else: a duplicate, a refund landing in the same payout, or an international card fee. Stripe's US pricing adds a fee for cards issued outside the US, so check the pricing page for the rates that apply to your account rather than assuming the domestic rate.
Recording the gap: where the FX difference belongs
With a Stripe clearing account holding the recorded sale, the entry to clear one payout looks like this:
| Account | Debit | Credit |
|---|---|---|
| Business Checking | 1,041.74 | |
| Stripe Fees (expense) | 31.42 | |
| Exchange Gain or Loss | 11.84 | |
| Stripe Clearing | 1,085.00 |
The clearing account returns to zero for that sale, which is the test that the entry is right. If your clearing account does not zero out across a full period, our guide on setting up a Stripe clearing account and keeping it at zero walks through the usual causes.
One judgment call: the 11.84 above lumps the 1% conversion fee together with the rate drift. Some businesses prefer to split it, booking the 10.84 conversion fee to Stripe Fees alongside the processing fee and leaving only the 1.00 of true drift in Exchange Gain or Loss. That reads better on a fee analysis, because the conversion fee is a cost of using Stripe rather than a currency movement. Both treatments are defensible and both keep the clearing account at zero. Presentation of foreign exchange differences and processor fees varies by jurisdiction and by the basis your books are kept on, so agree the policy with your accountant once and then apply it consistently.
For the mechanics of splitting fees out of net Stripe deposits generally, see our walkthrough on reconciling Stripe fees in QuickBooks Online.
Two ways to stop fighting the rates
Option A: settle in the currency you sell in. Stripe supports multi-currency settlement, which lets your account accrue balances and pay out in additional currencies without incurring foreign exchange fees. You accept payments in that currency, attach a bank account for it, and meet the minimum payout amount. Your EUR sales then land as EUR in a EUR bank account, and if you add a matching EUR bank account in QuickBooks, rate 2 disappears from the problem entirely.
The tradeoff is operational. You are now running a foreign currency bank account, QuickBooks revalues its balance, and you still get unrealized gains and losses on the balance sheet. You have moved the FX from the income statement to the balance sheet rather than eliminated it.
Option B: keep one settlement currency and book the difference per payout. Simpler banking, and the FX difference is recognized as it is realised on each payout. This is the right default for most businesses whose foreign currency volume is a minority of revenue.
A rough decision rule: if a currency is a durable, material share of revenue and you have real expenses in it, settle in it. If it is occasional, keep one settlement currency and book the gap. Either way, decide deliberately rather than inheriting whatever Stripe defaulted to.
When a multicurrency payout still will not reconcile
Work these in order:
- Pull the itemized payout export, not the summary. The payout total cannot tell you which transactions converted at which rate.
- Check for refunds inside the payout. A refund of a cross-currency charge converts at its own rate on its own date, so it will not reverse the original sale to the cent. Our post on negative Stripe payouts covers the case where refunds exceed sales for a period.
- Confirm the invoice rate QuickBooks actually used. Open the transaction and look at the rate on it. A manual override someone entered weeks ago is easy to miss.
- Look for international card fees. These are separate from conversion and apply based on where the card was issued, not the currency.
- Verify the settlement currency on the Stripe account. Businesses that added a second settlement currency mid-year often have payouts on both sides of the change.
- Reconcile a single payout end to end before reconciling a month. If one payout does not tie, a month never will.
For the wider close process this sits inside, our month-end close checklist for Stripe and QuickBooks sequences these steps against the rest of the close. The complete Stripe payout reconciliation guide covers the single-currency case in more depth.
Frequently Asked Questions
Why is the exchange rate on my Stripe payout worse than the rate I looked up?
Because Stripe's 1% currency conversion fee is built into the rate it quotes rather than shown as a separate charge. A rate that looks roughly 1% off the mid-market rate is the fee, not an error. The rate Stripe actually used is on the balance transaction and in the itemized payout export.
Should the currency conversion fee go to Exchange Gain or Loss or to Stripe Fees?
Either works, provided you are consistent. Booking it to Stripe Fees reflects that it is a cost of processing rather than a currency movement, and it keeps your fee reporting complete. Booking it to Exchange Gain or Loss is simpler because you do not have to decompose the variance. Confirm the choice with your accountant.
Does QuickBooks Multicurrency use the rate on the invoice date or the payment date?
It applies the rate for the date of each transaction, so the invoice uses the invoice date and the payment uses the payment date. When those rates differ, QuickBooks posts the difference to Exchange Gain or Loss as the transaction completes. Rates refresh every four hours and can be overridden per transaction.
Can I turn QuickBooks Multicurrency off if I stop selling in other currencies?
No. Intuit's documentation states that once Multicurrency is on it cannot be turned off, and the home currency cannot be changed after it is enabled. Decide before you switch it on.
Will syncing more often make the rates match?
No. The two rates come from different sources and one contains a fee, so they are structurally different numbers. Sync frequency does not change that. The goal is to record the difference correctly and consistently, not to eliminate it.
Getting this out of your manual close
None of this is hard once per payout. It is hard forty times per month, across two currencies, with refunds landing in the wrong period.
Acodei populates the QuickBooks Exchange Rate field with Stripe's actual rate at payment time instead of letting QuickBooks substitute its own daily rate, which removes the largest source of the drift described above. The Invoice Multicurrency option goes further: it creates the QuickBooks invoice in the same currency as the Stripe invoice, then applies the rate at payment, refund, or payout time. Where Stripe does not supply a rate, QuickBooks daily rates are used instead.
Two setup notes matter specifically for multicurrency. QuickBooks Multicurrency has to be turned on, with the home currency chosen before you begin, because that choice is permanent. And do not use Undeposited Funds as your holding account: on multicurrency accounts it causes exchange rate calculation errors and duplicate customer records. Use a dedicated Stripe clearing account instead.
See how Acodei handles Stripe to QuickBooks sync, our currency conversion and multicurrency documentation, or compare plans on our pricing page.
Automate your Stripe to QuickBooks sync
Save hours every month. Acodei automatically syncs your Stripe transactions, invoices, and payouts to QuickBooks Online.
How Acodei handles this in your stack
Stripe to QuickBooks Integration
Automatically sync Stripe payments, fees, refunds, and payouts to QuickBooks Online. Real-time, accurate, and audit-ready — no manual exports, no spreadsheets.
Advanced Product Mapping
Map Stripe products to QuickBooks with rule-based logic on product ID, price ID, metadata, and account. Set rule priority and extend mapping to refunds and fees.
Automated Invoice Sync
Bring Stripe invoices into QuickBooks and auto-apply payments and credit memos, with numbering, invoice matching, and quantity tracking to cut double-entry.
Multi-Currency Mastery
Sync Stripe transactions across currencies with automatic exchange rate handling from Stripe or QuickBooks, currency-specific customer records, and invoice-level multicurrency for global sellers.
Class Mapping
Map Stripe products to QuickBooks classes for scalable categorization and multi-entity reporting, enabling precise insights without manual effort.
Historical Data Import
Backfill historical Stripe data into QuickBooks by month range. Preview volume and cost before syncing so reporting starts from a complete baseline.
How to Connect Stripe to QuickBooks Online
Connect Stripe to QuickBooks Online in minutes. Acodei links both accounts with secure OAuth and starts syncing payments, fees, refunds, and payouts automatically — no CSV exports, no manual entry.
Reconcile Stripe Payments in QuickBooks
Reconcile Stripe in QuickBooks Online automatically. Acodei splits out Stripe fees, matches payouts to bank deposits, and keeps every charge, refund, and dispute audit-ready — no spreadsheets.
Related articles
Acodei Journal
Negative Stripe Payout in QuickBooks: How to Record It
Acodei Content Team
Negative Stripe Payout in QuickBooks: How to Record It
7/26/2026
Acodei Journal
Stripe Tax in QuickBooks Online: Recording Sales Tax
Acodei Content Team
Stripe Tax in QuickBooks Online: Recording Sales Tax
7/25/2026
Acodei Journal
Stripe QuickBooks Month End Close: A Step-by-Step Checklist
Acodei Content Team
Stripe QuickBooks Month End Close: A Step-by-Step Checklist
7/25/2026
Get more operational finance guides like this one
We will only send high-value product and finance content.