How do I reconcile Stripe payouts across multiple currencies in NetSuite?
Reconcile each currency's payouts separately, against a bank account held in that currency, rather than converting to base currency up front. Stripe settles each currency independently, and NetSuite needs the transaction-currency amount preserved so its own revaluation, not a manual conversion, produces the base-currency gain or loss.
Part of the payment reconciliation and cash application guide.
| Rule of thumb | One bank account per settlement currency, matched separately |
|---|---|
| Where conversion happens | NetSuite's currency revaluation, not a manual pre-conversion |
| Common failure mode | Converting to base currency before matching, which breaks the transaction-currency link |
| Gain/loss account | Realized and unrealized exchange rate gain/loss, per NetSuite's multi-currency setup |
Why single-currency reconciliation logic breaks here
Stripe settles payouts in the currency the charge was processed in, not automatically converted to your company's reporting currency. A US company accepting EUR and GBP payments gets separate EUR and GBP payouts, each needing its own bank account (real or virtual) in NetSuite to land in. If those payouts get converted to USD before they're matched against invoices, the link between the original transaction-currency amount and the invoice is lost, and NetSuite's own currency revaluation — which is what's supposed to calculate the realized gain or loss — has nothing correct left to revalue.
The correct sequence
Match each payout, in its native currency, against invoices booked in that same currency. Let the payout post to a bank account (or bank sub-account) held in that currency. Only at period end does NetSuite's currency revaluation process convert the ending balance to base currency and post the resulting gain or loss — that revaluation step is where currency movement is supposed to be recognized, not earlier in the matching process.
Next step
Map the finance workflow with the most exposure and prove the automation path.
Bring the invoice, contract, payment reconciliation, or customer finance workflow you have to defend at audit. Loopfour can map the trigger, controls, integrations, and approval loop.
Field mapping
Multi-currency Stripe-to-NetSuite field mapping
| Stripe field | NetSuite field | Notes |
|---|---|---|
| Payout currency | Bank account currency | Must match; do not convert before posting |
| Charge amount (transaction currency) | Customer payment (transaction currency) | Applied against the invoice in the same currency |
| Period-end balance | Currency revaluation | Converts to base currency; posts realized/unrealized gain or loss |
| Stripe fee (transaction currency) | Processing fee expense (transaction currency) | Also revalued at period end alongside the bank balance |
Frequently Asked Questions
Sources
Related
Topic
Payment Reconciliation & Cash Application
Payment reconciliation is the process of proving that every dollar that hit your bank account is accounted for somewhere in your books — matched to a deposit, a payout, an invoice, or an explained var…
Read moreIntegration
Why don't my Stripe payouts tie to the NetSuite bank deposit?
A Stripe payout rarely equals one NetSuite deposit line: Stripe nets many charges, fees, and refunds into one transfer settled days later. Check, in order: the payout isn't unbundled into individual charges, the deposit date doesn't match the transaction date, fees are netted not booked separately, a partial capture created a variance, or the payout is still in Undeposited Funds.
Read moreHow-to
How do I do a three-way match between Stripe, the GL, and the bank statement?
A three-way match ties three sources together for every payout: Stripe's own payout report (the individual charges, fees, and refunds), the general ledger entries booked for that payout, and the bank statement line showing the cash actually landing. Start from the bank statement, trace each deposit to a Stripe payout ID, then trace that payout's itemized report to the GL entries booked against it.
Read more