If you accept payments in multiple currencies through Stripe, getting that data into FreeAgent correctly is harder than it should be. FreeAgent's native Stripe integration only imports GBP transactions. Everything else is left out entirely.
Here's what your options are and how to get it right.
What FreeAgent's native integration does
FreeAgent has a built-in Stripe feed that imports transactions from your Stripe balance automatically. It's useful if you're only dealing with GBP, but it has a significant limitation: it only imports GBP transactions.
If you hold separate currency balances in Stripe (EUR, USD, etc.), those transactions never appear in FreeAgent. You'll need to record them manually.
Even if you convert everything to GBP and settle to a single balance, the native integration doesn't give you visibility into the original transaction currencies. A €500 charge that converted to £420 just shows up as £420. The euro amount is lost, and the currency conversion fee Stripe charged is buried in the noise.
The manual approach
Without automation, handling multi-currency Stripe payments means:
- Exporting transaction data from Stripe
- Identifying which transactions are in non-base currencies
- Looking up or calculating exchange rates for each
- Creating bank transactions in FreeAgent with the correct amounts
- Ensuring fees are recorded in the right currency
- Reconciling payouts across multiple currency balances
This is tedious for a handful of transactions and completely unworkable at scale. Most people either give up and accept inaccurate books, or spend hours every month on manual data entry.
How Stripe handles multi-currency
Before looking at solutions, it helps to understand how Stripe structures multi-currency payments.
Stripe gives you two options when you receive a payment in a foreign currency:
Option 1: Separate currency balances. You can hold balances in multiple currencies. EUR payments go to your EUR balance, USD to your USD balance, and so on. Each balance can be settled independently to a bank account in that currency.
Option 2: Automatic conversion. You can have Stripe convert foreign currency payments to your default currency (usually GBP) automatically. A €500 payment becomes £420 in your GBP balance. Stripe charges a currency conversion fee on top of the normal processing fee.
Either way, Stripe tracks everything through balance transactions: charges in, fees out, conversion fees, refunds, and payouts. Good accounting means recording all of these, not just the payouts.
The clearing account approach
The cleanest way to handle multi-currency Stripe payments is to create a separate clearing account in FreeAgent for each currency balance you hold in Stripe.
A clearing account is a bank account that represents your Stripe balance, not your actual bank account. It's where you record the individual charges, fees, and refunds before they're paid out.
With one clearing account per currency, you get:
- Accurate recording: Each transaction is recorded in its original currency
- Proper fee tracking: Fees are deducted from the correct currency balance
- Clear payout reconciliation: Payouts are simple transfers from clearing account to bank account
How ClearingHouse handles it
ClearingHouse takes the clearing account approach and automates it completely.
When you connect your Stripe account, ClearingHouse checks which currencies you hold balances in. For each one, it creates a corresponding clearing account in FreeAgent: "Stripe Clearing (GBP)", "Stripe Clearing (EUR)", "Stripe Clearing (USD)", and so on.
Every balance transaction from Stripe is then recorded in the correct clearing account:
- A €200 charge goes into the EUR clearing account as €200
- The €5 Stripe fee comes out of the EUR clearing account
- When Stripe pays out €195 to your EUR bank account, it's recorded as a transfer
If you add a new currency later, ClearingHouse creates a new clearing account automatically the first time it sees a transaction in that currency. You don't need to configure anything.
What this looks like in practice
Say you're a SaaS business with customers in the UK, Europe, and the US. You charge customers in their local currency to avoid foreign transaction fees and improve conversion rates.
Without proper multi-currency handling, your FreeAgent accounts show a jumble of GBP amounts that don't match your Stripe dashboard. Reconciliation is a nightmare. You're never quite sure if your revenue figures are right.
With ClearingHouse, each currency is tracked independently. Your GBP clearing account shows UK customer payments. Your USD clearing account shows US customer payments. Your EUR clearing account shows European customer payments.
Your P&L still reports in GBP (or whatever your base currency is), but the underlying transactions are recorded accurately in their original currencies. You can see exactly what you earned in each market.
Getting started
If you're already using ClearingHouse, multi-currency support is automatic. Connect your Stripe account and ClearingHouse will create clearing accounts for each currency you use.
If you're not using ClearingHouse yet, it takes a few minutes to set up. Connect your Stripe and FreeAgent accounts, and your multi-currency transactions will be recorded properly from that point forward.
Blog