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%...

Acodei Content Team · 7/26/2026 · 11 min read

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:

  1. 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.
  2. 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.
  3. 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.

StepCalculationAmount
Sale recorded in QuickBooks1,000.00 EUR at 1.08501,085.00 USD
Stripe converts at baseline1,000.00 EUR at 1.08401,084.00 USD
Stripe 1% conversion fee1% of 1,084.00(10.84) USD
Gross in Stripe balanceeffective rate 1.073161,073.16 USD
Processing fee2.9% of 1,073.16 + 0.30(31.42) USD
Net deposited1,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:

AccountDebitCredit
Business Checking1,041.74
Stripe Fees (expense)31.42
Exchange Gain or Loss11.84
Stripe Clearing1,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:

  1. Pull the itemized payout export, not the summary. The payout total cannot tell you which transactions converted at which rate.
  2. 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.
  3. 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.
  4. Look for international card fees. These are separate from conversion and apply based on where the card was issued, not the currency.
  5. 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.
  6. 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.

Share

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

Get more operational finance guides like this one

We will only send high-value product and finance content.